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

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

Issue 60733003: Version 0.8.10.6 (Closed) Base URL: http://dart.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 1 month 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/gc_callbacks.h" 13 #include "vm/gc_callbacks.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/store_buffer.h" 17 #include "vm/store_buffer.h"
17 #include "vm/timer.h" 18 #include "vm/timer.h"
18 19
19 namespace dart { 20 namespace dart {
20 21
21 // Forward declarations. 22 // Forward declarations.
22 class AbstractType; 23 class AbstractType;
23 class ApiState; 24 class ApiState;
24 class Array; 25 class Array;
25 class Class; 26 class Class;
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 Mutex* mutex() const { return mutex_; } 267 Mutex* mutex() const { return mutex_; }
267 268
268 Debugger* debugger() const { return debugger_; } 269 Debugger* debugger() const { return debugger_; }
269 270
270 void set_single_step(bool value) { single_step_ = value; } 271 void set_single_step(bool value) { single_step_ = value; }
271 bool single_step() const { return single_step_; } 272 bool single_step() const { return single_step_; }
272 static intptr_t single_step_offset() { 273 static intptr_t single_step_offset() {
273 return OFFSET_OF(Isolate, single_step_); 274 return OFFSET_OF(Isolate, single_step_);
274 } 275 }
275 276
277 Random* random() { return &random_; }
278
276 Simulator* simulator() const { return simulator_; } 279 Simulator* simulator() const { return simulator_; }
277 void set_simulator(Simulator* value) { simulator_ = value; } 280 void set_simulator(Simulator* value) { simulator_ = value; }
278 281
279 GcPrologueCallbacks& gc_prologue_callbacks() { 282 GcPrologueCallbacks& gc_prologue_callbacks() {
280 return gc_prologue_callbacks_; 283 return gc_prologue_callbacks_;
281 } 284 }
282 285
283 GcEpilogueCallbacks& gc_epilogue_callbacks() { 286 GcEpilogueCallbacks& gc_epilogue_callbacks() {
284 return gc_epilogue_callbacks_; 287 return gc_epilogue_callbacks_;
285 } 288 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 static Dart_FileReadCallback file_read_callback() { 339 static Dart_FileReadCallback file_read_callback() {
337 return file_read_callback_; 340 return file_read_callback_;
338 } 341 }
339 static Dart_FileWriteCallback file_write_callback() { 342 static Dart_FileWriteCallback file_write_callback() {
340 return file_write_callback_; 343 return file_write_callback_;
341 } 344 }
342 static Dart_FileCloseCallback file_close_callback() { 345 static Dart_FileCloseCallback file_close_callback() {
343 return file_close_callback_; 346 return file_close_callback_;
344 } 347 }
345 348
349 static void SetEntropySourceCallback(Dart_EntropySource entropy_source) {
350 entropy_source_callback_ = entropy_source;
351 }
352 static Dart_EntropySource entropy_source_callback() {
353 return entropy_source_callback_;
354 }
355
346 void set_object_id_ring(ObjectIdRing* ring) { 356 void set_object_id_ring(ObjectIdRing* ring) {
347 object_id_ring_ = ring; 357 object_id_ring_ = ring;
348 } 358 }
349 ObjectIdRing* object_id_ring() { 359 ObjectIdRing* object_id_ring() {
350 return object_id_ring_; 360 return object_id_ring_;
351 } 361 }
352 362
353 DeoptContext* deopt_context() const { return deopt_context_; } 363 DeoptContext* deopt_context() const { return deopt_context_; }
354 void set_deopt_context(DeoptContext* value) { 364 void set_deopt_context(DeoptContext* value) {
355 ASSERT(value == NULL || deopt_context_ == NULL); 365 ASSERT(value == NULL || deopt_context_ == NULL);
(...skipping 25 matching lines...) Expand all
381 391
382 static bool FetchStacktrace(); 392 static bool FetchStacktrace();
383 static bool FetchStackFrameDetails(); 393 static bool FetchStackFrameDetails();
384 char* GetStatusDetails(); 394 char* GetStatusDetails();
385 char* GetStatusStacktrace(); 395 char* GetStatusStacktrace();
386 char* GetStatusStackFrame(intptr_t index); 396 char* GetStatusStackFrame(intptr_t index);
387 char* DoStacktraceInterrupt(Dart_IsolateInterruptCallback cb); 397 char* DoStacktraceInterrupt(Dart_IsolateInterruptCallback cb);
388 template<class T> T* AllocateReusableHandle(); 398 template<class T> T* AllocateReusableHandle();
389 399
390 static ThreadLocalKey isolate_key; 400 static ThreadLocalKey isolate_key;
401
391 StoreBuffer store_buffer_; 402 StoreBuffer store_buffer_;
392 ClassTable class_table_; 403 ClassTable class_table_;
393 MegamorphicCacheTable megamorphic_cache_table_; 404 MegamorphicCacheTable megamorphic_cache_table_;
394 Dart_MessageNotifyCallback message_notify_callback_; 405 Dart_MessageNotifyCallback message_notify_callback_;
395 char* name_; 406 char* name_;
396 int64_t start_time_; 407 int64_t start_time_;
397 Dart_Port main_port_; 408 Dart_Port main_port_;
398 Heap* heap_; 409 Heap* heap_;
399 ObjectStore* object_store_; 410 ObjectStore* object_store_;
400 RawContext* top_context_; 411 RawContext* top_context_;
401 uword top_exit_frame_info_; 412 uword top_exit_frame_info_;
402 void* init_callback_data_; 413 void* init_callback_data_;
403 Dart_EnvironmentCallback environment_callback_; 414 Dart_EnvironmentCallback environment_callback_;
404 Dart_LibraryTagHandler library_tag_handler_; 415 Dart_LibraryTagHandler library_tag_handler_;
405 ApiState* api_state_; 416 ApiState* api_state_;
406 StubCode* stub_code_; 417 StubCode* stub_code_;
407 Debugger* debugger_; 418 Debugger* debugger_;
408 bool single_step_; 419 bool single_step_;
420 Random random_;
409 Simulator* simulator_; 421 Simulator* simulator_;
410 LongJump* long_jump_base_; 422 LongJump* long_jump_base_;
411 TimerList timer_list_; 423 TimerList timer_list_;
412 intptr_t deopt_id_; 424 intptr_t deopt_id_;
413 Mutex* mutex_; // protects stack_limit_ and saved_stack_limit_. 425 Mutex* mutex_; // protects stack_limit_ and saved_stack_limit_.
414 uword stack_limit_; 426 uword stack_limit_;
415 uword saved_stack_limit_; 427 uword saved_stack_limit_;
416 MessageHandler* message_handler_; 428 MessageHandler* message_handler_;
417 uword spawn_data_; 429 uword spawn_data_;
418 bool is_runnable_; 430 bool is_runnable_;
(...skipping 19 matching lines...) Expand all
438 VMHandles reusable_handles_; 450 VMHandles reusable_handles_;
439 451
440 static Dart_IsolateCreateCallback create_callback_; 452 static Dart_IsolateCreateCallback create_callback_;
441 static Dart_IsolateInterruptCallback interrupt_callback_; 453 static Dart_IsolateInterruptCallback interrupt_callback_;
442 static Dart_IsolateUnhandledExceptionCallback unhandled_exception_callback_; 454 static Dart_IsolateUnhandledExceptionCallback unhandled_exception_callback_;
443 static Dart_IsolateShutdownCallback shutdown_callback_; 455 static Dart_IsolateShutdownCallback shutdown_callback_;
444 static Dart_FileOpenCallback file_open_callback_; 456 static Dart_FileOpenCallback file_open_callback_;
445 static Dart_FileReadCallback file_read_callback_; 457 static Dart_FileReadCallback file_read_callback_;
446 static Dart_FileWriteCallback file_write_callback_; 458 static Dart_FileWriteCallback file_write_callback_;
447 static Dart_FileCloseCallback file_close_callback_; 459 static Dart_FileCloseCallback file_close_callback_;
460 static Dart_EntropySource entropy_source_callback_;
448 static Dart_IsolateInterruptCallback vmstats_callback_; 461 static Dart_IsolateInterruptCallback vmstats_callback_;
449 462
450 friend class ReusableHandleScope; 463 friend class ReusableHandleScope;
451 friend class ReusableObjectHandleScope; 464 friend class ReusableObjectHandleScope;
452 DISALLOW_COPY_AND_ASSIGN(Isolate); 465 DISALLOW_COPY_AND_ASSIGN(Isolate);
453 }; 466 };
454 467
455 468
456 // When we need to execute code in an isolate, we use the 469 // When we need to execute code in an isolate, we use the
457 // StartIsolateScope. 470 // StartIsolateScope.
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 Isolate* isolate_; 552 Isolate* isolate_;
540 char* script_url_; 553 char* script_url_;
541 char* library_url_; 554 char* library_url_;
542 char* function_name_; 555 char* function_name_;
543 char* exception_callback_name_; 556 char* exception_callback_name_;
544 }; 557 };
545 558
546 } // namespace dart 559 } // namespace dart
547 560
548 #endif // VM_ISOLATE_H_ 561 #endif // VM_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698