Skip to content
  • commit-queue@webkit.org's avatar
    Implement Error.stack · f177874f
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=66994
    
    Patch by Juan Carlos Montemayor Elosua <j.mont@me.com> on 2011-09-27
    Reviewed by Oliver Hunt.
    
    Source/JavaScriptCore:
    
    This patch utilizes topCallFrame to create a stack trace when
    an error is thrown. Users will also be able to use the stack()
    command in jsc to get arrays with stack trace information.
    
    * JavaScriptCore.exp:
    * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
    * interpreter/Interpreter.cpp:
    (JSC::getCallerLine):
    (JSC::getSourceURLFromCallFrame):
    (JSC::getStackFrameCodeType):
    (JSC::Interpreter::getStackTrace):
    (JSC::Interpreter::throwException):
    * interpreter/Interpreter.h:
    (JSC::StackFrame::toString):
    * jsc.cpp:
    (GlobalObject::finishCreation):
    (functionJSCStack):
    * parser/Parser.h:
    (JSC::Parser::parse):
    * runtime/CommonIdentifiers.h:
    * runtime/Error.cpp:
    (JSC::addErrorInfo):
    * runtime/Error.h:
    
    LayoutTests:
    
    Unit tests that contain both normal and special cases for stack trace
    generation.
    
    * fast/js/exception-properties-expected.txt:
    * fast/js/script-tests/exception-properties.js:
    * fast/js/script-tests/stack-trace.js: Added.
    (printStack):
    (hostThrower):
    (callbacker):
    (outer):
    (inner):
    (evaler):
    (normalOuter):
    (normalInner):
    (scripterInner):
    (scripterOuter):
    * fast/js/stack-trace-expected.txt: Added.
    * fast/js/stack-trace.html: Added.
    * platform/chromium/test_expectations.txt:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96131 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    f177874f