Changeset 251903 in webkit for trunk/Source/JavaScriptCore/jit/JITOperations.cpp
- Timestamp:
- Oct 31, 2019, 8:22:18 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JITOperations.cpp
r251518 r251903 1733 1733 BytecodeIndex bytecodeIndex = BytecodeIndex::fromBits(bytecodeIndexBits); 1734 1734 1735 CodeBlock* optimizedReplacement = callFrame->codeBlock()->replacement();1736 if (UNLIKELY(!optimizedReplacement))1737 return nullptr;1738 1739 switch (optimizedReplacement->jitType()) {1740 case JITType::DFGJIT:1741 case JITType::FTLJIT: {1742 MacroAssemblerCodePtr<ExceptionHandlerPtrTag> entry = DFG::prepareCatchOSREntry(vm, callFrame, optimizedReplacement, bytecodeIndex);1743 return entry.executableAddress<char*>();1744 }1745 default:1746 break;1747 }1748 return nullptr;1749 }1750 1751 char* JIT_OPERATION operationTryOSREnterAtCatchAndValueProfile(VM* vmPointer, uint32_t bytecodeIndexBits)1752 {1753 VM& vm = *vmPointer;1754 CallFrame* callFrame = DECLARE_CALL_FRAME(vm);1755 JITOperationPrologueCallFrameTracer tracer(vm, callFrame);1756 BytecodeIndex bytecodeIndex = BytecodeIndex::fromBits(bytecodeIndexBits);1757 1758 1735 CodeBlock* codeBlock = callFrame->codeBlock(); 1759 1736 CodeBlock* optimizedReplacement = codeBlock->replacement(); … … 1764 1741 case JITType::DFGJIT: 1765 1742 case JITType::FTLJIT: { 1766 MacroAssemblerCodePtr<ExceptionHandlerPtrTag> entry = DFG::prepareCatchOSREntry(vm, callFrame, optimizedReplacement, bytecodeIndex); 1743 MacroAssemblerCodePtr<ExceptionHandlerPtrTag> entry = DFG::prepareCatchOSREntry(vm, callFrame, codeBlock, optimizedReplacement, bytecodeIndex); 1744 return entry.executableAddress<char*>(); 1745 } 1746 default: 1747 break; 1748 } 1749 return nullptr; 1750 } 1751 1752 char* JIT_OPERATION operationTryOSREnterAtCatchAndValueProfile(VM* vmPointer, uint32_t bytecodeIndexBits) 1753 { 1754 VM& vm = *vmPointer; 1755 CallFrame* callFrame = DECLARE_CALL_FRAME(vm); 1756 JITOperationPrologueCallFrameTracer tracer(vm, callFrame); 1757 BytecodeIndex bytecodeIndex = BytecodeIndex::fromBits(bytecodeIndexBits); 1758 1759 CodeBlock* codeBlock = callFrame->codeBlock(); 1760 CodeBlock* optimizedReplacement = codeBlock->replacement(); 1761 if (UNLIKELY(!optimizedReplacement)) 1762 return nullptr; 1763 1764 switch (optimizedReplacement->jitType()) { 1765 case JITType::DFGJIT: 1766 case JITType::FTLJIT: { 1767 MacroAssemblerCodePtr<ExceptionHandlerPtrTag> entry = DFG::prepareCatchOSREntry(vm, callFrame, codeBlock, optimizedReplacement, bytecodeIndex); 1767 1768 return entry.executableAddress<char*>(); 1768 1769 }
Note:
See TracChangeset
for help on using the changeset viewer.