Changeset 251518 in webkit for trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
- Timestamp:
- Oct 23, 2019, 6:00:07 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
r251468 r251518 8846 8846 slowCase.link(&jit); 8847 8847 jit.setupArguments<decltype(operationThrowStackOverflowForVarargs)>(jit.codeBlock()->globalObjectFor(node->origin.semantic)); 8848 jit.prepareCallOperation(jit.vm()); 8848 8849 callWithExceptionCheck(bitwise_cast<void*>(operationThrowStackOverflowForVarargs)); 8849 8850 jit.abortWithReason(DFGVarargsThrowingPathDidNotThrow); … … 9112 9113 slowCase.link(&jit); 9113 9114 jit.setupArguments<decltype(operationThrowStackOverflowForVarargs)>(jit.codeBlock()->globalObjectFor(node->origin.semantic)); 9115 jit.prepareCallOperation(jit.vm()); 9114 9116 callWithExceptionCheck(bitwise_cast<void*>(operationThrowStackOverflowForVarargs)); 9115 9117 jit.abortWithReason(DFGVarargsThrowingPathDidNotThrow); … … 9119 9121 jit.move(CCallHelpers::TrustedImm32(originalStackHeight / sizeof(EncodedJSValue)), scratchGPR1); 9120 9122 jit.setupArguments<decltype(operationSizeFrameForVarargs)>(jit.codeBlock()->globalObjectFor(node->origin.semantic), argumentsGPR, scratchGPR1, CCallHelpers::TrustedImm32(data->firstVarArgOffset)); 9123 jit.prepareCallOperation(jit.vm()); 9121 9124 callWithExceptionCheck(bitwise_cast<void*>(operationSizeFrameForVarargs)); 9122 9125 … … 9127 9130 jit.addPtr(CCallHelpers::TrustedImm32(-minimumJSCallAreaSize), scratchGPR2, CCallHelpers::stackPointerRegister); 9128 9131 jit.setupArguments<decltype(operationSetupVarargsFrame)>(jit.codeBlock()->globalObjectFor(node->origin.semantic), scratchGPR2, argumentsGPR, CCallHelpers::TrustedImm32(data->firstVarArgOffset), scratchGPR1); 9132 jit.prepareCallOperation(jit.vm()); 9129 9133 callWithExceptionCheck(bitwise_cast<void*>(operationSetupVarargsFrame)); 9130 9134 … … 9278 9282 jit.subPtr(CCallHelpers::TrustedImm32(requiredBytes), CCallHelpers::stackPointerRegister); 9279 9283 jit.setupArguments<decltype(operationCallEval)>(globalObject, GPRInfo::regT1); 9284 jit.prepareCallOperation(vm); 9280 9285 jit.move(CCallHelpers::TrustedImmPtr(tagCFunctionPtr<OperationPtrTag>(operationCallEval)), GPRInfo::nonPreservedNonArgumentGPR0); 9281 9286 jit.call(GPRInfo::nonPreservedNonArgumentGPR0, OperationPtrTag); … … 12986 12991 // https://bugs.webkit.org/show_bug.cgi?id=203204 12987 12992 JSGlobalObject* globalObject = m_graph.globalObjectFor(m_node->origin.semantic); 12988 m_out.storePtr( weakPointer(globalObject), m_out.absolute(&vm().topCallFrame));12993 m_out.storePtr(m_callFrame, m_out.absolute(&vm().topCallFrame)); 12989 12994 setJSValue( 12990 12995 vmCall(Int64, bitwise_cast<CustomGetterSetter::CustomGetter>(m_node->callDOMGetterData()->customAccessorGetter.retaggedExecutableAddress<CFunctionPtrTag>()), … … 17264 17269 m_out.constInt32(callSiteIndex.bits()), 17265 17270 tagFor(CallFrameSlot::argumentCount)); 17271 #if !USE(BUILTIN_FRAME_ADDRESS) || !ASSERT_DISABLED 17272 m_out.storePtr(m_callFrame, m_out.absolute(&vm().topCallFrame)); 17273 #endif 17266 17274 } 17267 17275 … … 17292 17300 { 17293 17301 JSGlobalObject* globalObject = m_graph.globalObjectFor(m_node->origin.semantic); 17294 if (Options::useExceptionFuzz()) 17302 if (Options::useExceptionFuzz()) { 17303 #if !USE(BUILTIN_FRAME_ADDRESS) || !ASSERT_DISABLED 17304 m_out.storePtr(m_callFrame, m_out.absolute(&vm().topCallFrame)); 17305 #endif 17295 17306 m_out.call(Void, m_out.operation(operationExceptionFuzz), weakPointer(globalObject)); 17307 } 17296 17308 17297 17309 LValue exception = m_out.load64(m_out.absolute(vm().addressOfException()));
Note:
See TracChangeset
for help on using the changeset viewer.