summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp
diff options
context:
space:
mode:
authorJedrzej Nowacki <jedrzej.nowacki@nokia.com>2009-08-11 07:29:36 (GMT)
committerJedrzej Nowacki <jedrzej.nowacki@nokia.com>2009-08-11 07:29:36 (GMT)
commit2fdff951927ac4f2aab47c423e73d002b3bed628 (patch)
tree55741f0fd22784b9bbe8569ea741cf74e9ebd1dd /src/3rdparty/webkit/JavaScriptCore/runtime/ConstructData.cpp
parent3cd1422bbc106ebe4bf14b4af14c90971fe416eb (diff)
downloadQt-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.cpp22
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) {