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