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

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, 2 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
« no previous file with comments | « runtime/vm/dart_api_impl_test.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 781 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 static void InitOnce(); 792 static void InitOnce();
793 static Isolate* Init(const char* name_prefix, 793 static Isolate* Init(const char* name_prefix,
794 const Dart_IsolateFlags& api_flags, 794 const Dart_IsolateFlags& api_flags,
795 bool is_vm_isolate = false); 795 bool is_vm_isolate = false);
796 796
797 // The isolates_list_monitor_ should be held when calling Kill(). 797 // The isolates_list_monitor_ should be held when calling Kill().
798 void KillLocked(); 798 void KillLocked();
799 799
800 void LowLevelShutdown(); 800 void LowLevelShutdown();
801 void Shutdown(); 801 void Shutdown();
802 // Assumes mutator is the only thread still in the isolate. 802 void ReclaimTimelineBlocks();
803 void CloseAllTimelineBlocks();
804 803
805 void BuildName(const char* name_prefix); 804 void BuildName(const char* name_prefix);
806 void PrintInvokedFunctions(); 805 void PrintInvokedFunctions();
807 806
808 void ProfileIdle(); 807 void ProfileIdle();
809 808
810 // Visit all object pointers. Caller must ensure concurrent sweeper is not 809 // Visit all object pointers. Caller must ensure concurrent sweeper is not
811 // running, and the visitor must not allocate. 810 // running, and the visitor must not allocate.
812 void VisitObjectPointers(ObjectPointerVisitor* visitor, 811 void VisitObjectPointers(ObjectPointerVisitor* visitor,
813 bool visit_prologue_weak_persistent_handles, 812 bool visit_prologue_weak_persistent_handles,
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
999 998
1000 #define REUSABLE_FRIEND_DECLARATION(name) \ 999 #define REUSABLE_FRIEND_DECLARATION(name) \
1001 friend class Reusable##name##HandleScope; 1000 friend class Reusable##name##HandleScope;
1002 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) 1001 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
1003 #undef REUSABLE_FRIEND_DECLARATION 1002 #undef REUSABLE_FRIEND_DECLARATION
1004 1003
1005 friend class GCMarker; // VisitObjectPointers 1004 friend class GCMarker; // VisitObjectPointers
1006 friend class Scavenger; // VisitObjectPointers 1005 friend class Scavenger; // VisitObjectPointers
1007 friend class ServiceIsolate; 1006 friend class ServiceIsolate;
1008 friend class Thread; 1007 friend class Thread;
1008 friend class Timeline;
1009 1009
1010 DISALLOW_COPY_AND_ASSIGN(Isolate); 1010 DISALLOW_COPY_AND_ASSIGN(Isolate);
1011 }; 1011 };
1012 1012
1013 1013
1014 // When we need to execute code in an isolate, we use the 1014 // When we need to execute code in an isolate, we use the
1015 // StartIsolateScope. 1015 // StartIsolateScope.
1016 class StartIsolateScope { 1016 class StartIsolateScope {
1017 public: 1017 public:
1018 explicit StartIsolateScope(Isolate* new_isolate) 1018 explicit StartIsolateScope(Isolate* new_isolate)
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
1150 uint8_t* serialized_message_; 1150 uint8_t* serialized_message_;
1151 intptr_t serialized_message_len_; 1151 intptr_t serialized_message_len_;
1152 Isolate::Flags isolate_flags_; 1152 Isolate::Flags isolate_flags_;
1153 bool paused_; 1153 bool paused_;
1154 bool errors_are_fatal_; 1154 bool errors_are_fatal_;
1155 }; 1155 };
1156 1156
1157 } // namespace dart 1157 } // namespace dart
1158 1158
1159 #endif // VM_ISOLATE_H_ 1159 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl_test.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698