Ignore:
Timestamp:
Apr 16, 2012, 3:26:36 PM (13 years ago)
Author:
[email protected]
Message:

Exception stack traces aren't complete when the exception starts in native code
https://bugs.webkit.org/show_bug.cgi?id=84073

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Refactored building the stack trace to so that we can construct
it earlier, and don't rely on any prior work performed in the
exception handling machinery. Also updated LLInt and the DFG to
completely initialise the callframes of host function calls.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::codeOriginIndexForReturn):
(CodeBlock):

  • dfg/DFGOperations.cpp:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::addStackTraceIfNecessary):
(JSC):
(JSC::Interpreter::throwException):

  • interpreter/Interpreter.h:

(Interpreter):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jsc.cpp:

(functionJSCStack):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::handleHostCall):

  • parser/Parser.h:

(JSC::::parse):

  • runtime/Error.cpp:

(JSC::addErrorInfo):
(JSC::throwError):

  • runtime/Error.h:

(JSC):

LayoutTests:

Update tests to include new exception property ordering, and new functions

  • fast/js/exception-properties-expected.txt:
  • fast/js/script-tests/exception-properties.js:
  • fast/js/script-tests/stack-trace.js:

(selfRecursive1): Modified slightly so that we produce consistent traces

  • fast/js/stack-trace-expected.txt:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r114274 r114309  
     12012-04-16  Oliver Hunt  <[email protected]>
     2
     3        Exception stack traces aren't complete when the exception starts in native code
     4        https://bugs.webkit.org/show_bug.cgi?id=84073
     5
     6        Reviewed by Gavin Barraclough.
     7
     8        Refactored building the stack trace to so that we can construct
     9        it earlier, and don't rely on any prior work performed in the
     10        exception handling machinery. Also updated LLInt and the DFG to
     11        completely initialise the callframes of host function calls.
     12
     13        * bytecode/CodeBlock.h:
     14        (JSC::CodeBlock::codeOriginIndexForReturn):
     15        (CodeBlock):
     16        * dfg/DFGOperations.cpp:
     17        * interpreter/Interpreter.cpp:
     18        (JSC::Interpreter::getStackTrace):
     19        (JSC::Interpreter::addStackTraceIfNecessary):
     20        (JSC):
     21        (JSC::Interpreter::throwException):
     22        * interpreter/Interpreter.h:
     23        (Interpreter):
     24        * jit/JITStubs.cpp:
     25        (JSC::DEFINE_STUB_FUNCTION):
     26        * jsc.cpp:
     27        (functionJSCStack):
     28        * llint/LLIntSlowPaths.cpp:
     29        (JSC::LLInt::handleHostCall):
     30        * parser/Parser.h:
     31        (JSC::::parse):
     32        * runtime/Error.cpp:
     33        (JSC::addErrorInfo):
     34        (JSC::throwError):
     35        * runtime/Error.h:
     36        (JSC):
     37
    1382012-04-16  Oliver Hunt  <[email protected]>
    239
Note: See TracChangeset for help on using the changeset viewer.