Bug 125186

Summary: [Win] Cannot build 64-bit with ENABLE_LLINT but without ENABLE_JIT
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: JavaScriptCoreAssignee: Mark Lam <mark.lam>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: All   
Attachments:
Description Flags
the patch. msaboff: review+

Description Brent Fulgham 2013-12-03 14:31:32 PST
Attempting to create a 64-bit build on Windows with ENABLE_JIT undefined results in the following build error:

7>C:\Projects\WebKit\OpenSource\WebKitBuild\Release\obj64\JavaScriptCore\DerivedSources\LLIntAssembly.h(5): error C2065: 'callToJavaScript' : undeclared identifier
7>C:\Projects\WebKit\OpenSource\WebKitBuild\Release\obj64\JavaScriptCore\DerivedSources\LLIntAssembly.h(5): error C2051: case expression not constant
7>C:\Projects\WebKit\OpenSource\WebKitBuild\Release\obj64\JavaScriptCore\DerivedSources\LLIntAssembly.h(17): error C2065: 'returnFromJavaScript' : undeclared identifier
7>C:\Projects\WebKit\OpenSource\WebKitBuild\Release\obj64\JavaScriptCore\DerivedSources\LLIntAssembly.h(17): error C2051: case expression not constant

The 64-bit build automatically activates ENABLE_LLINT, which may be the problem.

"callToJavaScript" and "returnFromJavaScript" are implemented in assembly code (see JITStubsMSVC64.asm).  However, I don't think the declarations are visible to LowLevelInterpreter.cpp when building without ENABLE_JIT.

If I add declarations for those methods, I still encounter the "case expression not constant" error, since it is attempting to use a method declaration as a label.
Comment 1 Mark Lam 2013-12-03 17:04:12 PST
Created attachment 218364 [details]
the patch.
Comment 2 Mark Lam 2013-12-03 17:05:35 PST
Comment on attachment 218364 [details]
the patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=218364&action=review

> Source/JavaScriptCore/ChangeLog:12
> +        - Win64 will build JITStubMSVC64.asm even when !WNABLE(JIT). This results

typo: WNABLE ==> ENABLE.  Will fix before landing.
Comment 3 Michael Saboff 2013-12-03 17:12:42 PST
Comment on attachment 218364 [details]
the patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=218364&action=review

> Source/JavaScriptCore/jit/JITOperationsMSVC64.cpp:35
> +// The following is a workaround that is only needed because JITStubsMSVC64.asm is built

Please add a FIXME:
Comment 4 Mark Lam 2013-12-03 17:16:20 PST
Thanks for the review.  Landed in r160062: <http://trac.webkit.org/r160062>.