| Index: test/cctest/test-heap.cc
|
| diff --git a/test/cctest/test-heap.cc b/test/cctest/test-heap.cc
|
| index 48313a1476165db7707ea020b9f281d3a07dea41..ef870733d83b8e9d4aaf5c375f99123182f445ef 100644
|
| --- a/test/cctest/test-heap.cc
|
| +++ b/test/cctest/test-heap.cc
|
| @@ -3346,6 +3346,8 @@ static void CheckVectorICCleared(Handle<JSFunction> f, int ic_slot_index) {
|
|
|
| TEST(IncrementalMarkingPreservesMonomorphicIC) {
|
| if (i::FLAG_always_opt) return;
|
| + // TODO(mvstanton): vector-ics need to treat maps weakly.
|
| + if (i::FLAG_vector_ics) return;
|
| CcTest::InitializeVM();
|
| v8::HandleScope scope(CcTest::isolate());
|
|
|
| @@ -3450,14 +3452,24 @@ TEST(IncrementalMarkingPreservesPolymorphicIC) {
|
| *v8::Handle<v8::Function>::Cast(CcTest::global()->Get(v8_str("f"))));
|
|
|
| Code* ic_before = FindFirstIC(f->shared()->code(), Code::LOAD_IC);
|
| - CHECK(ic_before->ic_state() == POLYMORPHIC);
|
| + if (FLAG_vector_ics) {
|
| + CheckVectorIC(f, 0, POLYMORPHIC);
|
| + CHECK(ic_before->ic_state() == DEFAULT);
|
| + } else {
|
| + CHECK(ic_before->ic_state() == POLYMORPHIC);
|
| + }
|
|
|
| // Fire context dispose notification.
|
| SimulateIncrementalMarking(CcTest::heap());
|
| CcTest::heap()->CollectAllGarbage(Heap::kNoGCFlags);
|
|
|
| Code* ic_after = FindFirstIC(f->shared()->code(), Code::LOAD_IC);
|
| - CHECK(ic_after->ic_state() == POLYMORPHIC);
|
| + if (FLAG_vector_ics) {
|
| + CheckVectorIC(f, 0, POLYMORPHIC);
|
| + CHECK(ic_after->ic_state() == DEFAULT);
|
| + } else {
|
| + CHECK(ic_after->ic_state() == POLYMORPHIC);
|
| + }
|
| }
|
|
|
|
|
| @@ -3733,6 +3745,8 @@ TEST(Regress169209) {
|
| i::FLAG_stress_compaction = false;
|
| i::FLAG_allow_natives_syntax = true;
|
| i::FLAG_flush_code_incrementally = true;
|
| + // TODO(mvstanton): vector ics need weak support.
|
| + if (i::FLAG_vector_ics) return;
|
|
|
| CcTest::InitializeVM();
|
| Isolate* isolate = CcTest::i_isolate();
|
| @@ -4086,6 +4100,8 @@ static int AllocationSitesCount(Heap* heap) {
|
|
|
|
|
| TEST(EnsureAllocationSiteDependentCodesProcessed) {
|
| + // TODO(mvstanton): vector ics need weak support!
|
| + if (FLAG_vector_ics) return;
|
| if (i::FLAG_always_opt || !i::FLAG_crankshaft) return;
|
| i::FLAG_allow_natives_syntax = true;
|
| CcTest::InitializeVM();
|
| @@ -4148,6 +4164,8 @@ TEST(EnsureAllocationSiteDependentCodesProcessed) {
|
|
|
| TEST(CellsInOptimizedCodeAreWeak) {
|
| if (i::FLAG_always_opt || !i::FLAG_crankshaft) return;
|
| + // TODO(mvstanton): vector-ics need to treat maps weakly.
|
| + if (i::FLAG_vector_ics) return;
|
| i::FLAG_weak_embedded_objects_in_optimized_code = true;
|
| i::FLAG_allow_natives_syntax = true;
|
| CcTest::InitializeVM();
|
| @@ -4190,6 +4208,8 @@ TEST(CellsInOptimizedCodeAreWeak) {
|
|
|
|
|
| TEST(ObjectsInOptimizedCodeAreWeak) {
|
| + // TODO(mvstanton): vector ics need weak support!
|
| + if (FLAG_vector_ics) return;
|
| if (i::FLAG_always_opt || !i::FLAG_crankshaft) return;
|
| i::FLAG_weak_embedded_objects_in_optimized_code = true;
|
| i::FLAG_allow_natives_syntax = true;
|
| @@ -4233,6 +4253,8 @@ TEST(ObjectsInOptimizedCodeAreWeak) {
|
| TEST(NoWeakHashTableLeakWithIncrementalMarking) {
|
| if (i::FLAG_always_opt || !i::FLAG_crankshaft) return;
|
| if (!i::FLAG_incremental_marking) return;
|
| + // TODO(mvstanton): vector ics need weak support.
|
| + if (FLAG_vector_ics) return;
|
| i::FLAG_weak_embedded_objects_in_optimized_code = true;
|
| i::FLAG_allow_natives_syntax = true;
|
| i::FLAG_compilation_cache = false;
|
| @@ -4256,8 +4278,9 @@ TEST(NoWeakHashTableLeakWithIncrementalMarking) {
|
| "bar%d();"
|
| "bar%d();"
|
| "bar%d();"
|
| - "%%OptimizeFunctionOnNextCall(bar%d);"
|
| - "bar%d();", i, i, i, i, i, i, i, i);
|
| + "%%OptimizeFwunctionOnNextCall(bar%d);"
|
| + "bar%d();",
|
| + i, i, i, i, i, i, i, i);
|
| CompileRun(source.start());
|
| }
|
| heap->CollectAllGarbage(i::Heap::kNoGCFlags);
|
| @@ -4419,6 +4442,8 @@ TEST(WeakMapInMonomorphicLoadIC) {
|
|
|
|
|
| TEST(WeakMapInPolymorphicLoadIC) {
|
| + // TODO(mvstanton): vector-ics need to treat maps weakly.
|
| + if (i::FLAG_vector_ics) return;
|
| CheckWeakness(
|
| "function loadIC(obj) {"
|
| " return obj.name;"
|
|
|