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 RUNTIME_VM_ISOLATE_H_ | 5 #ifndef RUNTIME_VM_ISOLATE_H_ |
6 #define RUNTIME_VM_ISOLATE_H_ | 6 #define RUNTIME_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 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 bool ErrorsFatal() const { return ErrorsFatalBit::decode(isolate_flags_); } | 377 bool ErrorsFatal() const { return ErrorsFatalBit::decode(isolate_flags_); } |
378 void SetErrorsFatal(bool val) { | 378 void SetErrorsFatal(bool val) { |
379 isolate_flags_ = ErrorsFatalBit::update(val, isolate_flags_); | 379 isolate_flags_ = ErrorsFatalBit::update(val, isolate_flags_); |
380 } | 380 } |
381 | 381 |
382 Random* random() { return &random_; } | 382 Random* random() { return &random_; } |
383 | 383 |
384 Simulator* simulator() const { return simulator_; } | 384 Simulator* simulator() const { return simulator_; } |
385 void set_simulator(Simulator* value) { simulator_ = value; } | 385 void set_simulator(Simulator* value) { simulator_ = value; } |
386 | 386 |
387 Dart_GcPrologueCallback gc_prologue_callback() const { | |
388 return gc_prologue_callback_; | |
389 } | |
390 | |
391 void set_gc_prologue_callback(Dart_GcPrologueCallback callback) { | |
392 gc_prologue_callback_ = callback; | |
393 } | |
394 | |
395 Dart_GcEpilogueCallback gc_epilogue_callback() const { | |
396 return gc_epilogue_callback_; | |
397 } | |
398 | |
399 void set_gc_epilogue_callback(Dart_GcEpilogueCallback callback) { | |
400 gc_epilogue_callback_ = callback; | |
401 } | |
402 | |
403 Monitor* spawn_count_monitor() const { return spawn_count_monitor_; } | 387 Monitor* spawn_count_monitor() const { return spawn_count_monitor_; } |
404 intptr_t* spawn_count() { return &spawn_count_; } | 388 intptr_t* spawn_count() { return &spawn_count_; } |
405 | 389 |
406 void IncrementSpawnCount(); | 390 void IncrementSpawnCount(); |
407 void WaitForOutstandingSpawns(); | 391 void WaitForOutstandingSpawns(); |
408 | 392 |
409 static void SetCreateCallback(Dart_IsolateCreateCallback cb) { | 393 static void SetCreateCallback(Dart_IsolateCreateCallback cb) { |
410 create_callback_ = cb; | 394 create_callback_ = cb; |
411 } | 395 } |
412 static Dart_IsolateCreateCallback CreateCallback() { | 396 static Dart_IsolateCreateCallback CreateCallback() { |
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
928 ApiState* api_state_; | 912 ApiState* api_state_; |
929 Random random_; | 913 Random random_; |
930 Simulator* simulator_; | 914 Simulator* simulator_; |
931 Mutex* mutex_; // Protects compiler stats. | 915 Mutex* mutex_; // Protects compiler stats. |
932 Mutex* symbols_mutex_; // Protects concurrent access to the symbol table. | 916 Mutex* symbols_mutex_; // Protects concurrent access to the symbol table. |
933 Mutex* type_canonicalization_mutex_; // Protects type canonicalization. | 917 Mutex* type_canonicalization_mutex_; // Protects type canonicalization. |
934 Mutex* constant_canonicalization_mutex_; // Protects const canonicalization. | 918 Mutex* constant_canonicalization_mutex_; // Protects const canonicalization. |
935 Mutex* megamorphic_lookup_mutex_; // Protects megamorphic table lookup. | 919 Mutex* megamorphic_lookup_mutex_; // Protects megamorphic table lookup. |
936 MessageHandler* message_handler_; | 920 MessageHandler* message_handler_; |
937 IsolateSpawnState* spawn_state_; | 921 IsolateSpawnState* spawn_state_; |
938 Dart_GcPrologueCallback gc_prologue_callback_; | |
939 Dart_GcEpilogueCallback gc_epilogue_callback_; | |
940 intptr_t defer_finalization_count_; | 922 intptr_t defer_finalization_count_; |
941 MallocGrowableArray<PendingLazyDeopt>* pending_deopts_; | 923 MallocGrowableArray<PendingLazyDeopt>* pending_deopts_; |
942 DeoptContext* deopt_context_; | 924 DeoptContext* deopt_context_; |
943 | 925 |
944 RawGrowableObjectArray* tag_table_; | 926 RawGrowableObjectArray* tag_table_; |
945 | 927 |
946 RawGrowableObjectArray* deoptimized_code_array_; | 928 RawGrowableObjectArray* deoptimized_code_array_; |
947 | 929 |
948 RawError* sticky_error_; | 930 RawError* sticky_error_; |
949 | 931 |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1126 intptr_t* spawn_count_; | 1108 intptr_t* spawn_count_; |
1127 | 1109 |
1128 Dart_IsolateFlags isolate_flags_; | 1110 Dart_IsolateFlags isolate_flags_; |
1129 bool paused_; | 1111 bool paused_; |
1130 bool errors_are_fatal_; | 1112 bool errors_are_fatal_; |
1131 }; | 1113 }; |
1132 | 1114 |
1133 } // namespace dart | 1115 } // namespace dart |
1134 | 1116 |
1135 #endif // RUNTIME_VM_ISOLATE_H_ | 1117 #endif // RUNTIME_VM_ISOLATE_H_ |
OLD | NEW |