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/atomic.h" | 10 #include "vm/atomic.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 | 25 |
26 // Forward declarations. | 26 // Forward declarations. |
27 class AbstractType; | 27 class AbstractType; |
28 class ApiState; | 28 class ApiState; |
29 class Array; | 29 class Array; |
30 class Capability; | 30 class Capability; |
31 class CHA; | 31 class CHA; |
32 class Class; | 32 class Class; |
33 class Code; | 33 class Code; |
34 class CodeIndexTable; | 34 class CodeIndexTable; |
| 35 class CompileOptimizedTask; |
35 class CompilerStats; | 36 class CompilerStats; |
36 class Debugger; | 37 class Debugger; |
37 class DeoptContext; | 38 class DeoptContext; |
38 class Error; | 39 class Error; |
39 class ExceptionHandlers; | 40 class ExceptionHandlers; |
40 class Field; | 41 class Field; |
41 class Function; | 42 class Function; |
42 class GrowableObjectArray; | 43 class GrowableObjectArray; |
43 class HandleScope; | 44 class HandleScope; |
44 class HandleVisitor; | 45 class HandleVisitor; |
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 TraceBuffer* trace_buffer() { | 597 TraceBuffer* trace_buffer() { |
597 return trace_buffer_; | 598 return trace_buffer_; |
598 } | 599 } |
599 | 600 |
600 DeoptContext* deopt_context() const { return deopt_context_; } | 601 DeoptContext* deopt_context() const { return deopt_context_; } |
601 void set_deopt_context(DeoptContext* value) { | 602 void set_deopt_context(DeoptContext* value) { |
602 ASSERT(value == NULL || deopt_context_ == NULL); | 603 ASSERT(value == NULL || deopt_context_ == NULL); |
603 deopt_context_ = value; | 604 deopt_context_ = value; |
604 } | 605 } |
605 | 606 |
| 607 CompileOptimizedTask* compile_optimized_task() const { |
| 608 return compile_optimized_task_; |
| 609 } |
| 610 void set_compile_optimized_task(CompileOptimizedTask* value) { |
| 611 compile_optimized_task_ = value; |
| 612 } |
| 613 |
606 void UpdateLastAllocationProfileAccumulatorResetTimestamp() { | 614 void UpdateLastAllocationProfileAccumulatorResetTimestamp() { |
607 last_allocationprofile_accumulator_reset_timestamp_ = | 615 last_allocationprofile_accumulator_reset_timestamp_ = |
608 OS::GetCurrentTimeMillis(); | 616 OS::GetCurrentTimeMillis(); |
609 } | 617 } |
610 | 618 |
611 int64_t last_allocationprofile_accumulator_reset_timestamp() const { | 619 int64_t last_allocationprofile_accumulator_reset_timestamp() const { |
612 return last_allocationprofile_accumulator_reset_timestamp_; | 620 return last_allocationprofile_accumulator_reset_timestamp_; |
613 } | 621 } |
614 | 622 |
615 void UpdateLastAllocationProfileGCTimestamp() { | 623 void UpdateLastAllocationProfileGCTimestamp() { |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
692 void set_current_tag(const UserTag& tag); | 700 void set_current_tag(const UserTag& tag); |
693 | 701 |
694 RawUserTag* default_tag() const { return default_tag_; } | 702 RawUserTag* default_tag() const { return default_tag_; } |
695 void set_default_tag(const UserTag& tag); | 703 void set_default_tag(const UserTag& tag); |
696 | 704 |
697 RawGrowableObjectArray* collected_closures() const { | 705 RawGrowableObjectArray* collected_closures() const { |
698 return collected_closures_; | 706 return collected_closures_; |
699 } | 707 } |
700 void set_collected_closures(const GrowableObjectArray& value); | 708 void set_collected_closures(const GrowableObjectArray& value); |
701 | 709 |
| 710 RawGrowableObjectArray* background_compilation_queue() const { |
| 711 return background_compilation_queue_; |
| 712 } |
| 713 void set_background_compilation_queue(const GrowableObjectArray& value); |
| 714 |
702 Metric* metrics_list_head() { | 715 Metric* metrics_list_head() { |
703 return metrics_list_head_; | 716 return metrics_list_head_; |
704 } | 717 } |
705 | 718 |
706 void set_metrics_list_head(Metric* metric) { | 719 void set_metrics_list_head(Metric* metric) { |
707 metrics_list_head_ = metric; | 720 metrics_list_head_ = metric; |
708 } | 721 } |
709 | 722 |
710 RawGrowableObjectArray* deoptimized_code_array() const { | 723 RawGrowableObjectArray* deoptimized_code_array() const { |
711 return deoptimized_code_array_; | 724 return deoptimized_code_array_; |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
865 uword stack_base_; | 878 uword stack_base_; |
866 uword stack_overflow_flags_; | 879 uword stack_overflow_flags_; |
867 int32_t stack_overflow_count_; | 880 int32_t stack_overflow_count_; |
868 MessageHandler* message_handler_; | 881 MessageHandler* message_handler_; |
869 IsolateSpawnState* spawn_state_; | 882 IsolateSpawnState* spawn_state_; |
870 bool is_runnable_; | 883 bool is_runnable_; |
871 Dart_GcPrologueCallback gc_prologue_callback_; | 884 Dart_GcPrologueCallback gc_prologue_callback_; |
872 Dart_GcEpilogueCallback gc_epilogue_callback_; | 885 Dart_GcEpilogueCallback gc_epilogue_callback_; |
873 intptr_t defer_finalization_count_; | 886 intptr_t defer_finalization_count_; |
874 DeoptContext* deopt_context_; | 887 DeoptContext* deopt_context_; |
| 888 CompileOptimizedTask* compile_optimized_task_; |
875 | 889 |
876 CompilerStats* compiler_stats_; | 890 CompilerStats* compiler_stats_; |
877 | 891 |
878 bool is_service_isolate_; | 892 bool is_service_isolate_; |
879 | 893 |
880 // Status support. | 894 // Status support. |
881 char* stacktrace_; | 895 char* stacktrace_; |
882 intptr_t stack_frame_index_; | 896 intptr_t stack_frame_index_; |
883 | 897 |
884 // Timestamps of last operation via service. | 898 // Timestamps of last operation via service. |
(...skipping 10 matching lines...) Expand all Loading... |
895 Mutex profiler_data_mutex_; | 909 Mutex profiler_data_mutex_; |
896 | 910 |
897 VMTagCounters vm_tag_counters_; | 911 VMTagCounters vm_tag_counters_; |
898 uword user_tag_; | 912 uword user_tag_; |
899 RawGrowableObjectArray* tag_table_; | 913 RawGrowableObjectArray* tag_table_; |
900 RawUserTag* current_tag_; | 914 RawUserTag* current_tag_; |
901 RawUserTag* default_tag_; | 915 RawUserTag* default_tag_; |
902 | 916 |
903 RawGrowableObjectArray* collected_closures_; | 917 RawGrowableObjectArray* collected_closures_; |
904 RawGrowableObjectArray* deoptimized_code_array_; | 918 RawGrowableObjectArray* deoptimized_code_array_; |
| 919 RawGrowableObjectArray* background_compilation_queue_; |
905 | 920 |
906 // We use 6 list entries for each pending service extension calls. | 921 // We use 6 list entries for each pending service extension calls. |
907 enum { | 922 enum { |
908 kPendingHandlerIndex = 0, | 923 kPendingHandlerIndex = 0, |
909 kPendingMethodNameIndex, | 924 kPendingMethodNameIndex, |
910 kPendingKeysIndex, | 925 kPendingKeysIndex, |
911 kPendingValuesIndex, | 926 kPendingValuesIndex, |
912 kPendingReplyPortIndex, | 927 kPendingReplyPortIndex, |
913 kPendingIdIndex, | 928 kPendingIdIndex, |
914 kPendingEntrySize | 929 kPendingEntrySize |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1137 uint8_t* serialized_message_; | 1152 uint8_t* serialized_message_; |
1138 intptr_t serialized_message_len_; | 1153 intptr_t serialized_message_len_; |
1139 Isolate::Flags isolate_flags_; | 1154 Isolate::Flags isolate_flags_; |
1140 bool paused_; | 1155 bool paused_; |
1141 bool errors_are_fatal_; | 1156 bool errors_are_fatal_; |
1142 }; | 1157 }; |
1143 | 1158 |
1144 } // namespace dart | 1159 } // namespace dart |
1145 | 1160 |
1146 #endif // VM_ISOLATE_H_ | 1161 #endif // VM_ISOLATE_H_ |
OLD | NEW |