OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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/isolate.h" | 5 #include "vm/isolate.h" |
6 | 6 |
7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "lib/mirrors.h" | 9 #include "lib/mirrors.h" |
10 #include "vm/compiler_stats.h" | 10 #include "vm/compiler_stats.h" |
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 bool visit_prologue_weak_handles, | 463 bool visit_prologue_weak_handles, |
464 bool validate_frames) { | 464 bool validate_frames) { |
465 ASSERT(visitor != NULL); | 465 ASSERT(visitor != NULL); |
466 | 466 |
467 // Visit objects in the object store. | 467 // Visit objects in the object store. |
468 object_store()->VisitObjectPointers(visitor); | 468 object_store()->VisitObjectPointers(visitor); |
469 | 469 |
470 // Visit objects in the class table. | 470 // Visit objects in the class table. |
471 class_table()->VisitObjectPointers(visitor); | 471 class_table()->VisitObjectPointers(visitor); |
472 | 472 |
| 473 // Visit objects in the megamorphic cache. |
| 474 megamorphic_cache_table()->VisitObjectPointers(visitor); |
| 475 |
473 // Visit objects in per isolate stubs. | 476 // Visit objects in per isolate stubs. |
474 StubCode::VisitObjectPointers(visitor); | 477 StubCode::VisitObjectPointers(visitor); |
475 | 478 |
476 // Visit objects in zones. | 479 // Visit objects in zones. |
477 current_zone()->VisitObjectPointers(visitor); | 480 current_zone()->VisitObjectPointers(visitor); |
478 | 481 |
479 // Iterate over all the stack frames and visit objects on the stack. | 482 // Iterate over all the stack frames and visit objects on the stack. |
480 StackFrameIterator frames_iterator(validate_frames); | 483 StackFrameIterator frames_iterator(validate_frames); |
481 StackFrame* frame = frames_iterator.NextFrame(); | 484 StackFrame* frame = frames_iterator.NextFrame(); |
482 while (frame != NULL) { | 485 while (frame != NULL) { |
(...skipping 18 matching lines...) Expand all Loading... |
501 | 504 |
502 | 505 |
503 void Isolate::VisitWeakPersistentHandles(HandleVisitor* visitor, | 506 void Isolate::VisitWeakPersistentHandles(HandleVisitor* visitor, |
504 bool visit_prologue_weak_handles) { | 507 bool visit_prologue_weak_handles) { |
505 if (api_state() != NULL) { | 508 if (api_state() != NULL) { |
506 api_state()->VisitWeakHandles(visitor, visit_prologue_weak_handles); | 509 api_state()->VisitWeakHandles(visitor, visit_prologue_weak_handles); |
507 } | 510 } |
508 } | 511 } |
509 | 512 |
510 } // namespace dart | 513 } // namespace dart |
OLD | NEW |