From 284a28e7978b782c35460737e3290ee1f5fbaea1 Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Fri, 18 Jan 2013 13:05:03 +0000 Subject: [PATCH] Temporarily disable deferred stack trace formatting. R=mstarzinger@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11859027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/heap.cc | 3 ++- src/isolate.cc | 1 - test/cctest/cctest.status | 3 +++ test/mjsunit/mjsunit.status | 3 +++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/heap.cc b/src/heap.cc index 43522ab..5edaa35 100644 --- a/src/heap.cc +++ b/src/heap.cc @@ -7288,6 +7288,7 @@ void ErrorObjectList::UpdateReferences() { // Unforwarded objects in new space are dead and removed from the list. void ErrorObjectList::UpdateReferencesInNewSpace(Heap* heap) { + if (list_.is_empty()) return; if (!nested_) { int write_index = 0; for (int i = 0; i < list_.length(); i++) { @@ -7315,7 +7316,7 @@ void ErrorObjectList::DeferredFormatStackTrace(Isolate* isolate) { // If formatting the stack trace causes a GC, this method will be // recursively called. In that case, skip the recursive call, since // the loop modifies the list while iterating over it. - if (nested_ || isolate->has_pending_exception()) return; + if (nested_ || list_.is_empty() || isolate->has_pending_exception()) return; nested_ = true; HandleScope scope(isolate); Handle stack_key = isolate->factory()->stack_symbol(); diff --git a/src/isolate.cc b/src/isolate.cc index b503769..8bcceab 100644 --- a/src/isolate.cc +++ b/src/isolate.cc @@ -635,7 +635,6 @@ Handle Isolate::CaptureSimpleStackTrace(Handle error_object, } Handle result = factory()->NewJSArrayWithElements(elements); result->set_length(Smi::FromInt(cursor)); - heap()->error_object_list()->Add(*error_object); return result; } diff --git a/test/cctest/cctest.status b/test/cctest/cctest.status index ab59e33..b457ef2 100644 --- a/test/cctest/cctest.status +++ b/test/cctest/cctest.status @@ -56,6 +56,9 @@ test-profile-generator/RecordStackTraceAtStartProfiling: PASS || FAIL # We do not yet shrink weak maps after they have been emptied by the GC test-weakmaps/Shrinking: FAIL +# Deferred stack trace formatting is temporarily disabled. +test-heap/ReleaseStackTraceData: PASS || FAIL + ############################################################################## [ $arch == arm ] diff --git a/test/mjsunit/mjsunit.status b/test/mjsunit/mjsunit.status index da961ca..c9770dc 100644 --- a/test/mjsunit/mjsunit.status +++ b/test/mjsunit/mjsunit.status @@ -40,6 +40,9 @@ regress/regress-524: SKIP # Skip long running test in debug and allow it to timeout in release mode. # regress/regress-524: (PASS || TIMEOUT), SKIP if $mode == debug +# Deferred stack trace formatting is temporarily disabled. +stack-traces-gc: PASS || FAIL + ############################################################################## # Too slow in debug mode with --stress-opt compiler/regress-stacktrace-methods: PASS, SKIP if $mode == debug -- 2.7.4