2008-10-16 Maciej Stachowiak <mjs@apple.com>
authormjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 17 Oct 2008 03:05:58 +0000 (03:05 +0000)
committermjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 17 Oct 2008 03:05:58 +0000 (03:05 +0000)
        Reviewed by Oliver Hunt.

        - fix for REGRESSION: r37631 causing crashes on buildbot
        https://bugs.webkit.org/show_bug.cgi?id=21682

        * kjs/collector.cpp:
        (JSC::Heap::collect): Avoid crashing when a GC occurs while no global objects are live.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37646 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/collector.cpp

index 41ef427eff26a457d51d41b80690ee34484ffb39..31a436e85149d6dc8a3258070256b8492e0fcb45 100644 (file)
@@ -1,3 +1,13 @@
+2008-10-16  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by Oliver Hunt.
+
+        - fix for REGRESSION: r37631 causing crashes on buildbot
+        https://bugs.webkit.org/show_bug.cgi?id=21682
+        
+        * kjs/collector.cpp:
+        (JSC::Heap::collect): Avoid crashing when a GC occurs while no global objects are live.
+
 2008-10-16  Sam Weinig  <sam@webkit.org>
 
         Reviewed by Maciej Stachowiak.
index 20be74c5685ff60ee3e8b8fbef665916df91ba62..52e31f4717d4a31a02c9c15981bc71a524ab937f 100644 (file)
@@ -970,10 +970,12 @@ bool Heap::collect()
     m_globalData->smallStrings.mark();
 
     JSGlobalObject* globalObject = m_globalData->head;
-    do {
-        globalObject->markCrossHeapDependentObjects();
-        globalObject = globalObject->next();
-    } while (globalObject != m_globalData->head);
+    if (globalObject) {
+        do {
+            globalObject->markCrossHeapDependentObjects();
+            globalObject = globalObject->next();
+        } while (globalObject != m_globalData->head);
+    }
 
     JAVASCRIPTCORE_GC_MARKED();