summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
index 0ff97b8..f349f23 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
@@ -1107,6 +1107,10 @@ bool Heap::collect()
markStackObjectsConservatively();
markProtectedObjects();
+#if QT_BUILD_SCRIPT_LIB
+ if (m_globalData->clientData)
+ m_globalData->clientData->mark();
+#endif
if (m_markListSet && m_markListSet->size())
MarkedArgumentBuffer::markLists(*m_markListSet);
if (m_globalData->exception && !m_globalData->exception.marked())
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h
index 96a3c2c..d5202c6 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h
@@ -65,6 +65,9 @@ namespace JSC {
public:
struct ClientData {
virtual ~ClientData() = 0;
+#ifdef QT_BUILD_SCRIPT_LIB
+ virtual void mark() {}
+#endif
};
static bool sharedInstanceExists();