| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/gc_marker.h" | 5 #include "vm/gc_marker.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 if (raw_obj->IsNewObject()) { | 203 if (raw_obj->IsNewObject()) { |
| 204 // TODO(iposva): Add consistency check. | 204 // TODO(iposva): Add consistency check. |
| 205 if (update_store_buffers_) { | 205 if (update_store_buffers_) { |
| 206 ASSERT(p != NULL); | 206 ASSERT(p != NULL); |
| 207 isolate()->store_buffer()->AddPointer(reinterpret_cast<uword>(p)); | 207 isolate()->store_buffer()->AddPointer(reinterpret_cast<uword>(p)); |
| 208 } | 208 } |
| 209 return; | 209 return; |
| 210 } | 210 } |
| 211 | 211 |
| 212 // TODO(iposva): merge old and code spaces. | 212 // TODO(iposva): merge old and code spaces. |
| 213 ASSERT(page_space_->Contains(RawObject::ToAddr(raw_obj))); | |
| 214 MarkAndPush(raw_obj); | 213 MarkAndPush(raw_obj); |
| 215 } | 214 } |
| 216 | 215 |
| 217 Heap* heap_; | 216 Heap* heap_; |
| 218 Heap* vm_heap_; | 217 Heap* vm_heap_; |
| 219 PageSpace* page_space_; | 218 PageSpace* page_space_; |
| 220 MarkingStack* marking_stack_; | 219 MarkingStack* marking_stack_; |
| 221 typedef std::multimap<RawObject*, RawWeakProperty*> DelaySet; | 220 typedef std::multimap<RawObject*, RawWeakProperty*> DelaySet; |
| 222 DelaySet delay_set_; | 221 DelaySet delay_set_; |
| 223 bool update_store_buffers_; | 222 bool update_store_buffers_; |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 IterateRoots(isolate, &mark, !invoke_api_callbacks); | 387 IterateRoots(isolate, &mark, !invoke_api_callbacks); |
| 389 DrainMarkingStack(isolate, &mark); | 388 DrainMarkingStack(isolate, &mark); |
| 390 IterateWeakReferences(isolate, &mark); | 389 IterateWeakReferences(isolate, &mark); |
| 391 MarkingWeakVisitor mark_weak; | 390 MarkingWeakVisitor mark_weak; |
| 392 IterateWeakRoots(isolate, &mark_weak, invoke_api_callbacks); | 391 IterateWeakRoots(isolate, &mark_weak, invoke_api_callbacks); |
| 393 mark.Finalize(); | 392 mark.Finalize(); |
| 394 Epilogue(isolate, invoke_api_callbacks); | 393 Epilogue(isolate, invoke_api_callbacks); |
| 395 } | 394 } |
| 396 | 395 |
| 397 } // namespace dart | 396 } // namespace dart |
| OLD | NEW |