From e470558ef42aafd8dcbde7e8523f82f51752b904 Mon Sep 17 00:00:00 2001 From: "mjs@apple.com" Date: Fri, 17 Oct 2008 03:05:58 +0000 Subject: [PATCH] 2008-10-16 Maciej Stachowiak 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 | 10 ++++++++++ JavaScriptCore/kjs/collector.cpp | 10 ++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog index 41ef427eff26..31a436e85149 100644 --- a/JavaScriptCore/ChangeLog +++ b/JavaScriptCore/ChangeLog @@ -1,3 +1,13 @@ +2008-10-16 Maciej Stachowiak + + 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 Reviewed by Maciej Stachowiak. diff --git a/JavaScriptCore/kjs/collector.cpp b/JavaScriptCore/kjs/collector.cpp index 20be74c5685f..52e31f4717d4 100644 --- a/JavaScriptCore/kjs/collector.cpp +++ b/JavaScriptCore/kjs/collector.cpp @@ -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(); -- 2.36.0