Changeset 172867 in webkit for trunk/Source/JavaScriptCore/ftl/FTLCompile.cpp
- Timestamp:
- Aug 22, 2014, 12:54:30 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ftl/FTLCompile.cpp
r172129 r172867 286 286 // At this point it's perfectly fair to just blow away all state and restore the 287 287 // JS JIT view of the universe. 288 checkJIT.move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR1);289 290 MacroAssembler::Label exceptionContinueArg1Set = checkJIT.label();291 288 checkJIT.move(MacroAssembler::TrustedImm64(TagTypeNumber), GPRInfo::tagTypeNumberRegister); 292 289 checkJIT.move(MacroAssembler::TrustedImm64(TagMask), GPRInfo::tagMaskRegister); 293 290 294 291 checkJIT.move(MacroAssembler::TrustedImmPtr(&vm), GPRInfo::argumentGPR0); 295 MacroAssembler::Call call = checkJIT.call(); 292 checkJIT.move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR1); 293 MacroAssembler::Call callLookupExceptionHandler = checkJIT.call(); 296 294 checkJIT.jumpToExceptionHandler(); 297 295 298 296 stackOverflowException = checkJIT.label(); 299 checkJIT.emitGetCallerFrameFromCallFrameHeaderPtr(GPRInfo::argumentGPR1); 300 checkJIT.jump(exceptionContinueArg1Set); 297 checkJIT.move(MacroAssembler::TrustedImm64(TagTypeNumber), GPRInfo::tagTypeNumberRegister); 298 checkJIT.move(MacroAssembler::TrustedImm64(TagMask), GPRInfo::tagMaskRegister); 299 300 checkJIT.move(MacroAssembler::TrustedImmPtr(&vm), GPRInfo::argumentGPR0); 301 checkJIT.move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR1); 302 MacroAssembler::Call callLookupExceptionHandlerFromCallerFrame = checkJIT.call(); 303 checkJIT.jumpToExceptionHandler(); 301 304 302 305 OwnPtr<LinkBuffer> linkBuffer = adoptPtr(new LinkBuffer( 303 306 vm, checkJIT, codeBlock, JITCompilationMustSucceed)); 304 linkBuffer->link(call, FunctionPtr(lookupExceptionHandler)); 305 307 linkBuffer->link(callLookupExceptionHandler, FunctionPtr(lookupExceptionHandler)); 308 linkBuffer->link(callLookupExceptionHandlerFromCallerFrame, FunctionPtr(lookupExceptionHandlerFromCallerFrame)); 309 306 310 state.finalizer->handleExceptionsLinkBuffer = linkBuffer.release(); 307 311 }
Note:
See TracChangeset
for help on using the changeset viewer.