| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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/class_table.h" | 10 #include "vm/class_table.h" |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 | 167 |
| 168 void ScheduleInterrupts(uword interrupt_bits); | 168 void ScheduleInterrupts(uword interrupt_bits); |
| 169 uword GetAndClearInterrupts(); | 169 uword GetAndClearInterrupts(); |
| 170 | 170 |
| 171 MessageHandler* message_handler() const { return message_handler_; } | 171 MessageHandler* message_handler() const { return message_handler_; } |
| 172 void set_message_handler(MessageHandler* value) { message_handler_ = value; } | 172 void set_message_handler(MessageHandler* value) { message_handler_ = value; } |
| 173 | 173 |
| 174 uword spawn_data() const { return spawn_data_; } | 174 uword spawn_data() const { return spawn_data_; } |
| 175 void set_spawn_data(uword value) { spawn_data_ = value; } | 175 void set_spawn_data(uword value) { spawn_data_ = value; } |
| 176 | 176 |
| 177 // Deprecate. | 177 static const intptr_t kNoDeoptId = -1; |
| 178 intptr_t ast_node_id() const { return ast_node_id_; } | 178 intptr_t deopt_id() const { return deopt_id_; } |
| 179 void set_ast_node_id(int value) { ast_node_id_ = value; } | 179 void set_deopt_id(int value) { |
| 180 | 180 ASSERT(value >= 0); |
| 181 intptr_t computation_id() const { return computation_id_; } | 181 deopt_id_ = value; |
| 182 void set_computation_id(int value) { computation_id_ = value; } | 182 } |
| 183 intptr_t GetNextCid() { return computation_id_++; } | 183 intptr_t GetNextDeoptId() { |
| 184 ASSERT(deopt_id_ != kNoDeoptId); |
| 185 return deopt_id_++; |
| 186 } |
| 184 | 187 |
| 185 RawArray* ic_data_array() const { return ic_data_array_; } | 188 RawArray* ic_data_array() const { return ic_data_array_; } |
| 186 void set_ic_data_array(RawArray* value) { ic_data_array_ = value; } | 189 void set_ic_data_array(RawArray* value) { ic_data_array_ = value; } |
| 187 ICData* GetICDataForCid(intptr_t cid) const; | 190 ICData* GetICDataForDeoptId(intptr_t deopt_id) const; |
| 188 | 191 |
| 189 Debugger* debugger() const { return debugger_; } | 192 Debugger* debugger() const { return debugger_; } |
| 190 | 193 |
| 191 GcPrologueCallbacks& gc_prologue_callbacks() { | 194 GcPrologueCallbacks& gc_prologue_callbacks() { |
| 192 return gc_prologue_callbacks_; | 195 return gc_prologue_callbacks_; |
| 193 } | 196 } |
| 194 | 197 |
| 195 GcEpilogueCallbacks& gc_epilogue_callbacks() { | 198 GcEpilogueCallbacks& gc_epilogue_callbacks() { |
| 196 return gc_epilogue_callbacks_; | 199 return gc_epilogue_callbacks_; |
| 197 } | 200 } |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 RawContext* top_context_; | 254 RawContext* top_context_; |
| 252 int32_t random_seed_; | 255 int32_t random_seed_; |
| 253 uword top_exit_frame_info_; | 256 uword top_exit_frame_info_; |
| 254 void* init_callback_data_; | 257 void* init_callback_data_; |
| 255 Dart_LibraryTagHandler library_tag_handler_; | 258 Dart_LibraryTagHandler library_tag_handler_; |
| 256 ApiState* api_state_; | 259 ApiState* api_state_; |
| 257 StubCode* stub_code_; | 260 StubCode* stub_code_; |
| 258 Debugger* debugger_; | 261 Debugger* debugger_; |
| 259 LongJump* long_jump_base_; | 262 LongJump* long_jump_base_; |
| 260 TimerList timer_list_; | 263 TimerList timer_list_; |
| 261 intptr_t ast_node_id_; // Deprecate. | 264 intptr_t deopt_id_; |
| 262 intptr_t computation_id_; | |
| 263 RawArray* ic_data_array_; | 265 RawArray* ic_data_array_; |
| 264 Mutex* mutex_; // protects stack_limit_ and saved_stack_limit_. | 266 Mutex* mutex_; // protects stack_limit_ and saved_stack_limit_. |
| 265 uword stack_limit_; | 267 uword stack_limit_; |
| 266 uword saved_stack_limit_; | 268 uword saved_stack_limit_; |
| 267 MessageHandler* message_handler_; | 269 MessageHandler* message_handler_; |
| 268 uword spawn_data_; | 270 uword spawn_data_; |
| 269 GcPrologueCallbacks gc_prologue_callbacks_; | 271 GcPrologueCallbacks gc_prologue_callbacks_; |
| 270 GcEpilogueCallbacks gc_epilogue_callbacks_; | 272 GcEpilogueCallbacks gc_epilogue_callbacks_; |
| 271 // Deoptimization support. | 273 // Deoptimization support. |
| 272 intptr_t* deopt_registers_copy_; | 274 intptr_t* deopt_registers_copy_; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 Isolate* new_isolate_; | 342 Isolate* new_isolate_; |
| 341 Isolate* saved_isolate_; | 343 Isolate* saved_isolate_; |
| 342 uword saved_stack_limit_; | 344 uword saved_stack_limit_; |
| 343 | 345 |
| 344 DISALLOW_COPY_AND_ASSIGN(SwitchIsolateScope); | 346 DISALLOW_COPY_AND_ASSIGN(SwitchIsolateScope); |
| 345 }; | 347 }; |
| 346 | 348 |
| 347 } // namespace dart | 349 } // namespace dart |
| 348 | 350 |
| 349 #endif // VM_ISOLATE_H_ | 351 #endif // VM_ISOLATE_H_ |
| OLD | NEW |