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

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

Issue 1270323002: Revert VM thread cleanup (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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/debugger_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/base_isolate.h" 10 #include "vm/base_isolate.h"
(...skipping 729 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 // to using the mutator thread (which must also be the current thread). 740 // to using the mutator thread (which must also be the current thread).
741 Zone* current_zone() const { 741 Zone* current_zone() const {
742 ASSERT(Thread::Current() == mutator_thread_); 742 ASSERT(Thread::Current() == mutator_thread_);
743 return mutator_thread_->zone(); 743 return mutator_thread_->zone();
744 } 744 }
745 void set_current_zone(Zone* zone) { 745 void set_current_zone(Zone* zone) {
746 ASSERT(Thread::Current() == mutator_thread_); 746 ASSERT(Thread::Current() == mutator_thread_);
747 mutator_thread_->set_zone(zone); 747 mutator_thread_->set_zone(zone);
748 } 748 }
749 749
750 static void KillIsolate(Isolate* isolate);
751 static void KillAllIsolates();
752
753 static void DisableIsolateCreation();
754 static void EnableIsolateCreation();
755
756 static int IsolateCount();
757
758 private: 750 private:
759 friend class Dart; // Init, InitOnce, Shutdown. 751 friend class Dart; // Init, InitOnce, Shutdown.
760 752
761 explicit Isolate(const Dart_IsolateFlags& api_flags); 753 explicit Isolate(const Dart_IsolateFlags& api_flags);
762 754
763 static void InitOnce(); 755 static void InitOnce();
764 static Isolate* Init(const char* name_prefix, 756 static Isolate* Init(const char* name_prefix,
765 const Dart_IsolateFlags& api_flags, 757 const Dart_IsolateFlags& api_flags,
766 bool is_vm_isolate = false); 758 bool is_vm_isolate = false);
767 void Shutdown(); 759 void Shutdown();
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 static Dart_FileOpenCallback file_open_callback_; 916 static Dart_FileOpenCallback file_open_callback_;
925 static Dart_FileReadCallback file_read_callback_; 917 static Dart_FileReadCallback file_read_callback_;
926 static Dart_FileWriteCallback file_write_callback_; 918 static Dart_FileWriteCallback file_write_callback_;
927 static Dart_FileCloseCallback file_close_callback_; 919 static Dart_FileCloseCallback file_close_callback_;
928 static Dart_EntropySource entropy_source_callback_; 920 static Dart_EntropySource entropy_source_callback_;
929 static Dart_IsolateInterruptCallback vmstats_callback_; 921 static Dart_IsolateInterruptCallback vmstats_callback_;
930 922
931 static void WakePauseEventHandler(Dart_Isolate isolate); 923 static void WakePauseEventHandler(Dart_Isolate isolate);
932 924
933 // Manage list of existing isolates. 925 // Manage list of existing isolates.
934 static bool AddIsolateToList(Isolate* isolate); 926 static void AddIsolateTolist(Isolate* isolate);
935 static void RemoveIsolateFromList(Isolate* isolate); 927 static void RemoveIsolateFromList(Isolate* isolate);
936 static void CheckForDuplicateThreadState(InterruptableThreadState* state); 928 static void CheckForDuplicateThreadState(InterruptableThreadState* state);
937 929
938 // This monitor protects isolates_list_head_, and creation_enabled_. 930 static Monitor* isolates_list_monitor_; // Protects isolates_list_head_
939 static Monitor* isolates_list_monitor_;
940 static Isolate* isolates_list_head_; 931 static Isolate* isolates_list_head_;
941 static bool creation_enabled_;
942 932
943 #define REUSABLE_FRIEND_DECLARATION(name) \ 933 #define REUSABLE_FRIEND_DECLARATION(name) \
944 friend class Reusable##name##HandleScope; 934 friend class Reusable##name##HandleScope;
945 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) 935 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION)
946 #undef REUSABLE_FRIEND_DECLARATION 936 #undef REUSABLE_FRIEND_DECLARATION
947 937
948 friend class GCMarker; // VisitObjectPointers 938 friend class GCMarker; // VisitObjectPointers
949 friend class Scavenger; // VisitObjectPointers 939 friend class Scavenger; // VisitObjectPointers
950 friend class ServiceIsolate; 940 friend class ServiceIsolate;
951 friend class Thread; 941 friend class Thread;
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
1093 uint8_t* serialized_message_; 1083 uint8_t* serialized_message_;
1094 intptr_t serialized_message_len_; 1084 intptr_t serialized_message_len_;
1095 Isolate::Flags isolate_flags_; 1085 Isolate::Flags isolate_flags_;
1096 bool paused_; 1086 bool paused_;
1097 bool errors_are_fatal_; 1087 bool errors_are_fatal_;
1098 }; 1088 };
1099 1089
1100 } // namespace dart 1090 } // namespace dart
1101 1091
1102 #endif // VM_ISOLATE_H_ 1092 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/debugger_api_impl_test.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698