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

Reply via email to