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

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

Issue 1447353002: Start isolates in a separate thread. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: reupload Created 5 years, 1 month 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/tests/vm/dart/spawn_shutdown_test.dart ('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 926 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 Isolate* new_isolate_; 937 Isolate* new_isolate_;
938 Isolate* saved_isolate_; 938 Isolate* saved_isolate_;
939 939
940 DISALLOW_COPY_AND_ASSIGN(StartIsolateScope); 940 DISALLOW_COPY_AND_ASSIGN(StartIsolateScope);
941 }; 941 };
942 942
943 943
944 class IsolateSpawnState { 944 class IsolateSpawnState {
945 public: 945 public:
946 IsolateSpawnState(Dart_Port parent_port, 946 IsolateSpawnState(Dart_Port parent_port,
947 Dart_Port origin_id,
948 void* init_data,
947 const Function& func, 949 const Function& func,
948 const Instance& message, 950 const Instance& message,
949 bool paused, 951 bool paused,
950 bool errorsAreFatal, 952 bool errorsAreFatal,
951 Dart_Port onExit, 953 Dart_Port onExit,
952 Dart_Port onError); 954 Dart_Port onError);
953 IsolateSpawnState(Dart_Port parent_port, 955 IsolateSpawnState(Dart_Port parent_port,
956 void* init_data,
954 const char* script_url, 957 const char* script_url,
955 const char* package_root, 958 const char* package_root,
956 const char** package_map, 959 const char** package_map,
957 const Instance& args, 960 const Instance& args,
958 const Instance& message, 961 const Instance& message,
959 bool paused, 962 bool paused,
960 bool errorsAreFatal, 963 bool errorsAreFatal,
961 Dart_Port onExit, 964 Dart_Port onExit,
962 Dart_Port onError); 965 Dart_Port onError);
963 ~IsolateSpawnState(); 966 ~IsolateSpawnState();
964 967
965 Isolate* isolate() const { return isolate_; } 968 Isolate* isolate() const { return isolate_; }
966 void set_isolate(Isolate* value) { isolate_ = value; } 969 void set_isolate(Isolate* value) { isolate_ = value; }
967 970
968 Dart_Port parent_port() const { return parent_port_; } 971 Dart_Port parent_port() const { return parent_port_; }
972 Dart_Port origin_id() const { return origin_id_; }
973 void* init_data() const { return init_data_; }
969 Dart_Port on_exit_port() const { return on_exit_port_; } 974 Dart_Port on_exit_port() const { return on_exit_port_; }
970 Dart_Port on_error_port() const { return on_error_port_; } 975 Dart_Port on_error_port() const { return on_error_port_; }
971 const char* script_url() const { return script_url_; } 976 const char* script_url() const { return script_url_; }
972 const char* package_root() const { return package_root_; } 977 const char* package_root() const { return package_root_; }
973 const char** package_map() const { return package_map_; } 978 const char** package_map() const { return package_map_; }
974 const char* library_url() const { return library_url_; } 979 const char* library_url() const { return library_url_; }
975 const char* class_name() const { return class_name_; } 980 const char* class_name() const { return class_name_; }
976 const char* function_name() const { return function_name_; } 981 const char* function_name() const { return function_name_; }
977 bool is_spawn_uri() const { return library_url_ == NULL; } 982 bool is_spawn_uri() const { return library_url_ == NULL; }
978 bool paused() const { return paused_; } 983 bool paused() const { return paused_; }
979 bool errors_are_fatal() const { return errors_are_fatal_; } 984 bool errors_are_fatal() const { return errors_are_fatal_; }
980 Isolate::Flags* isolate_flags() { return &isolate_flags_; } 985 Isolate::Flags* isolate_flags() { return &isolate_flags_; }
981 986
982 RawObject* ResolveFunction(); 987 RawObject* ResolveFunction();
983 RawInstance* BuildArgs(Thread* thread); 988 RawInstance* BuildArgs(Thread* thread);
984 RawInstance* BuildMessage(Thread* thread); 989 RawInstance* BuildMessage(Thread* thread);
985 990
986 private: 991 private:
987 Isolate* isolate_; 992 Isolate* isolate_;
988 Dart_Port parent_port_; 993 Dart_Port parent_port_;
994 Dart_Port origin_id_;
995 void* init_data_;
989 Dart_Port on_exit_port_; 996 Dart_Port on_exit_port_;
990 Dart_Port on_error_port_; 997 Dart_Port on_error_port_;
991 const char* script_url_; 998 const char* script_url_;
992 const char* package_root_; 999 const char* package_root_;
993 const char** package_map_; 1000 const char** package_map_;
994 const char* library_url_; 1001 const char* library_url_;
995 const char* class_name_; 1002 const char* class_name_;
996 const char* function_name_; 1003 const char* function_name_;
997 uint8_t* serialized_args_; 1004 uint8_t* serialized_args_;
998 intptr_t serialized_args_len_; 1005 intptr_t serialized_args_len_;
999 uint8_t* serialized_message_; 1006 uint8_t* serialized_message_;
1000 intptr_t serialized_message_len_; 1007 intptr_t serialized_message_len_;
1001 Isolate::Flags isolate_flags_; 1008 Isolate::Flags isolate_flags_;
1002 bool paused_; 1009 bool paused_;
1003 bool errors_are_fatal_; 1010 bool errors_are_fatal_;
1004 }; 1011 };
1005 1012
1006 } // namespace dart 1013 } // namespace dart
1007 1014
1008 #endif // VM_ISOLATE_H_ 1015 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/tests/vm/dart/spawn_shutdown_test.dart ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698