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