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

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

Issue 463103002: Fix bug with CHA dependencies by recording a set of classes for registering code. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
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 "platform/thread.h" 10 #include "platform/thread.h"
11 #include "vm/base_isolate.h" 11 #include "vm/base_isolate.h"
12 #include "vm/class_table.h" 12 #include "vm/class_table.h"
13 #include "vm/counters.h" 13 #include "vm/counters.h"
14 #include "vm/handles.h" 14 #include "vm/handles.h"
15 #include "vm/megamorphic_cache_table.h" 15 #include "vm/megamorphic_cache_table.h"
16 #include "vm/random.h" 16 #include "vm/random.h"
17 #include "vm/store_buffer.h" 17 #include "vm/store_buffer.h"
18 #include "vm/tags.h" 18 #include "vm/tags.h"
19 #include "vm/trace_buffer.h" 19 #include "vm/trace_buffer.h"
20 #include "vm/timer.h" 20 #include "vm/timer.h"
21 21
22 namespace dart { 22 namespace dart {
23 23
24 // Forward declarations. 24 // Forward declarations.
25 class AbstractType; 25 class AbstractType;
26 class ApiState; 26 class ApiState;
27 class Array; 27 class Array;
28 class Capability; 28 class Capability;
29 class CHA;
29 class Class; 30 class Class;
30 class Code; 31 class Code;
31 class CodeIndexTable; 32 class CodeIndexTable;
32 class Debugger; 33 class Debugger;
33 class DeoptContext; 34 class DeoptContext;
34 class Error; 35 class Error;
35 class ExceptionHandlers; 36 class ExceptionHandlers;
36 class Field; 37 class Field;
37 class Function; 38 class Function;
38 class GrowableObjectArray; 39 class GrowableObjectArray;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 StoreBuffer* store_buffer() { return &store_buffer_; } 137 StoreBuffer* store_buffer() { return &store_buffer_; }
137 static intptr_t store_buffer_offset() { 138 static intptr_t store_buffer_offset() {
138 return OFFSET_OF(Isolate, store_buffer_); 139 return OFFSET_OF(Isolate, store_buffer_);
139 } 140 }
140 141
141 ClassTable* class_table() { return &class_table_; } 142 ClassTable* class_table() { return &class_table_; }
142 static intptr_t class_table_offset() { 143 static intptr_t class_table_offset() {
143 return OFFSET_OF(Isolate, class_table_); 144 return OFFSET_OF(Isolate, class_table_);
144 } 145 }
145 146
146 bool cha_used() const { return cha_used_; } 147 CHA* cha() const { return cha_; }
147 void set_cha_used(bool value) { cha_used_ = value; } 148 void set_cha(CHA* value) { cha_ = value; }
148 149
149 MegamorphicCacheTable* megamorphic_cache_table() { 150 MegamorphicCacheTable* megamorphic_cache_table() {
150 return &megamorphic_cache_table_; 151 return &megamorphic_cache_table_;
151 } 152 }
152 153
153 Dart_MessageNotifyCallback message_notify_callback() const { 154 Dart_MessageNotifyCallback message_notify_callback() const {
154 return message_notify_callback_; 155 return message_notify_callback_;
155 } 156 }
156 void set_message_notify_callback(Dart_MessageNotifyCallback value) { 157 void set_message_notify_callback(Dart_MessageNotifyCallback value) {
157 message_notify_callback_ = value; 158 message_notify_callback_ = value;
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 DeoptContext* deopt_context_; 641 DeoptContext* deopt_context_;
641 642
642 // Status support. 643 // Status support.
643 char* stacktrace_; 644 char* stacktrace_;
644 intptr_t stack_frame_index_; 645 intptr_t stack_frame_index_;
645 646
646 // Timestamps of last operation via service. 647 // Timestamps of last operation via service.
647 int64_t last_allocationprofile_accumulator_reset_timestamp_; 648 int64_t last_allocationprofile_accumulator_reset_timestamp_;
648 int64_t last_allocationprofile_gc_timestamp_; 649 int64_t last_allocationprofile_gc_timestamp_;
649 650
650 bool cha_used_; 651 CHA* cha_;
651 652
652 // Ring buffer of objects assigned an id. 653 // Ring buffer of objects assigned an id.
653 ObjectIdRing* object_id_ring_; 654 ObjectIdRing* object_id_ring_;
654 655
655 // Trace buffer support. 656 // Trace buffer support.
656 TraceBuffer* trace_buffer_; 657 TraceBuffer* trace_buffer_;
657 658
658 IsolateProfilerData* profiler_data_; 659 IsolateProfilerData* profiler_data_;
659 Mutex profiler_data_mutex_; 660 Mutex profiler_data_mutex_;
660 InterruptableThreadState* thread_state_; 661 InterruptableThreadState* thread_state_;
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 char* script_url_; 801 char* script_url_;
801 char* library_url_; 802 char* library_url_;
802 char* class_name_; 803 char* class_name_;
803 char* function_name_; 804 char* function_name_;
804 char* exception_callback_name_; 805 char* exception_callback_name_;
805 }; 806 };
806 807
807 } // namespace dart 808 } // namespace dart
808 809
809 #endif // VM_ISOLATE_H_ 810 #endif // VM_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698