Revision: 12987
Author: [email protected]
Date: Fri Nov 16 03:39:32 2012
Log: Make PrototypeTransitionClearing work with GC interval.
[email protected]
TEST=cctest/test-heap/PrototypeTransitionClearing
Review URL: https://codereview.chromium.org/11411031
http://code.google.com/p/v8/source/detail?r=12987
Modified:
/branches/bleeding_edge/test/cctest/test-heap.cc
=======================================
--- /branches/bleeding_edge/test/cctest/test-heap.cc Fri Nov 16 02:33:57
2012
+++ /branches/bleeding_edge/test/cctest/test-heap.cc Fri Nov 16 03:39:32
2012
@@ -1779,6 +1779,10 @@
HEAP->incremental_marking()->set_should_hurry(true);
HEAP->CollectGarbage(OLD_POINTER_SPACE);
}
+
+
+// Implemented in the test-alloc.cc test suite.
+void SimulateFullSpace(PagedSpace* space);
TEST(PrototypeTransitionClearing) {
@@ -1819,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.
@@ -2092,10 +2097,6 @@
CHECK(root->IsJSObject());
CHECK(root->map()->IsMap());
}
-
-
-// Implemented in the test-alloc.cc test suite.
-void SimulateFullSpace(PagedSpace* space);
TEST(ReleaseOverReservedPages) {
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev