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

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

Issue 1386503002: Initial design for background compilation (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Cleanup Created 5 years, 2 months 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
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 14 matching lines...) Expand all
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 553 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 TraceBuffer* trace_buffer() { 599 TraceBuffer* trace_buffer() {
599 return trace_buffer_; 600 return trace_buffer_;
600 } 601 }
601 602
602 DeoptContext* deopt_context() const { return deopt_context_; } 603 DeoptContext* deopt_context() const { return deopt_context_; }
603 void set_deopt_context(DeoptContext* value) { 604 void set_deopt_context(DeoptContext* value) {
604 ASSERT(value == NULL || deopt_context_ == NULL); 605 ASSERT(value == NULL || deopt_context_ == NULL);
605 deopt_context_ = value; 606 deopt_context_ = value;
606 } 607 }
607 608
609 CompileOptimizedTask* compile_optimized_task() const {
610 return compile_optimized_task_;
611 }
612 void set_compile_optimized_task(CompileOptimizedTask* value) {
613 compile_optimized_task_ = value;
614 }
615
608 void UpdateLastAllocationProfileAccumulatorResetTimestamp() { 616 void UpdateLastAllocationProfileAccumulatorResetTimestamp() {
609 last_allocationprofile_accumulator_reset_timestamp_ = 617 last_allocationprofile_accumulator_reset_timestamp_ =
610 OS::GetCurrentTimeMillis(); 618 OS::GetCurrentTimeMillis();
611 } 619 }
612 620
613 int64_t last_allocationprofile_accumulator_reset_timestamp() const { 621 int64_t last_allocationprofile_accumulator_reset_timestamp() const {
614 return last_allocationprofile_accumulator_reset_timestamp_; 622 return last_allocationprofile_accumulator_reset_timestamp_;
615 } 623 }
616 624
617 void UpdateLastAllocationProfileGCTimestamp() { 625 void UpdateLastAllocationProfileGCTimestamp() {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 void set_current_tag(const UserTag& tag); 702 void set_current_tag(const UserTag& tag);
695 703
696 RawUserTag* default_tag() const { return default_tag_; } 704 RawUserTag* default_tag() const { return default_tag_; }
697 void set_default_tag(const UserTag& tag); 705 void set_default_tag(const UserTag& tag);
698 706
699 RawGrowableObjectArray* collected_closures() const { 707 RawGrowableObjectArray* collected_closures() const {
700 return collected_closures_; 708 return collected_closures_;
701 } 709 }
702 void set_collected_closures(const GrowableObjectArray& value); 710 void set_collected_closures(const GrowableObjectArray& value);
703 711
712 RawGrowableObjectArray* background_compilation_queue() const {
713 return background_compilation_queue_;
714 }
715 void set_background_compilation_queue(const GrowableObjectArray& value);
716
704 Metric* metrics_list_head() { 717 Metric* metrics_list_head() {
705 return metrics_list_head_; 718 return metrics_list_head_;
706 } 719 }
707 720
708 void set_metrics_list_head(Metric* metric) { 721 void set_metrics_list_head(Metric* metric) {
709 metrics_list_head_ = metric; 722 metrics_list_head_ = metric;
710 } 723 }
711 724
712 RawGrowableObjectArray* deoptimized_code_array() const { 725 RawGrowableObjectArray* deoptimized_code_array() const {
713 return deoptimized_code_array_; 726 return deoptimized_code_array_;
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 uword stack_base_; 881 uword stack_base_;
869 uword stack_overflow_flags_; 882 uword stack_overflow_flags_;
870 int32_t stack_overflow_count_; 883 int32_t stack_overflow_count_;
871 MessageHandler* message_handler_; 884 MessageHandler* message_handler_;
872 IsolateSpawnState* spawn_state_; 885 IsolateSpawnState* spawn_state_;
873 bool is_runnable_; 886 bool is_runnable_;
874 Dart_GcPrologueCallback gc_prologue_callback_; 887 Dart_GcPrologueCallback gc_prologue_callback_;
875 Dart_GcEpilogueCallback gc_epilogue_callback_; 888 Dart_GcEpilogueCallback gc_epilogue_callback_;
876 intptr_t defer_finalization_count_; 889 intptr_t defer_finalization_count_;
877 DeoptContext* deopt_context_; 890 DeoptContext* deopt_context_;
891 CompileOptimizedTask* compile_optimized_task_;
878 892
879 CompilerStats* compiler_stats_; 893 CompilerStats* compiler_stats_;
880 894
881 bool is_service_isolate_; 895 bool is_service_isolate_;
882 896
883 // Status support. 897 // Status support.
884 char* stacktrace_; 898 char* stacktrace_;
885 intptr_t stack_frame_index_; 899 intptr_t stack_frame_index_;
886 900
887 // Timestamps of last operation via service. 901 // Timestamps of last operation via service.
(...skipping 10 matching lines...) Expand all
898 Mutex profiler_data_mutex_; 912 Mutex profiler_data_mutex_;
899 913
900 VMTagCounters vm_tag_counters_; 914 VMTagCounters vm_tag_counters_;
901 uword user_tag_; 915 uword user_tag_;
902 RawGrowableObjectArray* tag_table_; 916 RawGrowableObjectArray* tag_table_;
903 RawUserTag* current_tag_; 917 RawUserTag* current_tag_;
904 RawUserTag* default_tag_; 918 RawUserTag* default_tag_;
905 919
906 RawGrowableObjectArray* collected_closures_; 920 RawGrowableObjectArray* collected_closures_;
907 RawGrowableObjectArray* deoptimized_code_array_; 921 RawGrowableObjectArray* deoptimized_code_array_;
922 RawGrowableObjectArray* background_compilation_queue_;
908 923
909 // We use 6 list entries for each pending service extension calls. 924 // We use 6 list entries for each pending service extension calls.
910 enum { 925 enum {
911 kPendingHandlerIndex = 0, 926 kPendingHandlerIndex = 0,
912 kPendingMethodNameIndex, 927 kPendingMethodNameIndex,
913 kPendingKeysIndex, 928 kPendingKeysIndex,
914 kPendingValuesIndex, 929 kPendingValuesIndex,
915 kPendingReplyPortIndex, 930 kPendingReplyPortIndex,
916 kPendingIdIndex, 931 kPendingIdIndex,
917 kPendingEntrySize 932 kPendingEntrySize
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
1140 uint8_t* serialized_message_; 1155 uint8_t* serialized_message_;
1141 intptr_t serialized_message_len_; 1156 intptr_t serialized_message_len_;
1142 Isolate::Flags isolate_flags_; 1157 Isolate::Flags isolate_flags_;
1143 bool paused_; 1158 bool paused_;
1144 bool errors_are_fatal_; 1159 bool errors_are_fatal_;
1145 }; 1160 };
1146 1161
1147 } // namespace dart 1162 } // namespace dart
1148 1163
1149 #endif // VM_ISOLATE_H_ 1164 #endif // VM_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698