Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: runtime/vm/isolate.h

Issue 1363033003: Make TimelineEventBlocks reclaimable (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl_test.cc ('k') | runtime/vm/isolate.cc » ('j') | runtime/vm/thread.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698