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

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

Issue 1346473002: Move megamorphic cache table into the Dart heap. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: non-x64 Created 5 years, 3 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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 138
139 StoreBuffer* store_buffer() { return store_buffer_; } 139 StoreBuffer* store_buffer() { return store_buffer_; }
140 140
141 ThreadRegistry* thread_registry() { return thread_registry_; } 141 ThreadRegistry* thread_registry() { return thread_registry_; }
142 142
143 ClassTable* class_table() { return &class_table_; } 143 ClassTable* class_table() { return &class_table_; }
144 static intptr_t class_table_offset() { 144 static intptr_t class_table_offset() {
145 return OFFSET_OF(Isolate, class_table_); 145 return OFFSET_OF(Isolate, class_table_);
146 } 146 }
147 147
148 MegamorphicCacheTable* megamorphic_cache_table() {
149 return &megamorphic_cache_table_;
150 }
151
152 Dart_MessageNotifyCallback message_notify_callback() const { 148 Dart_MessageNotifyCallback message_notify_callback() const {
153 return message_notify_callback_; 149 return message_notify_callback_;
154 } 150 }
155 void set_message_notify_callback(Dart_MessageNotifyCallback value) { 151 void set_message_notify_callback(Dart_MessageNotifyCallback value) {
156 message_notify_callback_ = value; 152 message_notify_callback_ = value;
157 } 153 }
158 154
159 // Limited public access to BaseIsolate::mutator_thread_ for code that 155 // Limited public access to BaseIsolate::mutator_thread_ for code that
160 // must treat the mutator as the default or a special case. Prefer code 156 // must treat the mutator as the default or a special case. Prefer code
161 // that works uniformly across all threads. 157 // that works uniformly across all threads.
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
808 #if defined(DEBUG) 804 #if defined(DEBUG)
809 bool IsIsolateOf(Thread* thread); 805 bool IsIsolateOf(Thread* thread);
810 #endif // DEBUG 806 #endif // DEBUG
811 807
812 template<class T> T* AllocateReusableHandle(); 808 template<class T> T* AllocateReusableHandle();
813 809
814 uword vm_tag_; 810 uword vm_tag_;
815 StoreBuffer* store_buffer_; 811 StoreBuffer* store_buffer_;
816 ThreadRegistry* thread_registry_; 812 ThreadRegistry* thread_registry_;
817 ClassTable class_table_; 813 ClassTable class_table_;
818 MegamorphicCacheTable megamorphic_cache_table_;
819 Dart_MessageNotifyCallback message_notify_callback_; 814 Dart_MessageNotifyCallback message_notify_callback_;
820 char* name_; 815 char* name_;
821 char* debugger_name_; 816 char* debugger_name_;
822 int64_t start_time_; 817 int64_t start_time_;
823 Dart_Port main_port_; 818 Dart_Port main_port_;
824 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id. 819 Dart_Port origin_id_; // Isolates created by spawnFunc have some origin id.
825 uint64_t pause_capability_; 820 uint64_t pause_capability_;
826 uint64_t terminate_capability_; 821 uint64_t terminate_capability_;
827 bool errors_fatal_; 822 bool errors_fatal_;
828 Heap* heap_; 823 Heap* heap_;
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
1120 uint8_t* serialized_message_; 1115 uint8_t* serialized_message_;
1121 intptr_t serialized_message_len_; 1116 intptr_t serialized_message_len_;
1122 Isolate::Flags isolate_flags_; 1117 Isolate::Flags isolate_flags_;
1123 bool paused_; 1118 bool paused_;
1124 bool errors_are_fatal_; 1119 bool errors_are_fatal_;
1125 }; 1120 };
1126 1121
1127 } // namespace dart 1122 } // namespace dart
1128 1123
1129 #endif // VM_ISOLATE_H_ 1124 #endif // VM_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698