| 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 "vm/atomic.h" | 10 #include "vm/atomic.h" |
| (...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 769 static void InitOnce(); | 769 static void InitOnce(); |
| 770 static Isolate* Init(const char* name_prefix, | 770 static Isolate* Init(const char* name_prefix, |
| 771 const Dart_IsolateFlags& api_flags, | 771 const Dart_IsolateFlags& api_flags, |
| 772 bool is_vm_isolate = false); | 772 bool is_vm_isolate = false); |
| 773 | 773 |
| 774 // The isolates_list_monitor_ should be held when calling Kill(). | 774 // The isolates_list_monitor_ should be held when calling Kill(). |
| 775 void KillLocked(); | 775 void KillLocked(); |
| 776 | 776 |
| 777 void LowLevelShutdown(); | 777 void LowLevelShutdown(); |
| 778 void Shutdown(); | 778 void Shutdown(); |
| 779 // Assumes mutator is the only thread still in the isolate. | 779 void ReclaimTimelineBlocks(); |
| 780 void CloseAllTimelineBlocks(); | |
| 781 | 780 |
| 782 void BuildName(const char* name_prefix); | 781 void BuildName(const char* name_prefix); |
| 783 void PrintInvokedFunctions(); | 782 void PrintInvokedFunctions(); |
| 784 | 783 |
| 785 void ProfileIdle(); | 784 void ProfileIdle(); |
| 786 | 785 |
| 787 // Visit all object pointers. Caller must ensure concurrent sweeper is not | 786 // Visit all object pointers. Caller must ensure concurrent sweeper is not |
| 788 // running, and the visitor must not allocate. | 787 // running, and the visitor must not allocate. |
| 789 void VisitObjectPointers(ObjectPointerVisitor* visitor, | 788 void VisitObjectPointers(ObjectPointerVisitor* visitor, |
| 790 bool visit_prologue_weak_persistent_handles, | 789 bool visit_prologue_weak_persistent_handles, |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 976 | 975 |
| 977 #define REUSABLE_FRIEND_DECLARATION(name) \ | 976 #define REUSABLE_FRIEND_DECLARATION(name) \ |
| 978 friend class Reusable##name##HandleScope; | 977 friend class Reusable##name##HandleScope; |
| 979 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) | 978 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) |
| 980 #undef REUSABLE_FRIEND_DECLARATION | 979 #undef REUSABLE_FRIEND_DECLARATION |
| 981 | 980 |
| 982 friend class GCMarker; // VisitObjectPointers | 981 friend class GCMarker; // VisitObjectPointers |
| 983 friend class Scavenger; // VisitObjectPointers | 982 friend class Scavenger; // VisitObjectPointers |
| 984 friend class ServiceIsolate; | 983 friend class ServiceIsolate; |
| 985 friend class Thread; | 984 friend class Thread; |
| 985 friend class Timeline; |
| 986 | 986 |
| 987 DISALLOW_COPY_AND_ASSIGN(Isolate); | 987 DISALLOW_COPY_AND_ASSIGN(Isolate); |
| 988 }; | 988 }; |
| 989 | 989 |
| 990 | 990 |
| 991 // When we need to execute code in an isolate, we use the | 991 // When we need to execute code in an isolate, we use the |
| 992 // StartIsolateScope. | 992 // StartIsolateScope. |
| 993 class StartIsolateScope { | 993 class StartIsolateScope { |
| 994 public: | 994 public: |
| 995 explicit StartIsolateScope(Isolate* new_isolate) | 995 explicit StartIsolateScope(Isolate* new_isolate) |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1127 uint8_t* serialized_message_; | 1127 uint8_t* serialized_message_; |
| 1128 intptr_t serialized_message_len_; | 1128 intptr_t serialized_message_len_; |
| 1129 Isolate::Flags isolate_flags_; | 1129 Isolate::Flags isolate_flags_; |
| 1130 bool paused_; | 1130 bool paused_; |
| 1131 bool errors_are_fatal_; | 1131 bool errors_are_fatal_; |
| 1132 }; | 1132 }; |
| 1133 | 1133 |
| 1134 } // namespace dart | 1134 } // namespace dart |
| 1135 | 1135 |
| 1136 #endif // VM_ISOLATE_H_ | 1136 #endif // VM_ISOLATE_H_ |
| OLD | NEW |