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+

Brent Fulgham
Reported 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.
Attachments
the patch. (6.56 KB, patch)
2013-12-03 17:04 PST, Mark Lam
msaboff: review+
Mark Lam
Comment 1 2013-12-03 17:04:12 PST
Created attachment 218364 [details] the patch.
Mark Lam
Comment 2 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.
Michael Saboff
Comment 3 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:
Mark Lam
Comment 4 2013-12-03 17:16:20 PST
Thanks for the review. Landed in r160062: <http://trac.webkit.org/r160062>.
Note You need to log in before you can comment on or make changes to this bug.