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/base_isolate.h" | 10 #include "vm/base_isolate.h" |
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
768 static void RemoveIsolateFromList(Isolate* isolate); | 768 static void RemoveIsolateFromList(Isolate* isolate); |
769 static void CheckForDuplicateThreadState(InterruptableThreadState* state); | 769 static void CheckForDuplicateThreadState(InterruptableThreadState* state); |
770 static Monitor* isolates_list_monitor_; | 770 static Monitor* isolates_list_monitor_; |
771 static Isolate* isolates_list_head_; | 771 static Isolate* isolates_list_head_; |
772 | 772 |
773 #define REUSABLE_FRIEND_DECLARATION(name) \ | 773 #define REUSABLE_FRIEND_DECLARATION(name) \ |
774 friend class Reusable##name##HandleScope; | 774 friend class Reusable##name##HandleScope; |
775 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) | 775 REUSABLE_HANDLE_LIST(REUSABLE_FRIEND_DECLARATION) |
776 #undef REUSABLE_FRIEND_DECLARATION | 776 #undef REUSABLE_FRIEND_DECLARATION |
777 | 777 |
778 friend class Service; | 778 friend class ServiceIsolate; |
779 | 779 |
780 DISALLOW_COPY_AND_ASSIGN(Isolate); | 780 DISALLOW_COPY_AND_ASSIGN(Isolate); |
781 }; | 781 }; |
782 | 782 |
783 | 783 |
784 // When we need to execute code in an isolate, we use the | 784 // When we need to execute code in an isolate, we use the |
785 // StartIsolateScope. | 785 // StartIsolateScope. |
786 class StartIsolateScope { | 786 class StartIsolateScope { |
787 public: | 787 public: |
788 explicit StartIsolateScope(Isolate* new_isolate) | 788 explicit StartIsolateScope(Isolate* new_isolate) |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
895 uint8_t* serialized_args_; | 895 uint8_t* serialized_args_; |
896 intptr_t serialized_args_len_; | 896 intptr_t serialized_args_len_; |
897 uint8_t* serialized_message_; | 897 uint8_t* serialized_message_; |
898 intptr_t serialized_message_len_; | 898 intptr_t serialized_message_len_; |
899 bool paused_; | 899 bool paused_; |
900 }; | 900 }; |
901 | 901 |
902 } // namespace dart | 902 } // namespace dart |
903 | 903 |
904 #endif // VM_ISOLATE_H_ | 904 #endif // VM_ISOLATE_H_ |
OLD | NEW |