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

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

Issue 1418863003: Precompilation: Generate instance calls as IC calls that can switch to Megamoprhic calls. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: 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/vm/instructions_mips.cc ('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 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 131
132 StoreBuffer* store_buffer() { return store_buffer_; } 132 StoreBuffer* store_buffer() { return store_buffer_; }
133 133
134 ThreadRegistry* thread_registry() { return thread_registry_; } 134 ThreadRegistry* thread_registry() { return thread_registry_; }
135 135
136 ClassTable* class_table() { return &class_table_; } 136 ClassTable* class_table() { return &class_table_; }
137 static intptr_t class_table_offset() { 137 static intptr_t class_table_offset() {
138 return OFFSET_OF(Isolate, class_table_); 138 return OFFSET_OF(Isolate, class_table_);
139 } 139 }
140 140
141 static intptr_t ic_miss_code_offset() {
142 return OFFSET_OF(Isolate, ic_miss_code_);
143 }
144
141 Dart_MessageNotifyCallback message_notify_callback() const { 145 Dart_MessageNotifyCallback message_notify_callback() const {
142 return message_notify_callback_; 146 return message_notify_callback_;
143 } 147 }
144 void set_message_notify_callback(Dart_MessageNotifyCallback value) { 148 void set_message_notify_callback(Dart_MessageNotifyCallback value) {
145 message_notify_callback_ = value; 149 message_notify_callback_ = value;
146 } 150 }
147 151
148 // Limited public access to BaseIsolate::mutator_thread_ for code that 152 // Limited public access to BaseIsolate::mutator_thread_ for code that
149 // must treat the mutator as the default or a special case. Prefer code 153 // must treat the mutator as the default or a special case. Prefer code
150 // that works uniformly across all threads. 154 // that works uniformly across all threads.
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 605
602 RawGrowableObjectArray* tag_table() const { return tag_table_; } 606 RawGrowableObjectArray* tag_table() const { return tag_table_; }
603 void set_tag_table(const GrowableObjectArray& value); 607 void set_tag_table(const GrowableObjectArray& value);
604 608
605 RawUserTag* current_tag() const { return current_tag_; } 609 RawUserTag* current_tag() const { return current_tag_; }
606 void set_current_tag(const UserTag& tag); 610 void set_current_tag(const UserTag& tag);
607 611
608 RawUserTag* default_tag() const { return default_tag_; } 612 RawUserTag* default_tag() const { return default_tag_; }
609 void set_default_tag(const UserTag& tag); 613 void set_default_tag(const UserTag& tag);
610 614
615 void set_ic_miss_code(const Code& code);
616
611 Metric* metrics_list_head() { 617 Metric* metrics_list_head() {
612 return metrics_list_head_; 618 return metrics_list_head_;
613 } 619 }
614 620
615 void set_metrics_list_head(Metric* metric) { 621 void set_metrics_list_head(Metric* metric) {
616 metrics_list_head_ = metric; 622 metrics_list_head_ = metric;
617 } 623 }
618 624
619 RawGrowableObjectArray* deoptimized_code_array() const { 625 RawGrowableObjectArray* deoptimized_code_array() const {
620 return deoptimized_code_array_; 626 return deoptimized_code_array_;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 return mutator_thread_->zone(); 737 return mutator_thread_->zone();
732 } 738 }
733 739
734 // Accessed from generated code: 740 // Accessed from generated code:
735 uword stack_limit_; 741 uword stack_limit_;
736 StoreBuffer* store_buffer_; 742 StoreBuffer* store_buffer_;
737 Heap* heap_; 743 Heap* heap_;
738 uword user_tag_; 744 uword user_tag_;
739 RawUserTag* current_tag_; 745 RawUserTag* current_tag_;
740 RawUserTag* default_tag_; 746 RawUserTag* default_tag_;
747 RawCode* ic_miss_code_;
741 ClassTable class_table_; 748 ClassTable class_table_;
742 bool single_step_; 749 bool single_step_;
743 750
744 ThreadRegistry* thread_registry_; 751 ThreadRegistry* thread_registry_;
745 Dart_MessageNotifyCallback message_notify_callback_; 752 Dart_MessageNotifyCallback message_notify_callback_;
746 char* name_; 753 char* name_;
747 char* debugger_name_; 754 char* debugger_name_;
748 int64_t start_time_; 755 int64_t start_time_;
749 Dart_Port main_port_; 756 Dart_Port main_port_;
750 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. 757 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id.
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
991 uint8_t* serialized_message_; 998 uint8_t* serialized_message_;
992 intptr_t serialized_message_len_; 999 intptr_t serialized_message_len_;
993 Isolate::Flags isolate_flags_; 1000 Isolate::Flags isolate_flags_;
994 bool paused_; 1001 bool paused_;
995 bool errors_are_fatal_; 1002 bool errors_are_fatal_;
996 }; 1003 };
997 1004
998 } // namespace dart 1005 } // namespace dart
999 1006
1000 #endif // VM_ISOLATE_H_ 1007 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/instructions_mips.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698