| Index: test/cctest/test-heap.cc
|
| diff --git a/test/cctest/test-heap.cc b/test/cctest/test-heap.cc
|
| index d7c24156a3d2aed5fad23b591898cf7e510f4902..b5a86746ee3e71006e9d1be233ae82d3fdacc597 100644
|
| --- a/test/cctest/test-heap.cc
|
| +++ b/test/cctest/test-heap.cc
|
| @@ -2141,6 +2141,12 @@ TEST(InstanceOfStubWriteBarrier) {
|
| }
|
|
|
|
|
| +static int NumberOfProtoTransitions(Map* map) {
|
| + return TransitionArray::NumberOfPrototypeTransitions(
|
| + TransitionArray::GetPrototypeTransitions(map));
|
| +}
|
| +
|
| +
|
| TEST(PrototypeTransitionClearing) {
|
| if (FLAG_never_compact) return;
|
| CcTest::InitializeVM();
|
| @@ -2153,7 +2159,7 @@ TEST(PrototypeTransitionClearing) {
|
| v8::Utils::OpenHandle(
|
| *v8::Handle<v8::Object>::Cast(
|
| CcTest::global()->Get(v8_str("base"))));
|
| - int initialTransitions = baseObject->map()->NumberOfProtoTransitions();
|
| + int initialTransitions = NumberOfProtoTransitions(baseObject->map());
|
|
|
| CompileRun(
|
| "var live = [];"
|
| @@ -2166,16 +2172,17 @@ TEST(PrototypeTransitionClearing) {
|
|
|
| // Verify that only dead prototype transitions are cleared.
|
| CHECK_EQ(initialTransitions + 10,
|
| - baseObject->map()->NumberOfProtoTransitions());
|
| + NumberOfProtoTransitions(baseObject->map()));
|
| CcTest::heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask);
|
| const int transitions = 10 - 3;
|
| CHECK_EQ(initialTransitions + transitions,
|
| - baseObject->map()->NumberOfProtoTransitions());
|
| + NumberOfProtoTransitions(baseObject->map()));
|
|
|
| // Verify that prototype transitions array was compacted.
|
| - FixedArray* trans = baseObject->map()->GetPrototypeTransitions();
|
| + FixedArray* trans =
|
| + TransitionArray::GetPrototypeTransitions(baseObject->map());
|
| for (int i = initialTransitions; i < initialTransitions + transitions; i++) {
|
| - int j = Map::kProtoTransitionHeaderSize + i;
|
| + int j = TransitionArray::kProtoTransitionHeaderSize + i;
|
| CHECK(trans->get(j)->IsMap());
|
| }
|
|
|
| @@ -2193,7 +2200,7 @@ TEST(PrototypeTransitionClearing) {
|
| i::FLAG_always_compact = true;
|
| Handle<Map> map(baseObject->map());
|
| CHECK(!space->LastPage()->Contains(
|
| - map->GetPrototypeTransitions()->address()));
|
| + TransitionArray::GetPrototypeTransitions(*map)->address()));
|
| CHECK(space->LastPage()->Contains(prototype->address()));
|
| }
|
|
|
| @@ -2876,7 +2883,7 @@ TEST(OptimizedAllocationArrayLiterals) {
|
|
|
|
|
| static int CountMapTransitions(Map* map) {
|
| - return map->transitions()->number_of_transitions();
|
| + return TransitionArray::NumberOfTransitions(map->raw_transitions());
|
| }
|
|
|
|
|
| @@ -3055,7 +3062,7 @@ TEST(TransitionArraySimpleToFull) {
|
| CompileRun("o = new F;"
|
| "root = new F");
|
| root = GetByName("root");
|
| - DCHECK(root->map()->transitions()->IsSimpleTransition());
|
| + DCHECK(TransitionArray::IsSimpleTransition(root->map()->raw_transitions()));
|
| AddPropertyTo(2, root, "happy");
|
|
|
| // Count number of live transitions after marking. Note that one transition
|
|
|