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 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
400 gc_epilogue_callback_ = callback; | 400 gc_epilogue_callback_ = callback; |
401 } | 401 } |
402 | 402 |
403 static void SetCreateCallback(Dart_IsolateCreateCallback cb) { | 403 static void SetCreateCallback(Dart_IsolateCreateCallback cb) { |
404 create_callback_ = cb; | 404 create_callback_ = cb; |
405 } | 405 } |
406 static Dart_IsolateCreateCallback CreateCallback() { | 406 static Dart_IsolateCreateCallback CreateCallback() { |
407 return create_callback_; | 407 return create_callback_; |
408 } | 408 } |
409 | 409 |
410 static void SetServiceCreateCallback(Dart_ServiceIsolateCreateCalback cb) { | |
411 service_create_callback_ = cb; | |
412 } | |
413 static Dart_ServiceIsolateCreateCalback ServiceCreateCallback() { | |
414 return service_create_callback_; | |
415 } | |
416 | |
417 static void SetInterruptCallback(Dart_IsolateInterruptCallback cb) { | 410 static void SetInterruptCallback(Dart_IsolateInterruptCallback cb) { |
418 interrupt_callback_ = cb; | 411 interrupt_callback_ = cb; |
419 } | 412 } |
420 static Dart_IsolateInterruptCallback InterruptCallback() { | 413 static Dart_IsolateInterruptCallback InterruptCallback() { |
421 return interrupt_callback_; | 414 return interrupt_callback_; |
422 } | 415 } |
423 | 416 |
424 static void SetVmStatsCallback(Dart_IsolateInterruptCallback cb) { | 417 static void SetVmStatsCallback(Dart_IsolateInterruptCallback cb) { |
425 vmstats_callback_ = cb; | 418 vmstats_callback_ = cb; |
426 } | 419 } |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
722 static Dart_IsolateCreateCallback create_callback_; | 715 static Dart_IsolateCreateCallback create_callback_; |
723 static Dart_IsolateInterruptCallback interrupt_callback_; | 716 static Dart_IsolateInterruptCallback interrupt_callback_; |
724 static Dart_IsolateUnhandledExceptionCallback unhandled_exception_callback_; | 717 static Dart_IsolateUnhandledExceptionCallback unhandled_exception_callback_; |
725 static Dart_IsolateShutdownCallback shutdown_callback_; | 718 static Dart_IsolateShutdownCallback shutdown_callback_; |
726 static Dart_FileOpenCallback file_open_callback_; | 719 static Dart_FileOpenCallback file_open_callback_; |
727 static Dart_FileReadCallback file_read_callback_; | 720 static Dart_FileReadCallback file_read_callback_; |
728 static Dart_FileWriteCallback file_write_callback_; | 721 static Dart_FileWriteCallback file_write_callback_; |
729 static Dart_FileCloseCallback file_close_callback_; | 722 static Dart_FileCloseCallback file_close_callback_; |
730 static Dart_EntropySource entropy_source_callback_; | 723 static Dart_EntropySource entropy_source_callback_; |
731 static Dart_IsolateInterruptCallback vmstats_callback_; | 724 static Dart_IsolateInterruptCallback vmstats_callback_; |
732 static Dart_ServiceIsolateCreateCalback service_create_callback_; | |
733 | 725 |
734 // Manage list of existing isolates. | 726 // Manage list of existing isolates. |
735 static void AddIsolateTolist(Isolate* isolate); | 727 static void AddIsolateTolist(Isolate* isolate); |
736 static void RemoveIsolateFromList(Isolate* isolate); | 728 static void RemoveIsolateFromList(Isolate* isolate); |
737 static void CheckForDuplicateThreadState(InterruptableThreadState* state); | 729 static void CheckForDuplicateThreadState(InterruptableThreadState* state); |
738 static Monitor* isolates_list_monitor_; | 730 static Monitor* isolates_list_monitor_; |
739 static Isolate* isolates_list_head_; | 731 static Isolate* isolates_list_head_; |
740 | 732 |
741 #define REUSABLE_FRIEND_DECLARATION(name) \ | 733 #define REUSABLE_FRIEND_DECLARATION(name) \ |
742 friend class Reusable##name##HandleScope; | 734 friend class Reusable##name##HandleScope; |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
849 char* exception_callback_name_; | 841 char* exception_callback_name_; |
850 uint8_t* serialized_args_; | 842 uint8_t* serialized_args_; |
851 intptr_t serialized_args_len_; | 843 intptr_t serialized_args_len_; |
852 uint8_t* serialized_message_; | 844 uint8_t* serialized_message_; |
853 intptr_t serialized_message_len_; | 845 intptr_t serialized_message_len_; |
854 }; | 846 }; |
855 | 847 |
856 } // namespace dart | 848 } // namespace dart |
857 | 849 |
858 #endif // VM_ISOLATE_H_ | 850 #endif // VM_ISOLATE_H_ |
OLD | NEW |