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

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

Issue 1409173002: More work for background compilation; move pending_functions_ from ObjectStore to Thread. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Better code. 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
« no previous file with comments | « runtime/vm/compiler_stats.h ('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 735 matching lines...) Expand 10 before | Expand all | Expand 10 after
746 mutator_thread_ = thread; 746 mutator_thread_ = thread;
747 } 747 }
748 #if defined(DEBUG) 748 #if defined(DEBUG)
749 bool IsIsolateOf(Thread* thread); 749 bool IsIsolateOf(Thread* thread);
750 #endif // DEBUG 750 #endif // DEBUG
751 751
752 // Accessed from generated code: 752 // Accessed from generated code:
753 uword stack_limit_; 753 uword stack_limit_;
754 StoreBuffer* store_buffer_; 754 StoreBuffer* store_buffer_;
755 Heap* heap_; 755 Heap* heap_;
756 uword vm_tag_;
757 uword user_tag_; 756 uword user_tag_;
758 RawUserTag* current_tag_; 757 RawUserTag* current_tag_;
759 RawUserTag* default_tag_; 758 RawUserTag* default_tag_;
760 ClassTable class_table_; 759 ClassTable class_table_;
761 bool single_step_; 760 bool single_step_;
762 761
763 ThreadRegistry* thread_registry_; 762 ThreadRegistry* thread_registry_;
764 Dart_MessageNotifyCallback message_notify_callback_; 763 Dart_MessageNotifyCallback message_notify_callback_;
765 char* name_; 764 char* name_;
766 char* debugger_name_; 765 char* debugger_name_;
767 int64_t start_time_; 766 int64_t start_time_;
768 Dart_Port main_port_; 767 Dart_Port main_port_;
769 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. 768 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id.
770 uint64_t pause_capability_; 769 uint64_t pause_capability_;
771 uint64_t terminate_capability_; 770 uint64_t terminate_capability_;
772 bool errors_fatal_; 771 bool errors_fatal_;
773 ObjectStore* object_store_; 772 ObjectStore* object_store_;
774 uword top_exit_frame_info_; 773 uword top_exit_frame_info_;
775 void* init_callback_data_; 774 void* init_callback_data_;
776 Dart_EnvironmentCallback environment_callback_; 775 Dart_EnvironmentCallback environment_callback_;
777 Dart_LibraryTagHandler library_tag_handler_; 776 Dart_LibraryTagHandler library_tag_handler_;
778 ApiState* api_state_; 777 ApiState* api_state_;
779 Debugger* debugger_; 778 Debugger* debugger_;
780 bool resume_request_; 779 bool resume_request_;
781 int64_t last_resume_timestamp_; 780 int64_t last_resume_timestamp_;
782 bool has_compiled_code_; // Can check that no compilation occured. 781 bool has_compiled_code_; // Can check that no compilation occured.
783 Flags flags_; 782 Flags flags_;
784 Random random_; 783 Random random_;
785 Simulator* simulator_; 784 Simulator* simulator_;
786 Mutex* mutex_; // protects stack_limit_ and saved_stack_limit_. 785 Mutex* mutex_; // protects stack_limit_, saved_stack_limit_, compiler stats.
787 uword saved_stack_limit_; 786 uword saved_stack_limit_;
788 uword stack_base_; 787 uword stack_base_;
789 uword stack_overflow_flags_; 788 uword stack_overflow_flags_;
790 int32_t stack_overflow_count_; 789 int32_t stack_overflow_count_;
791 MessageHandler* message_handler_; 790 MessageHandler* message_handler_;
792 IsolateSpawnState* spawn_state_; 791 IsolateSpawnState* spawn_state_;
793 bool is_runnable_; 792 bool is_runnable_;
794 Dart_GcPrologueCallback gc_prologue_callback_; 793 Dart_GcPrologueCallback gc_prologue_callback_;
795 Dart_GcEpilogueCallback gc_epilogue_callback_; 794 Dart_GcEpilogueCallback gc_epilogue_callback_;
796 intptr_t defer_finalization_count_; 795 intptr_t defer_finalization_count_;
797 DeoptContext* deopt_context_; 796 DeoptContext* deopt_context_;
798 BackgroundCompiler* background_compiler_;
799 797
800 CompilerStats* compiler_stats_; 798 CompilerStats* compiler_stats_;
801 799
802 bool is_service_isolate_; 800 bool is_service_isolate_;
803 801
804 // Status support. 802 // Status support.
805 char* stacktrace_; 803 char* stacktrace_;
806 intptr_t stack_frame_index_; 804 intptr_t stack_frame_index_;
807 805
808 // Timestamps of last operation via service. 806 // Timestamps of last operation via service.
809 int64_t last_allocationprofile_accumulator_reset_timestamp_; 807 int64_t last_allocationprofile_accumulator_reset_timestamp_;
810 int64_t last_allocationprofile_gc_timestamp_; 808 int64_t last_allocationprofile_gc_timestamp_;
811 809
812 // Ring buffer of objects assigned an id. 810 // Ring buffer of objects assigned an id.
813 ObjectIdRing* object_id_ring_; 811 ObjectIdRing* object_id_ring_;
814 812
815 // Trace buffer support. 813 // Trace buffer support.
816 TraceBuffer* trace_buffer_; 814 TraceBuffer* trace_buffer_;
817 815
818 IsolateProfilerData* profiler_data_; 816 IsolateProfilerData* profiler_data_;
819 Mutex profiler_data_mutex_; 817 Mutex profiler_data_mutex_;
820 818
821 VMTagCounters vm_tag_counters_; 819 VMTagCounters vm_tag_counters_;
822 RawGrowableObjectArray* tag_table_; 820 RawGrowableObjectArray* tag_table_;
823 821
822 RawGrowableObjectArray* deoptimized_code_array_;
824 823
825 RawGrowableObjectArray* deoptimized_code_array_; 824 // Background compilation.
825 BackgroundCompiler* background_compiler_;
826 RawGrowableObjectArray* background_compilation_queue_; 826 RawGrowableObjectArray* background_compilation_queue_;
827 827
828 // We use 6 list entries for each pending service extension calls. 828 // We use 6 list entries for each pending service extension calls.
829 enum { 829 enum {
830 kPendingHandlerIndex = 0, 830 kPendingHandlerIndex = 0,
831 kPendingMethodNameIndex, 831 kPendingMethodNameIndex,
832 kPendingKeysIndex, 832 kPendingKeysIndex,
833 kPendingValuesIndex, 833 kPendingValuesIndex,
834 kPendingReplyPortIndex, 834 kPendingReplyPortIndex,
835 kPendingIdIndex, 835 kPendingIdIndex,
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
1045 uint8_t* serialized_message_; 1045 uint8_t* serialized_message_;
1046 intptr_t serialized_message_len_; 1046 intptr_t serialized_message_len_;
1047 Isolate::Flags isolate_flags_; 1047 Isolate::Flags isolate_flags_;
1048 bool paused_; 1048 bool paused_;
1049 bool errors_are_fatal_; 1049 bool errors_are_fatal_;
1050 }; 1050 };
1051 1051
1052 } // namespace dart 1052 } // namespace dart
1053 1053
1054 #endif // VM_ISOLATE_H_ 1054 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/compiler_stats.h ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698