Skip to content
  • mark.lam@apple.com's avatar
    Refining the StackIterator callback interface. · 99c89d43
    mark.lam@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=120695.
    
    Reviewed by Geoffrey Garen.
    
    Source/JavaScriptCore: 
    
    Introduce CallFrame::iterate() which instantiates a StackIterator and
    invoke its iterate() method with the passed in functor. The only place
    where the client code gets access to the StackIterator now is as an
    argument to the client's functor.
    
    * API/JSContextRef.cpp:
    (JSContextCreateBacktrace):
    * interpreter/CallFrame.cpp:
    * interpreter/CallFrame.h:
    (JSC::ExecState::iterate):
    * interpreter/Interpreter.cpp:
    (JSC::Interpreter::dumpRegisters):
    (JSC::Interpreter::getStackTrace):
    (JSC::Interpreter::unwind):
    * interpreter/StackIterator.cpp:
    (JSC::StackIterator::StackIterator):
    (DebugPrintFrameFunctor::DebugPrintFrameFunctor):
    (DebugPrintFrameFunctor::operator()):
    (debugPrintCallFrame):
    (debugPrintStack):
    * interpreter/StackIterator.h:
    (JSC::StackIterator::iterate):
    * jsc.cpp:
    (functionJSCStack):
    * profiler/ProfileGenerator.cpp:
    (JSC::ProfileGenerator::addParentForConsoleStart):
    * runtime/JSFunction.cpp:
    (JSC::retrieveArguments):
    (JSC::RetrieveCallerFunctionFunctor::operator()):
    (JSC::retrieveCallerFunction):
    * runtime/JSGlobalObjectFunctions.cpp:
    (JSC::globalFuncProtoGetter):
    (JSC::globalFuncProtoSetter):
    * runtime/ObjectConstructor.cpp:
    (JSC::objectConstructorGetPrototypeOf):
    
    Source/WebCore: 
    
    No new tests.
    
    * bindings/js/JSXMLHttpRequestCustom.cpp:
    (WebCore::SendFunctor::SendFunctor):
    (WebCore::SendFunctor::line):
    (WebCore::SendFunctor::url):
    (WebCore::SendFunctor::operator()):
    (WebCore::JSXMLHttpRequest::send):
    * bindings/js/ScriptCallStackFactory.cpp:
    (WebCore::createScriptCallStack):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    99c89d43