summaryrefslogtreecommitdiffstats
path: root/src/script/bridge/qscriptobject_p.h
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-08-20 14:39:02 (GMT)
committerKent Hansen <khansen@trolltech.com>2009-08-20 14:39:02 (GMT)
commitf32035e829bbad14eed632d80794349a878bcc38 (patch)
tree2d86864a060c482b0e19a9f6d30bfa75033dc575 /src/script/bridge/qscriptobject_p.h
parent6fec99fd1fc256437c5c651209084f479005a7a7 (diff)
downloadQt-f32035e829bbad14eed632d80794349a878bcc38.zip
Qt-f32035e829bbad14eed632d80794349a878bcc38.tar.gz
Qt-f32035e829bbad14eed632d80794349a878bcc38.tar.bz2
add recursion guard for GC marking
To achieve behavior of the old back-end. There, the recursion guard was automatic because a mark flag was set on the object as soon as marking begun, but in JSC it appears to only be set _after_ the marking is completed.
Diffstat (limited to 'src/script/bridge/qscriptobject_p.h')
-rw-r--r--src/script/bridge/qscriptobject_p.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/script/bridge/qscriptobject_p.h b/src/script/bridge/qscriptobject_p.h
index a905234..d499c61 100644
--- a/src/script/bridge/qscriptobject_p.h
+++ b/src/script/bridge/qscriptobject_p.h
@@ -69,8 +69,9 @@ public:
{
JSC::JSValue data; // QScriptValue::data
QScriptObjectDelegate *delegate;
+ bool isMarking; // recursion guard
- Data() : delegate(0) {}
+ Data() : delegate(0), isMarking(false) {}
~Data();
};