OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 #ifndef RUNTIME_VM_ISOLATE_H_ | 5 #ifndef RUNTIME_VM_ISOLATE_H_ |
6 #define RUNTIME_VM_ISOLATE_H_ | 6 #define RUNTIME_VM_ISOLATE_H_ |
7 | 7 |
8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 #include "vm/atomic.h" | 10 #include "vm/atomic.h" |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 } | 154 } |
155 | 155 |
156 // Register a newly introduced class. | 156 // Register a newly introduced class. |
157 void RegisterClass(const Class& cls); | 157 void RegisterClass(const Class& cls); |
158 void RegisterClassAt(intptr_t index, const Class& cls); | 158 void RegisterClassAt(intptr_t index, const Class& cls); |
159 void ValidateClassTable(); | 159 void ValidateClassTable(); |
160 | 160 |
161 // Visit all object pointers. | 161 // Visit all object pointers. |
162 void IterateObjectPointers(ObjectPointerVisitor* visitor, | 162 void IterateObjectPointers(ObjectPointerVisitor* visitor, |
163 bool validate_frames); | 163 bool validate_frames); |
| 164 void IterateStackPointers(ObjectPointerVisitor* visitor, |
| 165 bool validate_frames); |
164 | 166 |
165 // Visits weak object pointers. | 167 // Visits weak object pointers. |
166 void VisitWeakPersistentHandles(HandleVisitor* visitor); | 168 void VisitWeakPersistentHandles(HandleVisitor* visitor); |
167 | 169 |
168 // Prepares all threads in an isolate for Garbage Collection. | 170 // Prepares all threads in an isolate for Garbage Collection. |
169 void PrepareForGC(); | 171 void PrepareForGC(); |
170 | 172 |
171 StoreBuffer* store_buffer() { return store_buffer_; } | 173 StoreBuffer* store_buffer() { return store_buffer_; } |
172 | 174 |
173 ThreadRegistry* thread_registry() const { return thread_registry_; } | 175 ThreadRegistry* thread_registry() const { return thread_registry_; } |
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 void LowLevelShutdown(); | 660 void LowLevelShutdown(); |
659 void Shutdown(); | 661 void Shutdown(); |
660 | 662 |
661 void BuildName(const char* name_prefix); | 663 void BuildName(const char* name_prefix); |
662 | 664 |
663 void ProfileIdle(); | 665 void ProfileIdle(); |
664 | 666 |
665 // Visit all object pointers. Caller must ensure concurrent sweeper is not | 667 // Visit all object pointers. Caller must ensure concurrent sweeper is not |
666 // running, and the visitor must not allocate. | 668 // running, and the visitor must not allocate. |
667 void VisitObjectPointers(ObjectPointerVisitor* visitor, bool validate_frames); | 669 void VisitObjectPointers(ObjectPointerVisitor* visitor, bool validate_frames); |
| 670 void VisitStackPointers(ObjectPointerVisitor* visitor, bool validate_frames); |
668 | 671 |
669 void set_user_tag(uword tag) { user_tag_ = tag; } | 672 void set_user_tag(uword tag) { user_tag_ = tag; } |
670 | 673 |
671 RawGrowableObjectArray* GetAndClearPendingServiceExtensionCalls(); | 674 RawGrowableObjectArray* GetAndClearPendingServiceExtensionCalls(); |
672 RawGrowableObjectArray* pending_service_extension_calls() const { | 675 RawGrowableObjectArray* pending_service_extension_calls() const { |
673 return pending_service_extension_calls_; | 676 return pending_service_extension_calls_; |
674 } | 677 } |
675 void set_pending_service_extension_calls(const GrowableObjectArray& value); | 678 void set_pending_service_extension_calls(const GrowableObjectArray& value); |
676 RawGrowableObjectArray* registered_service_extension_handlers() const { | 679 RawGrowableObjectArray* registered_service_extension_handlers() const { |
677 return registered_service_extension_handlers_; | 680 return registered_service_extension_handlers_; |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
983 intptr_t* spawn_count_; | 986 intptr_t* spawn_count_; |
984 | 987 |
985 Dart_IsolateFlags isolate_flags_; | 988 Dart_IsolateFlags isolate_flags_; |
986 bool paused_; | 989 bool paused_; |
987 bool errors_are_fatal_; | 990 bool errors_are_fatal_; |
988 }; | 991 }; |
989 | 992 |
990 } // namespace dart | 993 } // namespace dart |
991 | 994 |
992 #endif // RUNTIME_VM_ISOLATE_H_ | 995 #endif // RUNTIME_VM_ISOLATE_H_ |
OLD | NEW |