-
mark.lam@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=123271. Reviewed by Michael Saboff. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::printGetByIdCacheStatus): Added an UNUSED_PARAM(). (JSC::CodeBlock::dumpBytecode): Added #if ENABLE(JIT) to JIT only code. * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeFor): Added an UNUSED_PARAM(). * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFor): Added an UNUSED_PARAM(). * bytecode/StructureStubInfo.h: - Added a stub StubInfoMap for non-JIT builds. StubInfoMap is still used in function prototypes even when !ENABLE(JIT). Rather that adding #if's in many places, we just provide a stub/placeholder implementation that is unused but keeps the compiler happy. * jit/JITOperations.h: Added #if ENABLE(JIT). * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: - The putByVal() macro reifies a slow path which is never taken in one case. This translates into a label that is never used in the C Loop LLINT. The C++ compiler doesn't like unused labels. So, we fix this by adding a cloopUnusedLabel offline asm instruction that synthesizes the following: if (false) goto unusedLabel; This keeps the C++ compiler happy without changing code behavior. * offlineasm/cloop.rb: Implementing cloopUnusedLabel. * offlineasm/instructions.rb: Declaring cloopUnusedLabel. * runtime/Executable.cpp: (JSC::setupJIT): Added UNUSED_PARAM()s. (JSC::ScriptExecutable::prepareForExecutionImpl): - run-javascriptcore-tests have phases that forces the LLINT to be off which in turn asserts that the JIT is enabled. With the C Loop LLINT, this combination is illegal. So, we override the setup code here to always use the LLINT if !ENABLE(JIT) regardless of what options are passed in. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
b1ea3eac