Index: test/cctest/test-heap.cc |
diff --git a/test/cctest/test-heap.cc b/test/cctest/test-heap.cc |
index 94748cbf202d48cff84a1e78fd1aaf112319286c..89ac13f5c02d845c863beef75052298b842f99e0 100644 |
--- a/test/cctest/test-heap.cc |
+++ b/test/cctest/test-heap.cc |
@@ -415,6 +415,7 @@ TEST(WeakGlobalHandlesMark) { |
global_handles->Destroy(h1.location()); |
} |
+ |
TEST(DeleteWeakGlobalHandle) { |
InitializeVM(); |
GlobalHandles* global_handles = Isolate::Current()->global_handles(); |
@@ -445,6 +446,7 @@ TEST(DeleteWeakGlobalHandle) { |
CHECK(WeakPointerCleared); |
} |
+ |
static const char* not_so_random_string_table[] = { |
"abstract", |
"boolean", |
@@ -1281,7 +1283,8 @@ TEST(GrowAndShrinkNewSpace) { |
InitializeVM(); |
NewSpace* new_space = HEAP->new_space(); |
- if (HEAP->ReservedSemiSpaceSize() == HEAP->InitialSemiSpaceSize()) { |
+ if (HEAP->ReservedSemiSpaceSize() == HEAP->InitialSemiSpaceSize() || |
+ HEAP->MaxSemiSpaceSize() == HEAP->InitialSemiSpaceSize()) { |
// The max size cannot exceed the reserved size, since semispaces must be |
// always within the reserved space. We can't test new space growing and |
// shrinking if the reserved size is the same as the minimum (initial) size. |
@@ -1329,7 +1332,8 @@ TEST(GrowAndShrinkNewSpace) { |
TEST(CollectingAllAvailableGarbageShrinksNewSpace) { |
InitializeVM(); |
- if (HEAP->ReservedSemiSpaceSize() == HEAP->InitialSemiSpaceSize()) { |
+ if (HEAP->ReservedSemiSpaceSize() == HEAP->InitialSemiSpaceSize() || |
+ HEAP->MaxSemiSpaceSize() == HEAP->InitialSemiSpaceSize()) { |
// The max size cannot exceed the reserved size, since semispaces must be |
// always within the reserved space. We can't test new space growing and |
// shrinking if the reserved size is the same as the minimum (initial) size. |
@@ -1756,14 +1760,18 @@ TEST(Regress1465) { |
i::FLAG_trace_incremental_marking = true; |
InitializeVM(); |
v8::HandleScope scope; |
+ static const int transitions_count = 256; |
- #define TRANSITION_COUNT 256 |
- for (int i = 0; i < TRANSITION_COUNT; i++) { |
- EmbeddedVector<char, 64> buffer; |
- OS::SNPrintF(buffer, "var o = new Object; o.prop%d = %d;", i, i); |
- CompileRun(buffer.start()); |
+ { |
+ AlwaysAllocateScope always_allocate; |
+ for (int i = 0; i < transitions_count; i++) { |
+ EmbeddedVector<char, 64> buffer; |
+ OS::SNPrintF(buffer, "var o = new Object; o.prop%d = %d;", i, i); |
+ CompileRun(buffer.start()); |
+ } |
+ CompileRun("var root = new Object;"); |
} |
- CompileRun("var root = new Object;"); |
+ |
Handle<JSObject> root = |
v8::Utils::OpenHandle( |
*v8::Handle<v8::Object>::Cast( |
@@ -1772,7 +1780,7 @@ TEST(Regress1465) { |
// Count number of live transitions before marking. |
int transitions_before = CountMapTransitions(root->map()); |
CompileRun("%DebugPrint(root);"); |
- CHECK_EQ(TRANSITION_COUNT, transitions_before); |
+ CHECK_EQ(transitions_count, transitions_before); |
// Go through all incremental marking steps in one swoop. |
IncrementalMarking* marking = HEAP->incremental_marking(); |
@@ -1784,7 +1792,6 @@ TEST(Regress1465) { |
} |
CHECK(marking->IsComplete()); |
HEAP->CollectAllGarbage(Heap::kNoGCFlags); |
- CHECK(marking->IsStopped()); |
// Count number of live transitions after marking. Note that one transition |
// is left, because 'o' still holds an instance of one transition target. |
@@ -1830,7 +1837,6 @@ TEST(Regress2143a) { |
// Explicitly request GC to perform final marking step and sweeping. |
HEAP->CollectAllGarbage(Heap::kNoGCFlags); |
- CHECK(marking->IsStopped()); |
Handle<JSObject> root = |
v8::Utils::OpenHandle( |
@@ -1883,7 +1889,6 @@ TEST(Regress2143b) { |
// Explicitly request GC to perform final marking step and sweeping. |
HEAP->CollectAllGarbage(Heap::kNoGCFlags); |
- CHECK(marking->IsStopped()); |
Handle<JSObject> root = |
v8::Utils::OpenHandle( |
@@ -2071,7 +2076,6 @@ TEST(IncrementalMarkingClearsTypeFeedbackCells) { |
} |
CHECK(marking->IsComplete()); |
HEAP->CollectAllGarbage(Heap::kNoGCFlags); |
- CHECK(marking->IsStopped()); |
CHECK_EQ(2, cells->CellCount()); |
CHECK(cells->Cell(0)->value()->IsTheHole()); |