diff options
author | Jedrzej Nowacki <jedrzej.nowacki@nokia.com> | 2009-08-11 07:29:36 (GMT) |
---|---|---|
committer | Jedrzej Nowacki <jedrzej.nowacki@nokia.com> | 2009-08-11 07:29:36 (GMT) |
commit | 2fdff951927ac4f2aab47c423e73d002b3bed628 (patch) | |
tree | 55741f0fd22784b9bbe8569ea741cf74e9ebd1dd /src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp | |
parent | 3cd1422bbc106ebe4bf14b4af14c90971fe416eb (diff) | |
download | Qt-2fdff951927ac4f2aab47c423e73d002b3bed628.zip Qt-2fdff951927ac4f2aab47c423e73d002b3bed628.tar.gz Qt-2fdff951927ac4f2aab47c423e73d002b3bed628.tar.bz2 |
Calls to JSC::Debugger's new events that where created in
b62ab93d001d2f3238e24faa133720cb877e3023 commit.
In CallData and ConstructData native function call were replaced by
class with operator() that decorate every call with debugger->functionEntry
and debugger->functionExit events.
In Interpreter new debugger calls for functionExit, functionEntry,
exceptionThrow and exceptionCatch events where created
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp index c3b2eeb..5fe792f 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp @@ -34,8 +34,30 @@ #include "JSFunction.h" + +#ifdef QT_BUILD_SCRIPT_LIB +#include "Debugger.h" +#include "DebuggerCallFrame.h" +#endif + namespace JSC { +#ifdef QT_BUILD_SCRIPT_LIB +JSObject* JSC::NativeConstrWrapper::operator() (ExecState* exec, JSObject* jsobj, const ArgList& argList) const +{ + Debugger* debugger = exec->lexicalGlobalObject()->debugger(); + if (debugger) + debugger->callEvent(DebuggerCallFrame(exec), -1, -1); + + JSObject* returnValue = ptr(exec, jsobj, argList); + + if ((debugger) && (callDebuggerFunctionExit)) + debugger->functionExit(JSValue(returnValue), -1); + + return returnValue; +} +#endif + JSObject* construct(ExecState* exec, JSValue callee, ConstructType constructType, const ConstructData& constructData, const ArgList& args) { if (constructType == ConstructTypeHost) { |