- if (Options::showDisassembly())
- dataLog("Unlinking call from ", callReturnLocation, " to ", pointerDump(repatchBuffer.codeBlock()), "\n");
-
- repatchBuffer.revertJumpReplacementToBranchPtrWithPatch(RepatchBuffer::startOfBranchPtrWithPatchOnRegister(hotPathBegin), static_cast<MacroAssembler::RegisterID>(calleeGPR), 0);
- repatchBuffer.relink(
- callReturnLocation,
- repatchBuffer.codeBlock()->vm()->getCTIStub(linkThunkGeneratorFor(
- (callType == Construct || callType == ConstructVarargs)? CodeForConstruct : CodeForCall,
- isFTL ? MustPreserveRegisters : RegisterPreservationNotRequired)).code());
- hasSeenShouldRepatch = false;
- callee.clear();
- stub.clear();
+ unlinkFor(
+ repatchBuffer, *this,
+ (m_callType == Construct || m_callType == ConstructVarargs)? CodeForConstruct : CodeForCall,
+ m_isFTL ? MustPreserveRegisters : RegisterPreservationNotRequired);