Version 3.15.4
Fixed Array.prototype.join evaluation order. (issue 2263)
Perform CPU sampling by CPU sampling thread only iff processing thread is not running. (issue 2364)
When using an Object as a set in Object.getOwnPropertyNames, null out the proto. (issue 2410)
Disabled EXTRA_CHECKS in Release build.
Heap explorer: Show representation of strings.
Removed 'type' and 'arguments' properties from Error object. (issue 2397)
Added atomics implementation for ThreadSanitizer v2. (Chromium issue 128314)
Fixed LiveEdit crashes when object/array literal is added. (issue 2368)
Performance and stability improvements on all platforms.
git-svn-id: http://v8.googlecode.com/svn/trunk@12994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/test/cctest/test-heap.cc b/test/cctest/test-heap.cc
index 27fa4b1..8dee692 100644
--- a/test/cctest/test-heap.cc
+++ b/test/cctest/test-heap.cc
@@ -1733,6 +1733,7 @@
InitializeVM();
if (!i::V8::UseCrankshaft()) return;
+ if (i::FLAG_force_marking_deque_overflows) return;
v8::HandleScope outer_scope;
{
@@ -1780,6 +1781,10 @@
}
+// Implemented in the test-alloc.cc test suite.
+void SimulateFullSpace(PagedSpace* space);
+
+
TEST(PrototypeTransitionClearing) {
InitializeVM();
v8::HandleScope scope;
@@ -1818,10 +1823,11 @@
// Make sure next prototype is placed on an old-space evacuation candidate.
Handle<JSObject> prototype;
PagedSpace* space = HEAP->old_pointer_space();
- do {
+ {
+ AlwaysAllocateScope always_allocate;
+ SimulateFullSpace(space);
prototype = FACTORY->NewJSArray(32 * KB, FAST_HOLEY_ELEMENTS, TENURED);
- } while (space->FirstPage() == space->LastPage() ||
- !space->LastPage()->Contains(prototype->address()));
+ }
// Add a prototype on an evacuation candidate and verify that transition
// clearing correctly records slots in prototype transition array.
@@ -2093,10 +2099,6 @@
}
-// Implemented in the test-alloc.cc test suite.
-void SimulateFullSpace(PagedSpace* space);
-
-
TEST(ReleaseOverReservedPages) {
i::FLAG_trace_gc = true;
// The optimizer can allocate stuff, messing up the test.
@@ -2150,7 +2152,7 @@
v8::HandleScope inner_scope;
const char* c = "This text is long enough to trigger sliced strings.";
Handle<String> s = FACTORY->NewStringFromAscii(CStrVector(c));
- CHECK(s->IsSeqAsciiString());
+ CHECK(s->IsSeqOneByteString());
CHECK(HEAP->InNewSpace(*s));
// Generate a sliced string that is based on the above parent and
@@ -2168,9 +2170,9 @@
*slice.location() = *t.location();
}
- CHECK(SlicedString::cast(*slice)->parent()->IsSeqAsciiString());
+ CHECK(SlicedString::cast(*slice)->parent()->IsSeqOneByteString());
HEAP->CollectAllGarbage(Heap::kNoGCFlags);
- CHECK(SlicedString::cast(*slice)->parent()->IsSeqAsciiString());
+ CHECK(SlicedString::cast(*slice)->parent()->IsSeqOneByteString());
}