Changeset 268170 in webkit for trunk/Source/JavaScriptCore/jit/Repatch.cpp
- Timestamp:
- Oct 7, 2020, 9:18:58 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/Repatch.cpp
r267489 r268170 74 74 static FunctionPtr<CFunctionPtrTag> readPutICCallTarget(CodeBlock* codeBlock, CodeLocationCall<JSInternalPtrTag> call) 75 75 { 76 FunctionPtr<OperationPtrTag> target = MacroAssembler::readCallTarget<OperationPtrTag>(call);77 76 #if ENABLE(FTL_JIT) 78 77 if (codeBlock->jitType() == JITType::FTLJIT) { 79 MacroAssemblerCodePtr<JITThunkPtrTag> thunk = MacroAssemblerCodePtr<OperationPtrTag>::createFromExecutableAddress(target.executableAddress()).retagged<JITThunkPtrTag>(); 78 FunctionPtr<JITThunkPtrTag> target = MacroAssembler::readCallTarget<JITThunkPtrTag>(call); 79 MacroAssemblerCodePtr<JITThunkPtrTag> thunk = MacroAssemblerCodePtr<JITThunkPtrTag>::createFromExecutableAddress(target.executableAddress()); 80 80 return codeBlock->vm().ftlThunks->keyForSlowPathCallThunk(thunk).callTarget().retagged<CFunctionPtrTag>(); 81 81 } … … 83 83 UNUSED_PARAM(codeBlock); 84 84 #endif // ENABLE(FTL_JIT) 85 FunctionPtr<OperationPtrTag> target = MacroAssembler::readCallTarget<OperationPtrTag>(call); 85 86 return target.retagged<CFunctionPtrTag>(); 86 87 } … … 92 93 VM& vm = codeBlock->vm(); 93 94 FTL::Thunks& thunks = *vm.ftlThunks; 94 FunctionPtr< OperationPtrTag> target = MacroAssembler::readCallTarget<OperationPtrTag>(call);95 auto slowPathThunk = MacroAssemblerCodePtr<JITThunkPtrTag>::createFromExecutableAddress(target. retaggedExecutableAddress<JITThunkPtrTag>());95 FunctionPtr<JITThunkPtrTag> target = MacroAssembler::readCallTarget<JITThunkPtrTag>(call); 96 auto slowPathThunk = MacroAssemblerCodePtr<JITThunkPtrTag>::createFromExecutableAddress(target.executableAddress()); 96 97 FTL::SlowPathCallKey key = thunks.keyForSlowPathCallThunk(slowPathThunk); 97 98 key = key.withCallTarget(newCalleeFunction); … … 406 407 newCase = GetterSetterAccessCase::create( 407 408 vm, codeBlock, type, propertyName, offset, structure, conditionSet, loadTargetFromProxy, 408 slot.watchpointSet(), slot.isCacheableCustom() ? slot.customGetter() : nullptr,409 slot.watchpointSet(), slot.isCacheableCustom() ? FunctionPtr<OperationPtrTag>(slot.customGetter()) : nullptr, 409 410 slot.isCacheableCustom() && slot.slotBase() != baseValue ? slot.slotBase() : nullptr, 410 411 domAttribute, WTFMove(prototypeAccessChain)); … … 742 743 newCase = GetterSetterAccessCase::create( 743 744 vm, codeBlock, slot.isCustomAccessor() ? AccessCase::CustomAccessorSetter : AccessCase::CustomValueSetter, oldStructure, propertyName, 744 invalidOffset, conditionSet, WTFMove(prototypeAccessChain), isProxy, slot.customSetter() , slot.base() != baseValue ? slot.base() : nullptr);745 invalidOffset, conditionSet, WTFMove(prototypeAccessChain), isProxy, slot.customSetter().retagged<OperationPtrTag>(), slot.base() != baseValue ? slot.base() : nullptr); 745 746 } else { 746 747 ASSERT(slot.isCacheableSetter());
Note:
See TracChangeset
for help on using the changeset viewer.