X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/f9bf01c6616d5ddcf65b13b33cedf9e387ff7a63..b80e619319b1def83d1e8b4f84042b661be1be7f:/runtime/Executable.cpp diff --git a/runtime/Executable.cpp b/runtime/Executable.cpp index bc18cc9..765bd99 100644 --- a/runtime/Executable.cpp +++ b/runtime/Executable.cpp @@ -139,6 +139,9 @@ void FunctionExecutable::compile(ExecState*, ScopeChainNode* scopeChainNode) void EvalExecutable::generateJITCode(ExecState* exec, ScopeChainNode* scopeChainNode) { +#if ENABLE(INTERPRETER) + ASSERT(scopeChainNode->globalData->canUseJIT()); +#endif CodeBlock* codeBlock = &bytecode(exec, scopeChainNode); m_jitCode = JIT::compile(scopeChainNode->globalData, codeBlock); @@ -150,6 +153,9 @@ void EvalExecutable::generateJITCode(ExecState* exec, ScopeChainNode* scopeChain void ProgramExecutable::generateJITCode(ExecState* exec, ScopeChainNode* scopeChainNode) { +#if ENABLE(INTERPRETER) + ASSERT(scopeChainNode->globalData->canUseJIT()); +#endif CodeBlock* codeBlock = &bytecode(exec, scopeChainNode); m_jitCode = JIT::compile(scopeChainNode->globalData, codeBlock); @@ -161,6 +167,9 @@ void ProgramExecutable::generateJITCode(ExecState* exec, ScopeChainNode* scopeCh void FunctionExecutable::generateJITCode(ExecState* exec, ScopeChainNode* scopeChainNode) { +#if ENABLE(INTERPRETER) + ASSERT(scopeChainNode->globalData->canUseJIT()); +#endif CodeBlock* codeBlock = &bytecode(exec, scopeChainNode); m_jitCode = JIT::compile(scopeChainNode->globalData, codeBlock); @@ -198,8 +207,13 @@ ExceptionInfo* FunctionExecutable::reparseExceptionInfo(JSGlobalData* globalData ASSERT(newCodeBlock->instructionCount() == codeBlock->instructionCount()); #if ENABLE(JIT) - JITCode newJITCode = JIT::compile(globalData, newCodeBlock.get()); - ASSERT(newJITCode.size() == generatedJITCode().size()); +#if ENABLE(INTERPRETER) + if (globalData->canUseJIT()) +#endif + { + JITCode newJITCode = JIT::compile(globalData, newCodeBlock.get(), generatedJITCode().start()); + ASSERT(newJITCode.size() == generatedJITCode().size()); + } #endif globalData->functionCodeBlockBeingReparsed = 0; @@ -223,14 +237,19 @@ ExceptionInfo* EvalExecutable::reparseExceptionInfo(JSGlobalData* globalData, Sc ASSERT(newCodeBlock->instructionCount() == codeBlock->instructionCount()); #if ENABLE(JIT) - JITCode newJITCode = JIT::compile(globalData, newCodeBlock.get()); - ASSERT(newJITCode.size() == generatedJITCode().size()); +#if ENABLE(INTERPRETER) + if (globalData->canUseJIT()) +#endif + { + JITCode newJITCode = JIT::compile(globalData, newCodeBlock.get(), generatedJITCode().start()); + ASSERT(newJITCode.size() == generatedJITCode().size()); + } #endif return newCodeBlock->extractExceptionInfo(); } -void FunctionExecutable::recompile(ExecState*) +void FunctionExecutable::recompile() { delete m_codeBlock; m_codeBlock = 0; @@ -272,7 +291,7 @@ UString FunctionExecutable::paramString() const builder.append(", "); builder.append(parameters[pos].ustring()); } - return builder.release(); + return builder.build(); } };