I only did one 64-bit build with VS2015RC and I did not run into this crash.  
Please file another bug.  It’s definitely worth looking into.
My change to CSSPrimitiveValue.h in 
https://bugs.webkit.org/show_bug.cgi?id=146579 
<https://bugs.webkit.org/show_bug.cgi?id=146579> is a hack that should not be 
committed, but it’s sure nice to be able to link successfully while doing 
experimental work.

> On Jul 14, 2015, at 5:20 PM, Vienneau, Christopher <[email protected]> wrote:
> 
> Using the changes in the patch you provided, I made progress but I have some 
> observations to report:
> I didn’t find the changes in ConsoleClient.cpp to be necessary, actually with 
> my version of webkit they didn’t build as is, I removed them.  I think that 
> the change to CSSPrimitiveValue.h is actually the part I was missing to fix 
> the linking error.
>  
> When attempting to run with my test application I’m finding that most 
> websites, facebook.com <http://facebook.com/> for example, are crashing in 
> LowLevelInterpreterWin.asm code identified by LowLevelInterpreter.asm:476:
>   _offlineasm_doCall__177_loadConstantOrVariable__done:
>     cmp rbx, rcx                                             ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:1798
>     jne _offlineasm_doCall__opCallSlow
>     movsxd rbx, dword ptr [32 + r8 + rsi * 8]                ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:114
>    sal ebx, 3                                               ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:1800
>     neg rbx                                                  ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:1801
>     add rbx, rbp                                             ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:1802
>     mov qword ptr [24 + rbx], rcx                            ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:1803
>     movsxd rcx, dword ptr [24 + r8 + rsi * 8]                ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:114
>     mov dword ptr [36 + rbp], esi                            ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:1805
>     mov dword ptr [32 + rbx], ecx                            ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:1806
>     add rbx, 16                                              ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:1807
>     mov rsp, rbx                                             ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:472
>     call qword ptr [32 + rdx]                                ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:476
>     mov rcx, qword ptr [16 + rbp]                            ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:461
>     mov edi, dword ptr [56 + rcx]                            ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:449
>     sal rdi, 3                                               ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:450
>     add rdi, 64                                              ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:451
>     mov rsp, rbp                                             ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:456
>     sub rsp, rdi
>     mov esi, dword ptr [36 + rbp]                            ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:45
>     mov r8, qword ptr [16 + rbp]                             ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:46
>     mov r8, qword ptr [104 + r8]                             ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:47
>     movsxd rdx, dword ptr [8 + r8 + rsi * 8]                 ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:114
>     mov qword ptr [0 + rbp + rdx * 8], rax                   ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:49
>     mov rcx, qword ptr [64 + r8 + rsi * 8]                   ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint\LowLevelInterpreter.asm:118
>     mov qword ptr [16 + rcx], rax                            ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:491
>     add rsi, 9                                               ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:31
>     jmp qword ptr [0 + r8 + rsi * 8]                         ; 
> ..\..\JavaScriptCore\local\JavaScriptCore\llint/LowLevelInterpreter64.asm:27
>  
> I tried regenerating the asm files but still have the issue.  I expect that 
> some updates need to be done to the asm generator for vs2015.  Have you found 
> this issue too?  Or have any suggestion on how to correct the crash?
>  
> Chris
>  
> From: Vienneau, Christopher 
> Sent: Friday, July 10, 2015 4:36 PM
> To: 'Brent Fulgham'
> Cc: Webkit Development List
> Subject: RE: [webkit-dev] Compilation issue with VS2015RC
>  
> A brief look at your patch shows similar changes that I have done, I’ll 
> investigate the additional changes which seem to relate to the linker error.  
> I’ll keep my eye on this bug now.
>  
> Many Thanks
>  
> From: Brent Fulgham [mailto:[email protected] <mailto:[email protected]>] 
> Sent: Friday, July 10, 2015 4:30 PM
> To: Vienneau, Christopher
> Cc: Webkit Development List
> Subject: Re: [webkit-dev] Compilation issue with VS2015RC
>  
> Hi Chris,
>  
> We noticed the same thing. Please see 
> <https://bugs.webkit.org/show_bug.cgi?id=146579 
> <https://bugs.webkit.org/show_bug.cgi?id=146579>>, where we are discussing 
> how to move forward.
>  
> Thanks!
>  
> -Brent
>  
> On Jul 10, 2015, at 4:05 PM, Vienneau, Christopher <[email protected] 
> <mailto:[email protected]>> wrote:
>  
> Hello,
>  
> Recently we’ve been attempting to move our code base to build with VS2015 RC 
> since this provides us with some support that we’ll be needing in the future 
> for our products.  The changes for compilation with the new compiler haven’t 
> been too bad, and I have everything building with the exception of one line:
>  
> FILE: JSCSSValueCustom.cpp
> Line95:
> 67           JSValue toJS(ExecState*, JSDOMGlobalObject* globalObject, 
> CSSValue* value)
> 68           {
> 69               if (!value)
> 70                   return jsNull();
> 71           
> 72               // Scripts should only ever see cloned CSSValues, never the 
> internal ones.
> 73               ASSERT(value->isCSSOMSafe());
> 74           
> 75               // If we're here under erroneous circumstances, prefer 
> returning null over a potentially insecure value.
> 76               if (!value->isCSSOMSafe())
> 77                   return jsNull();
> 78           
> 79               JSObject* wrapper = getCachedWrapper(globalObject->world(), 
> value);
> 80           
> 81               if (wrapper)
> 82                   return wrapper;
> 83           
> 84               if (value->isWebKitCSSTransformValue())
> 85                   wrapper = CREATE_DOM_WRAPPER(globalObject, 
> WebKitCSSTransformValue, value);
> 86               else if (value->isWebKitCSSFilterValue())
> 87                   wrapper = CREATE_DOM_WRAPPER(globalObject, 
> WebKitCSSFilterValue, value);
> 88               else if (value->isValueList())
> 89                   wrapper = CREATE_DOM_WRAPPER(globalObject, CSSValueList, 
> value);
> 90               else if (value->isSVGPaint())
> 91                   wrapper = CREATE_DOM_WRAPPER(globalObject, SVGPaint, 
> value);
> 92               else if (value->isSVGColor())
> 93                   wrapper = CREATE_DOM_WRAPPER(globalObject, SVGColor, 
> value);
> 94               else if (value->isPrimitiveValue())
> 95                   wrapper = CREATE_DOM_WRAPPER(globalObject, 
> CSSPrimitiveValue, value);
> 96               else
> 97                   wrapper = CREATE_DOM_WRAPPER(globalObject, CSSValue, 
> value);
> 98           
> 99               return wrapper;
> 100         }
>  
> It produces the linker error:
> JSBindingsAllInOne.obj : error LNK2019: unresolved external symbol "public: 
> __thiscall WebCore::CSSPrimitiveValue::operator<class WTF::Ref<class 
> WebCore::CSSPrimitiveValue> > class WTF::Ref<class 
> WebCore::CSSPrimitiveValue>(void)const " 
> (??$?BV?$Ref@VCSSPrimitiveValue@WebCore@@@WTF@@@CSSPrimitiveValue@WebCore@@QBE?AV?$Ref@VCSSPrimitiveValue@WebCore@@@WTF@@XZ)
>  referenced in function "class WebCore::JSDOMWrapper * __cdecl 
> WebCore::createWrapper<class WebCore::JSCSSPrimitiveValue,class 
> WebCore::CSSPrimitiveValue>(class WebCore::JSDOMGlobalObject *,class 
> WebCore::CSSPrimitiveValue *)" 
> (??$createWrapper@VJSCSSPrimitiveValue@WebCore@@VCSSPrimitiveValue@2@@WebCore@@YAPAVJSDOMWrapper@0@PAVJSDOMGlobalObject@0@PAVCSSPrimitiveValue@0@@Z)
>  
> As you can see there are many other similar code lines in the area, none of 
> which cause a problem.  Despite my many attempts I can’t seem to satisfy the 
> linker by providing it the definition it needs.
> ·         I’ve attempted manually adding the copy constructor definition (I 
> believe that is what it is describing):
> o   CSSPrimitiveValue::CSSPrimitiveValue(ClassType classType, const 
> CSSPrimitiveValue& cloneFrom)
> o   CSSPrimitiveValue::CSSPrimitiveValue(const CSSPrimitiveValue& cloneFrom)
> ·         I’ve tried removing the usage of the “AllInOne” file, thinking that 
> it may be causing some issue.
> ·         I’ve attempted to debug the code when the offending line is 
> commented out, hoping to see better how the other lines function.  Though I’m 
> not sure what path would cause it to execute, I haven’t hit it in my limited 
> testing.
> ·         One of my colleagues reached out the MS on the issue, but it 
> behaves as expect on their end (small sample code does not find a bug in the 
> compiler). 
> https://social.msdn.microsoft.com/Forums/en-US/6b9787f3-62bd-473a-8aa1-5f6cd85ed87b/breaking-change-in-visual-studio-2015-rc?forum=vcgeneral
>  
> <https://social.msdn.microsoft.com/Forums/en-US/6b9787f3-62bd-473a-8aa1-5f6cd85ed87b/breaking-change-in-visual-studio-2015-rc?forum=vcgeneral>
>  
>  
> Any suggestions would be much appreciated
>  
> Thanks
>  
> Chris
>  
>  
>  
> _______________________________________________
> webkit-dev mailing list
> [email protected] <mailto:[email protected]>
> https://lists.webkit.org/mailman/listinfo/webkit-dev 
> <https://lists.webkit.org/mailman/listinfo/webkit-dev>
>  
> _______________________________________________
> webkit-dev mailing list
> [email protected]
> https://lists.webkit.org/mailman/listinfo/webkit-dev

_______________________________________________
webkit-dev mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to