OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/heap/heap.h" | 5 #include "src/heap/heap.h" |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/api.h" | 8 #include "src/api.h" |
9 #include "src/assembler-inl.h" | 9 #include "src/assembler-inl.h" |
10 #include "src/ast/context-slot-cache.h" | 10 #include "src/ast/context-slot-cache.h" |
(...skipping 4240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4251 // incremental marking. E.g. see VisitNativeContextIncremental. | 4251 // incremental marking. E.g. see VisitNativeContextIncremental. |
4252 DCHECK( | 4252 DCHECK( |
4253 ObjectMarking::IsBlackOrGrey(obj, MarkingState::Internal(obj))); | 4253 ObjectMarking::IsBlackOrGrey(obj, MarkingState::Internal(obj))); |
4254 if (ObjectMarking::IsBlack(obj, MarkingState::Internal(obj))) { | 4254 if (ObjectMarking::IsBlack(obj, MarkingState::Internal(obj))) { |
4255 incremental_marking()->IterateBlackObject(obj); | 4255 incremental_marking()->IterateBlackObject(obj); |
4256 } | 4256 } |
4257 addr += obj->Size(); | 4257 addr += obj->Size(); |
4258 } | 4258 } |
4259 } | 4259 } |
4260 } | 4260 } |
| 4261 // We potentially deserialized wrappers which require registering with the |
| 4262 // embedder as the marker will not find them. |
| 4263 local_embedder_heap_tracer()->RegisterWrappersWithRemoteTracer(); |
4261 } | 4264 } |
4262 } | 4265 } |
4263 | 4266 |
4264 void Heap::NotifyObjectLayoutChange(HeapObject* object, | 4267 void Heap::NotifyObjectLayoutChange(HeapObject* object, |
4265 const DisallowHeapAllocation&) { | 4268 const DisallowHeapAllocation&) { |
4266 if (FLAG_incremental_marking && incremental_marking()->IsMarking()) { | 4269 if (FLAG_incremental_marking && incremental_marking()->IsMarking()) { |
4267 incremental_marking()->MarkGrey(object); | 4270 incremental_marking()->MarkGrey(object); |
4268 } | 4271 } |
4269 #ifdef VERIFY_HEAP | 4272 #ifdef VERIFY_HEAP |
4270 DCHECK(pending_layout_change_object_ == nullptr); | 4273 DCHECK(pending_layout_change_object_ == nullptr); |
(...skipping 2108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6379 case LO_SPACE: | 6382 case LO_SPACE: |
6380 return "LO_SPACE"; | 6383 return "LO_SPACE"; |
6381 default: | 6384 default: |
6382 UNREACHABLE(); | 6385 UNREACHABLE(); |
6383 } | 6386 } |
6384 return NULL; | 6387 return NULL; |
6385 } | 6388 } |
6386 | 6389 |
6387 } // namespace internal | 6390 } // namespace internal |
6388 } // namespace v8 | 6391 } // namespace v8 |
OLD | NEW |