| 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 VM_ISOLATE_H_ | 5 #ifndef VM_ISOLATE_H_ |
| 6 #define VM_ISOLATE_H_ | 6 #define 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 "platform/thread.h" | 10 #include "platform/thread.h" |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 class RawError; | 53 class RawError; |
| 54 class RawFloat32x4; | 54 class RawFloat32x4; |
| 55 class RawInt32x4; | 55 class RawInt32x4; |
| 56 class SampleBuffer; | 56 class SampleBuffer; |
| 57 class Simulator; | 57 class Simulator; |
| 58 class StackResource; | 58 class StackResource; |
| 59 class StackZone; | 59 class StackZone; |
| 60 class StubCode; | 60 class StubCode; |
| 61 class TypeArguments; | 61 class TypeArguments; |
| 62 class TypeParameter; | 62 class TypeParameter; |
| 63 class ObjectHistogram; | |
| 64 class ObjectIdRing; | 63 class ObjectIdRing; |
| 65 | 64 |
| 66 | 65 |
| 67 #define REUSABLE_HANDLE_LIST(V) \ | 66 #define REUSABLE_HANDLE_LIST(V) \ |
| 68 V(Object) \ | 67 V(Object) \ |
| 69 V(Array) \ | 68 V(Array) \ |
| 70 V(String) \ | 69 V(String) \ |
| 71 V(Instance) \ | 70 V(Instance) \ |
| 72 V(Function) \ | 71 V(Function) \ |
| 73 V(Field) \ | 72 V(Field) \ |
| (...skipping 23 matching lines...) Expand all Loading... |
| 97 } | 96 } |
| 98 | 97 |
| 99 static void SetCurrent(Isolate* isolate); | 98 static void SetCurrent(Isolate* isolate); |
| 100 | 99 |
| 101 static void InitOnce(); | 100 static void InitOnce(); |
| 102 static Isolate* Init(const char* name_prefix); | 101 static Isolate* Init(const char* name_prefix); |
| 103 void Shutdown(); | 102 void Shutdown(); |
| 104 | 103 |
| 105 // Register a newly introduced class. | 104 // Register a newly introduced class. |
| 106 void RegisterClass(const Class& cls); | 105 void RegisterClass(const Class& cls); |
| 106 void RegisterClassAt(intptr_t index, const Class& cls); |
| 107 void ValidateClassTable(); |
| 107 | 108 |
| 108 // Visit all object pointers. | 109 // Visit all object pointers. |
| 109 void VisitObjectPointers(ObjectPointerVisitor* visitor, | 110 void VisitObjectPointers(ObjectPointerVisitor* visitor, |
| 110 bool visit_prologue_weak_persistent_handles, | 111 bool visit_prologue_weak_persistent_handles, |
| 111 bool validate_frames); | 112 bool validate_frames); |
| 112 | 113 |
| 113 // Visits weak object pointers. | 114 // Visits weak object pointers. |
| 114 void VisitWeakPersistentHandles(HandleVisitor* visit, | 115 void VisitWeakPersistentHandles(HandleVisitor* visit, |
| 115 bool visit_prologue_weak_persistent_handles); | 116 bool visit_prologue_weak_persistent_handles); |
| 116 | 117 |
| 117 StoreBuffer* store_buffer() { return &store_buffer_; } | 118 StoreBuffer* store_buffer() { return &store_buffer_; } |
| 118 static intptr_t store_buffer_offset() { | 119 static intptr_t store_buffer_offset() { |
| 119 return OFFSET_OF(Isolate, store_buffer_); | 120 return OFFSET_OF(Isolate, store_buffer_); |
| 120 } | 121 } |
| 121 | 122 |
| 122 ClassTable* class_table() { return &class_table_; } | 123 ClassTable* class_table() { return &class_table_; } |
| 123 static intptr_t class_table_offset() { | 124 static intptr_t class_table_offset() { |
| 124 return OFFSET_OF(Isolate, class_table_); | 125 return OFFSET_OF(Isolate, class_table_); |
| 125 } | 126 } |
| 126 | 127 |
| 127 ObjectHistogram* object_histogram() { return object_histogram_; } | |
| 128 | |
| 129 bool cha_used() const { return cha_used_; } | 128 bool cha_used() const { return cha_used_; } |
| 130 void set_cha_used(bool value) { cha_used_ = value; } | 129 void set_cha_used(bool value) { cha_used_ = value; } |
| 131 | 130 |
| 132 MegamorphicCacheTable* megamorphic_cache_table() { | 131 MegamorphicCacheTable* megamorphic_cache_table() { |
| 133 return &megamorphic_cache_table_; | 132 return &megamorphic_cache_table_; |
| 134 } | 133 } |
| 135 | 134 |
| 136 Dart_MessageNotifyCallback message_notify_callback() const { | 135 Dart_MessageNotifyCallback message_notify_callback() const { |
| 137 return message_notify_callback_; | 136 return message_notify_callback_; |
| 138 } | 137 } |
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 482 IsolateSpawnState* spawn_state_; | 481 IsolateSpawnState* spawn_state_; |
| 483 bool is_runnable_; | 482 bool is_runnable_; |
| 484 GcPrologueCallbacks gc_prologue_callbacks_; | 483 GcPrologueCallbacks gc_prologue_callbacks_; |
| 485 GcEpilogueCallbacks gc_epilogue_callbacks_; | 484 GcEpilogueCallbacks gc_epilogue_callbacks_; |
| 486 intptr_t defer_finalization_count_; | 485 intptr_t defer_finalization_count_; |
| 487 DeoptContext* deopt_context_; | 486 DeoptContext* deopt_context_; |
| 488 | 487 |
| 489 // Status support. | 488 // Status support. |
| 490 char* stacktrace_; | 489 char* stacktrace_; |
| 491 intptr_t stack_frame_index_; | 490 intptr_t stack_frame_index_; |
| 492 ObjectHistogram* object_histogram_; | |
| 493 | 491 |
| 494 bool cha_used_; | 492 bool cha_used_; |
| 495 | 493 |
| 496 // Ring buffer of objects assigned an id. | 494 // Ring buffer of objects assigned an id. |
| 497 ObjectIdRing* object_id_ring_; | 495 ObjectIdRing* object_id_ring_; |
| 498 | 496 |
| 499 IsolateProfilerData* profiler_data_; | 497 IsolateProfilerData* profiler_data_; |
| 500 Mutex profiler_data_mutex_; | 498 Mutex profiler_data_mutex_; |
| 501 InterruptableThreadState* thread_state_; | 499 InterruptableThreadState* thread_state_; |
| 502 | 500 |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 char* script_url_; | 623 char* script_url_; |
| 626 char* library_url_; | 624 char* library_url_; |
| 627 char* class_name_; | 625 char* class_name_; |
| 628 char* function_name_; | 626 char* function_name_; |
| 629 char* exception_callback_name_; | 627 char* exception_callback_name_; |
| 630 }; | 628 }; |
| 631 | 629 |
| 632 } // namespace dart | 630 } // namespace dart |
| 633 | 631 |
| 634 #endif // VM_ISOLATE_H_ | 632 #endif // VM_ISOLATE_H_ |
| OLD | NEW |