Reviewers: Michael Starzinger,

Description:
Temporarily disable deferred stack trace formatting.


[email protected]
BUG=


Please review this at https://chromiumcodereview.appspot.com/11859027/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/heap.cc
  M src/isolate.cc
  M test/cctest/cctest.status
  M test/mjsunit/mjsunit.status


Index: src/heap.cc
diff --git a/src/heap.cc b/src/heap.cc
index 43522ab8edc57a9e695d8b6359b4c43ae6b3e353..5edaa355bbfa61abe675171a4c22d7b3d67d181d 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<String> stack_key = isolate->factory()->stack_symbol();
Index: src/isolate.cc
diff --git a/src/isolate.cc b/src/isolate.cc
index b5037693aa8e462aa89d4c5900811855e8303f58..8bcceaba575702736a9e190e09fe0cdf42d620e4 100644
--- a/src/isolate.cc
+++ b/src/isolate.cc
@@ -635,7 +635,6 @@ Handle<JSArray> Isolate::CaptureSimpleStackTrace(Handle<JSObject> error_object,
   }
   Handle<JSArray> result = factory()->NewJSArrayWithElements(elements);
   result->set_length(Smi::FromInt(cursor));
-  heap()->error_object_list()->Add(*error_object);
   return result;
 }

Index: test/cctest/cctest.status
diff --git a/test/cctest/cctest.status b/test/cctest/cctest.status
index ab59e3356fefa454766871f3c60ba7509d29a246..47ff7bc614971f8201efac53e1006ca7ea2e0b9b 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: FAIL
+
##############################################################################
 [ $arch == arm ]

Index: test/mjsunit/mjsunit.status
diff --git a/test/mjsunit/mjsunit.status b/test/mjsunit/mjsunit.status
index da961ca2db7a4f8759e294ffbcb06e89ba71250f..4ea31e827aea2c231ec91ac80ef8a5f699776ea1 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: FAIL
+
##############################################################################
 # Too slow in debug mode with --stress-opt
 compiler/regress-stacktrace-methods: PASS, SKIP if $mode == debug


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to