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 "platform/thread.h" | 10 #include "platform/thread.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 | 121 |
122 Dart_MessageNotifyCallback message_notify_callback() const { | 122 Dart_MessageNotifyCallback message_notify_callback() const { |
123 return message_notify_callback_; | 123 return message_notify_callback_; |
124 } | 124 } |
125 void set_message_notify_callback(Dart_MessageNotifyCallback value) { | 125 void set_message_notify_callback(Dart_MessageNotifyCallback value) { |
126 message_notify_callback_ = value; | 126 message_notify_callback_ = value; |
127 } | 127 } |
128 | 128 |
129 const char* name() const { return name_; } | 129 const char* name() const { return name_; } |
130 | 130 |
| 131 int64_t start_time() const { return start_time_; } |
| 132 |
131 Dart_Port main_port() { return main_port_; } | 133 Dart_Port main_port() { return main_port_; } |
132 void set_main_port(Dart_Port port) { | 134 void set_main_port(Dart_Port port) { |
133 ASSERT(main_port_ == 0); // Only set main port once. | 135 ASSERT(main_port_ == 0); // Only set main port once. |
134 main_port_ = port; | 136 main_port_ = port; |
135 } | 137 } |
136 | 138 |
137 Heap* heap() const { return heap_; } | 139 Heap* heap() const { return heap_; } |
138 void set_heap(Heap* value) { heap_ = value; } | 140 void set_heap(Heap* value) { heap_ = value; } |
139 static intptr_t heap_offset() { return OFFSET_OF(Isolate, heap_); } | 141 static intptr_t heap_offset() { return OFFSET_OF(Isolate, heap_); } |
140 | 142 |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 | 346 |
345 static const intptr_t kStackSizeBuffer = (16 * KB); | 347 static const intptr_t kStackSizeBuffer = (16 * KB); |
346 | 348 |
347 static ThreadLocalKey isolate_key; | 349 static ThreadLocalKey isolate_key; |
348 StoreBufferBlock store_buffer_block_; | 350 StoreBufferBlock store_buffer_block_; |
349 StoreBuffer store_buffer_; | 351 StoreBuffer store_buffer_; |
350 ClassTable class_table_; | 352 ClassTable class_table_; |
351 MegamorphicCacheTable megamorphic_cache_table_; | 353 MegamorphicCacheTable megamorphic_cache_table_; |
352 Dart_MessageNotifyCallback message_notify_callback_; | 354 Dart_MessageNotifyCallback message_notify_callback_; |
353 char* name_; | 355 char* name_; |
| 356 int64_t start_time_; |
354 Dart_Port main_port_; | 357 Dart_Port main_port_; |
355 Heap* heap_; | 358 Heap* heap_; |
356 ObjectStore* object_store_; | 359 ObjectStore* object_store_; |
357 RawContext* top_context_; | 360 RawContext* top_context_; |
358 uword top_exit_frame_info_; | 361 uword top_exit_frame_info_; |
359 void* init_callback_data_; | 362 void* init_callback_data_; |
360 Dart_LibraryTagHandler library_tag_handler_; | 363 Dart_LibraryTagHandler library_tag_handler_; |
361 ApiState* api_state_; | 364 ApiState* api_state_; |
362 StubCode* stub_code_; | 365 StubCode* stub_code_; |
363 Debugger* debugger_; | 366 Debugger* debugger_; |
364 LongJump* long_jump_base_; | 367 LongJump* long_jump_base_; |
365 TimerList timer_list_; | 368 TimerList timer_list_; |
366 intptr_t deopt_id_; | 369 intptr_t deopt_id_; |
367 RawArray* ic_data_array_; | 370 RawArray* ic_data_array_; |
368 Mutex* mutex_; // protects stack_limit_ and saved_stack_limit_. | 371 Mutex* mutex_; // protects stack_limit_ and saved_stack_limit_. |
369 uword stack_limit_; | 372 uword stack_limit_; |
370 uword saved_stack_limit_; | 373 uword saved_stack_limit_; |
371 MessageHandler* message_handler_; | 374 MessageHandler* message_handler_; |
372 uword spawn_data_; | 375 uword spawn_data_; |
373 GcPrologueCallbacks gc_prologue_callbacks_; | 376 GcPrologueCallbacks gc_prologue_callbacks_; |
374 GcEpilogueCallbacks gc_epilogue_callbacks_; | 377 GcEpilogueCallbacks gc_epilogue_callbacks_; |
| 378 |
375 // Deoptimization support. | 379 // Deoptimization support. |
376 intptr_t* deopt_cpu_registers_copy_; | 380 intptr_t* deopt_cpu_registers_copy_; |
377 double* deopt_xmm_registers_copy_; | 381 double* deopt_xmm_registers_copy_; |
378 intptr_t* deopt_frame_copy_; | 382 intptr_t* deopt_frame_copy_; |
379 intptr_t deopt_frame_copy_size_; | 383 intptr_t deopt_frame_copy_size_; |
380 DeferredDouble* deferred_doubles_; | 384 DeferredDouble* deferred_doubles_; |
381 DeferredMint* deferred_mints_; | 385 DeferredMint* deferred_mints_; |
382 | 386 |
383 static Dart_IsolateCreateCallback create_callback_; | 387 static Dart_IsolateCreateCallback create_callback_; |
384 static Dart_IsolateInterruptCallback interrupt_callback_; | 388 static Dart_IsolateInterruptCallback interrupt_callback_; |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 Isolate* new_isolate_; | 455 Isolate* new_isolate_; |
452 Isolate* saved_isolate_; | 456 Isolate* saved_isolate_; |
453 uword saved_stack_limit_; | 457 uword saved_stack_limit_; |
454 | 458 |
455 DISALLOW_COPY_AND_ASSIGN(SwitchIsolateScope); | 459 DISALLOW_COPY_AND_ASSIGN(SwitchIsolateScope); |
456 }; | 460 }; |
457 | 461 |
458 } // namespace dart | 462 } // namespace dart |
459 | 463 |
460 #endif // VM_ISOLATE_H_ | 464 #endif // VM_ISOLATE_H_ |
OLD | NEW |