X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/81345200c95645a1b0d2635520f96ad55dfde63f..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/ftl/FTLSlowPathCall.cpp?ds=sidebyside diff --git a/ftl/FTLSlowPathCall.cpp b/ftl/FTLSlowPathCall.cpp index e48f862..ffbd474 100644 --- a/ftl/FTLSlowPathCall.cpp +++ b/ftl/FTLSlowPathCall.cpp @@ -173,11 +173,24 @@ void storeCodeOrigin(State& state, CCallHelpers& jit, CodeOrigin codeOrigin) CCallHelpers::tagFor(static_cast(JSStack::ArgumentCount))); } +MacroAssembler::Call callOperation( + State& state, const RegisterSet& usedRegisters, CCallHelpers& jit, + CodeOrigin codeOrigin, MacroAssembler::JumpList* exceptionTarget, + J_JITOperation_ESsiCI operation, GPRReg result, StructureStubInfo* stubInfo, + GPRReg object, const UniquedStringImpl* uid) +{ + storeCodeOrigin(state, jit, codeOrigin); + CallContext context(state, usedRegisters, jit, 4, result); + jit.setupArgumentsWithExecState( + CCallHelpers::TrustedImmPtr(stubInfo), object, CCallHelpers::TrustedImmPtr(uid)); + return context.makeCall(bitwise_cast(operation), exceptionTarget); +} + MacroAssembler::Call callOperation( State& state, const RegisterSet& usedRegisters, CCallHelpers& jit, CodeOrigin codeOrigin, MacroAssembler::JumpList* exceptionTarget, J_JITOperation_ESsiJI operation, GPRReg result, StructureStubInfo* stubInfo, - GPRReg object, StringImpl* uid) + GPRReg object, UniquedStringImpl* uid) { storeCodeOrigin(state, jit, codeOrigin); CallContext context(state, usedRegisters, jit, 4, result); @@ -191,7 +204,7 @@ MacroAssembler::Call callOperation( State& state, const RegisterSet& usedRegisters, CCallHelpers& jit, CodeOrigin codeOrigin, MacroAssembler::JumpList* exceptionTarget, V_JITOperation_ESsiJJI operation, StructureStubInfo* stubInfo, GPRReg value, - GPRReg object, StringImpl* uid) + GPRReg object, UniquedStringImpl* uid) { storeCodeOrigin(state, jit, codeOrigin); CallContext context(state, usedRegisters, jit, 5, InvalidGPRReg);