diff options
Diffstat (limited to 'JavaScriptCore/jit/JITOpcodes32_64.cpp')
-rw-r--r-- | JavaScriptCore/jit/JITOpcodes32_64.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/JavaScriptCore/jit/JITOpcodes32_64.cpp b/JavaScriptCore/jit/JITOpcodes32_64.cpp index 939aa8c..035325a 100644 --- a/JavaScriptCore/jit/JITOpcodes32_64.cpp +++ b/JavaScriptCore/jit/JITOpcodes32_64.cpp @@ -159,14 +159,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable #endif // All trampolines constructed! copy the code, link up calls, and set the pointers on the Machine object. - *executablePool = m_globalData->executableAllocator.poolForSize(m_assembler.size()); - // We can't run without the JIT trampolines! - if (!*executablePool) - CRASH(); - LinkBuffer patchBuffer(this, *executablePool, 0); - // We can't run without the JIT trampolines! - if (!patchBuffer.allocationSuccessful()) - CRASH(); + LinkBuffer patchBuffer(this, m_globalData->executableAllocator.poolForSize(m_assembler.size()), 0); #if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS) patchBuffer.link(string_failureCases1Call, FunctionPtr(cti_op_get_by_id_string_fail)); @@ -181,6 +174,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable patchBuffer.link(callCompileCconstruct, FunctionPtr(cti_op_construct_jitCompile)); CodeRef finalCode = patchBuffer.finalizeCode(); + *executablePool = finalCode.m_executablePool; trampolines->ctiVirtualCall = patchBuffer.trampolineAt(virtualCallBegin); trampolines->ctiVirtualConstruct = patchBuffer.trampolineAt(virtualConstructBegin); @@ -363,9 +357,6 @@ JIT::CodePtr JIT::privateCompileCTINativeCall(PassRefPtr<ExecutablePool> executa // All trampolines constructed! copy the code, link up calls, and set the pointers on the Machine object. LinkBuffer patchBuffer(this, executablePool, 0); - // We can't continue if we can't call a function! - if (!patchBuffer.allocationSuccessful()) - CRASH(); patchBuffer.link(nativeCall, FunctionPtr(func)); patchBuffer.finalizeCode(); |