| Index: src/objects-visiting-inl.h
|
| diff --git a/src/objects-visiting-inl.h b/src/objects-visiting-inl.h
|
| index 1f1033fecc0be0b28b9f50f19877a977a7469ea9..f2b0e243e3e52b5be31c61f270abd9300d78c069 100644
|
| --- a/src/objects-visiting-inl.h
|
| +++ b/src/objects-visiting-inl.h
|
| @@ -56,7 +56,7 @@ void StaticNewSpaceVisitor<StaticVisitor>::Initialize() {
|
|
|
| table_.Register(kVisitFixedDoubleArray, &VisitFixedDoubleArray);
|
|
|
| - table_.Register(kVisitNativeContext,
|
| + table_.Register(kVisitGlobalContext,
|
| &FixedBodyVisitor<StaticVisitor,
|
| Context::ScavengeBodyDescriptor,
|
| int>::Visit);
|
| @@ -117,7 +117,7 @@ void StaticMarkingVisitor<StaticVisitor>::Initialize() {
|
|
|
| table_.Register(kVisitFixedDoubleArray, &DataObjectVisitor::Visit);
|
|
|
| - table_.Register(kVisitNativeContext, &VisitNativeContext);
|
| + table_.Register(kVisitGlobalContext, &VisitGlobalContext);
|
|
|
| table_.Register(kVisitByteArray, &DataObjectVisitor::Visit);
|
|
|
| @@ -217,8 +217,9 @@ void StaticMarkingVisitor<StaticVisitor>::VisitCodeTarget(
|
| // when they might be keeping a Context alive, or when the heap is about
|
| // to be serialized.
|
| if (FLAG_cleanup_code_caches_at_gc && target->is_inline_cache_stub()
|
| - && (target->ic_state() == MEGAMORPHIC || heap->flush_monomorphic_ics() ||
|
| - Serializer::enabled() || target->ic_age() != heap->global_ic_age())) {
|
| + && (target->ic_state() == MEGAMORPHIC || Serializer::enabled() ||
|
| + heap->isolate()->context_exit_happened() ||
|
| + target->ic_age() != heap->global_ic_age())) {
|
| IC::Clear(rinfo->pc());
|
| target = Code::GetCodeFromTargetAddress(rinfo->target_address());
|
| }
|
| @@ -228,7 +229,7 @@ void StaticMarkingVisitor<StaticVisitor>::VisitCodeTarget(
|
|
|
|
|
| template<typename StaticVisitor>
|
| -void StaticMarkingVisitor<StaticVisitor>::VisitNativeContext(
|
| +void StaticMarkingVisitor<StaticVisitor>::VisitGlobalContext(
|
| Map* map, HeapObject* object) {
|
| FixedBodyVisitor<StaticVisitor,
|
| Context::MarkCompactBodyDescriptor,
|
| @@ -236,7 +237,7 @@ void StaticMarkingVisitor<StaticVisitor>::VisitNativeContext(
|
|
|
| MarkCompactCollector* collector = map->GetHeap()->mark_compact_collector();
|
| for (int idx = Context::FIRST_WEAK_SLOT;
|
| - idx < Context::NATIVE_CONTEXT_SLOTS;
|
| + idx < Context::GLOBAL_CONTEXT_SLOTS;
|
| ++idx) {
|
| Object** slot =
|
| HeapObject::RawField(object, FixedArray::OffsetOfElementAt(idx));
|
|
|