Ignore:
Timestamp:
Aug 1, 2013, 2:57:38 PM (12 years ago)
Author:
[email protected]
Message:

REGRESSION: Crash beneath cti_vm_throw_slowpath due to invalid CallFrame pointer
https://bugs.webkit.org/show_bug.cgi?id=119140

Reviewed by Filip Pizlo.

Ensure that ExceptionHandler is returned by functions in two registers by encoding the value as a 64 bit int.

  • jit/JITExceptions.cpp:

(JSC::encode):

  • jit/JITExceptions.h:
  • jit/JITStubs.cpp:

(JSC::cti_vm_throw_slowpath):

  • jit/JITStubs.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JITExceptions.h

    r153222 r153612  
    4545};
    4646
     47// EncodedExceptionHandler is used to convince the compiler to return an ExceptionHander
     48// struct in two registers for 32 bit builds.
     49typedef int64_t EncodedExceptionHandler;
     50
     51union ExceptionHandlerUnion {
     52    ExceptionHandler handler;
     53    EncodedExceptionHandler encodedHandler;
     54};
     55
     56EncodedExceptionHandler encode(ExceptionHandler);
     57
    4758ExceptionHandler genericThrow(VM*, ExecState*, JSValue exceptionValue, unsigned vPCIndex);
    4859
Note: See TracChangeset for help on using the changeset viewer.