| 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" |
| 11 #include "vm/store_buffer.h" | 11 #include "vm/store_buffer.h" |
| 12 #include "vm/timer.h" | 12 #include "vm/timer.h" |
| 13 | 13 |
| 14 namespace dart { | 14 namespace dart { |
| 15 | 15 |
| 16 // Forward declarations. | 16 // Forward declarations. |
| 17 class ApiState; | 17 class ApiState; |
| 18 class BigintStore; | |
| 19 class CodeIndexTable; | 18 class CodeIndexTable; |
| 20 class Debugger; | 19 class Debugger; |
| 21 class HandleScope; | 20 class HandleScope; |
| 22 class HandleVisitor; | 21 class HandleVisitor; |
| 23 class Heap; | 22 class Heap; |
| 24 class LongJump; | 23 class LongJump; |
| 25 class MessageHandler; | 24 class MessageHandler; |
| 26 class Mutex; | 25 class Mutex; |
| 27 class ObjectPointerVisitor; | 26 class ObjectPointerVisitor; |
| 28 class ObjectStore; | 27 class ObjectStore; |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 void set_long_jump_base(LongJump* value) { long_jump_base_ = value; } | 111 void set_long_jump_base(LongJump* value) { long_jump_base_ = value; } |
| 113 | 112 |
| 114 TimerList& timer_list() { return timer_list_; } | 113 TimerList& timer_list() { return timer_list_; } |
| 115 | 114 |
| 116 Zone* current_zone() const { return current_zone_; } | 115 Zone* current_zone() const { return current_zone_; } |
| 117 void set_current_zone(Zone* zone) { current_zone_ = zone; } | 116 void set_current_zone(Zone* zone) { current_zone_ = zone; } |
| 118 static intptr_t current_zone_offset() { | 117 static intptr_t current_zone_offset() { |
| 119 return OFFSET_OF(Isolate, current_zone_); | 118 return OFFSET_OF(Isolate, current_zone_); |
| 120 } | 119 } |
| 121 | 120 |
| 122 BigintStore* bigint_store() const { return bigint_store_; } | |
| 123 void set_bigint_store(BigintStore* store) { bigint_store_ = store; } | |
| 124 | |
| 125 int32_t no_gc_scope_depth() const { | 121 int32_t no_gc_scope_depth() const { |
| 126 #if defined(DEBUG) | 122 #if defined(DEBUG) |
| 127 return no_gc_scope_depth_; | 123 return no_gc_scope_depth_; |
| 128 #else | 124 #else |
| 129 return 0; | 125 return 0; |
| 130 #endif | 126 #endif |
| 131 } | 127 } |
| 132 | 128 |
| 133 void IncrementNoGCScopeDepth() { | 129 void IncrementNoGCScopeDepth() { |
| 134 #if defined(DEBUG) | 130 #if defined(DEBUG) |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 ObjectStore* object_store_; | 252 ObjectStore* object_store_; |
| 257 StackResource* top_resource_; | 253 StackResource* top_resource_; |
| 258 RawContext* top_context_; | 254 RawContext* top_context_; |
| 259 Zone* current_zone_; | 255 Zone* current_zone_; |
| 260 #if defined(DEBUG) | 256 #if defined(DEBUG) |
| 261 int32_t no_gc_scope_depth_; | 257 int32_t no_gc_scope_depth_; |
| 262 int32_t no_handle_scope_depth_; | 258 int32_t no_handle_scope_depth_; |
| 263 HandleScope* top_handle_scope_; | 259 HandleScope* top_handle_scope_; |
| 264 #endif | 260 #endif |
| 265 int32_t random_seed_; | 261 int32_t random_seed_; |
| 266 BigintStore* bigint_store_; | |
| 267 uword top_exit_frame_info_; | 262 uword top_exit_frame_info_; |
| 268 void* init_callback_data_; | 263 void* init_callback_data_; |
| 269 Dart_LibraryTagHandler library_tag_handler_; | 264 Dart_LibraryTagHandler library_tag_handler_; |
| 270 ApiState* api_state_; | 265 ApiState* api_state_; |
| 271 StubCode* stub_code_; | 266 StubCode* stub_code_; |
| 272 CodeIndexTable* code_index_table_; | 267 CodeIndexTable* code_index_table_; |
| 273 Debugger* debugger_; | 268 Debugger* debugger_; |
| 274 LongJump* long_jump_base_; | 269 LongJump* long_jump_base_; |
| 275 TimerList timer_list_; | 270 TimerList timer_list_; |
| 276 intptr_t ast_node_id_; | 271 intptr_t ast_node_id_; |
| 277 Mutex* mutex_; // protects stack_limit_ and saved_stack_limit_. | 272 Mutex* mutex_; // protects stack_limit_ and saved_stack_limit_. |
| 278 uword stack_limit_; | 273 uword stack_limit_; |
| 279 uword saved_stack_limit_; | 274 uword saved_stack_limit_; |
| 280 MessageHandler* message_handler_; | 275 MessageHandler* message_handler_; |
| 281 | 276 |
| 282 static Dart_IsolateCreateCallback create_callback_; | 277 static Dart_IsolateCreateCallback create_callback_; |
| 283 static Dart_IsolateInterruptCallback interrupt_callback_; | 278 static Dart_IsolateInterruptCallback interrupt_callback_; |
| 284 | 279 |
| 285 DISALLOW_COPY_AND_ASSIGN(Isolate); | 280 DISALLOW_COPY_AND_ASSIGN(Isolate); |
| 286 }; | 281 }; |
| 287 | 282 |
| 288 } // namespace dart | 283 } // namespace dart |
| 289 | 284 |
| 290 #endif // VM_ISOLATE_H_ | 285 #endif // VM_ISOLATE_H_ |
| OLD | NEW |