OLD | NEW |
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/handles.h" | 13 #include "vm/handles.h" |
14 #include "vm/megamorphic_cache_table.h" | 14 #include "vm/megamorphic_cache_table.h" |
15 #include "vm/random.h" | 15 #include "vm/random.h" |
16 #include "vm/store_buffer.h" | 16 #include "vm/store_buffer.h" |
17 #include "vm/tags.h" | 17 #include "vm/tags.h" |
| 18 #include "vm/trace_buffer.h" |
18 #include "vm/timer.h" | 19 #include "vm/timer.h" |
19 | 20 |
20 namespace dart { | 21 namespace dart { |
21 | 22 |
22 // Forward declarations. | 23 // Forward declarations. |
23 class AbstractType; | 24 class AbstractType; |
24 class ApiState; | 25 class ApiState; |
25 class Array; | 26 class Array; |
26 class Class; | 27 class Class; |
27 class Code; | 28 class Code; |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 return entropy_source_callback_; | 440 return entropy_source_callback_; |
440 } | 441 } |
441 | 442 |
442 void set_object_id_ring(ObjectIdRing* ring) { | 443 void set_object_id_ring(ObjectIdRing* ring) { |
443 object_id_ring_ = ring; | 444 object_id_ring_ = ring; |
444 } | 445 } |
445 ObjectIdRing* object_id_ring() { | 446 ObjectIdRing* object_id_ring() { |
446 return object_id_ring_; | 447 return object_id_ring_; |
447 } | 448 } |
448 | 449 |
| 450 void set_trace_buffer(TraceBuffer* buffer) { |
| 451 trace_buffer_ = buffer; |
| 452 } |
| 453 TraceBuffer* trace_buffer() { |
| 454 return trace_buffer_; |
| 455 } |
| 456 |
449 DeoptContext* deopt_context() const { return deopt_context_; } | 457 DeoptContext* deopt_context() const { return deopt_context_; } |
450 void set_deopt_context(DeoptContext* value) { | 458 void set_deopt_context(DeoptContext* value) { |
451 ASSERT(value == NULL || deopt_context_ == NULL); | 459 ASSERT(value == NULL || deopt_context_ == NULL); |
452 deopt_context_ = value; | 460 deopt_context_ = value; |
453 } | 461 } |
454 | 462 |
455 intptr_t BlockClassFinalization() { | 463 intptr_t BlockClassFinalization() { |
456 ASSERT(defer_finalization_count_ >= 0); | 464 ASSERT(defer_finalization_count_ >= 0); |
457 return defer_finalization_count_++; | 465 return defer_finalization_count_++; |
458 } | 466 } |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
590 | 598 |
591 // Status support. | 599 // Status support. |
592 char* stacktrace_; | 600 char* stacktrace_; |
593 intptr_t stack_frame_index_; | 601 intptr_t stack_frame_index_; |
594 | 602 |
595 bool cha_used_; | 603 bool cha_used_; |
596 | 604 |
597 // Ring buffer of objects assigned an id. | 605 // Ring buffer of objects assigned an id. |
598 ObjectIdRing* object_id_ring_; | 606 ObjectIdRing* object_id_ring_; |
599 | 607 |
| 608 // Trace buffer support. |
| 609 TraceBuffer* trace_buffer_; |
| 610 |
600 IsolateProfilerData* profiler_data_; | 611 IsolateProfilerData* profiler_data_; |
601 Mutex profiler_data_mutex_; | 612 Mutex profiler_data_mutex_; |
602 InterruptableThreadState* thread_state_; | 613 InterruptableThreadState* thread_state_; |
603 | 614 |
604 VMTagCounters vm_tag_counters_; | 615 VMTagCounters vm_tag_counters_; |
605 uword user_tag_; | 616 uword user_tag_; |
606 RawGrowableObjectArray* tag_table_; | 617 RawGrowableObjectArray* tag_table_; |
607 RawUserTag* current_tag_; | 618 RawUserTag* current_tag_; |
608 | 619 |
609 // Isolate list next pointer. | 620 // Isolate list next pointer. |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
740 char* script_url_; | 751 char* script_url_; |
741 char* library_url_; | 752 char* library_url_; |
742 char* class_name_; | 753 char* class_name_; |
743 char* function_name_; | 754 char* function_name_; |
744 char* exception_callback_name_; | 755 char* exception_callback_name_; |
745 }; | 756 }; |
746 | 757 |
747 } // namespace dart | 758 } // namespace dart |
748 | 759 |
749 #endif // VM_ISOLATE_H_ | 760 #endif // VM_ISOLATE_H_ |
OLD | NEW |