| 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 "vm/atomic.h" | 10 #include "vm/atomic.h" |
| (...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 543 intptr_t UnblockClassFinalization() { | 543 intptr_t UnblockClassFinalization() { |
| 544 ASSERT(defer_finalization_count_ > 0); | 544 ASSERT(defer_finalization_count_ > 0); |
| 545 return defer_finalization_count_--; | 545 return defer_finalization_count_--; |
| 546 } | 546 } |
| 547 | 547 |
| 548 bool AllowClassFinalization() { | 548 bool AllowClassFinalization() { |
| 549 ASSERT(defer_finalization_count_ >= 0); | 549 ASSERT(defer_finalization_count_ >= 0); |
| 550 return defer_finalization_count_ == 0; | 550 return defer_finalization_count_ == 0; |
| 551 } | 551 } |
| 552 | 552 |
| 553 Mutex* profiler_data_mutex() { |
| 554 return &profiler_data_mutex_; |
| 555 } |
| 556 |
| 557 void set_profiler_data(IsolateProfilerData* profiler_data) { |
| 558 profiler_data_ = profiler_data; |
| 559 } |
| 560 |
| 561 IsolateProfilerData* profiler_data() const { |
| 562 return profiler_data_; |
| 563 } |
| 564 |
| 553 void PrintJSON(JSONStream* stream, bool ref = true); | 565 void PrintJSON(JSONStream* stream, bool ref = true); |
| 554 | 566 |
| 555 CompilerStats* compiler_stats() { | 567 CompilerStats* compiler_stats() { |
| 556 return compiler_stats_; | 568 return compiler_stats_; |
| 557 } | 569 } |
| 558 | 570 |
| 571 // Returns the number of sampled threads. |
| 572 intptr_t ProfileInterrupt(); |
| 573 |
| 559 VMTagCounters* vm_tag_counters() { | 574 VMTagCounters* vm_tag_counters() { |
| 560 return &vm_tag_counters_; | 575 return &vm_tag_counters_; |
| 561 } | 576 } |
| 562 | 577 |
| 563 uword user_tag() const { | 578 uword user_tag() const { |
| 564 return user_tag_; | 579 return user_tag_; |
| 565 } | 580 } |
| 566 static intptr_t user_tag_offset() { | 581 static intptr_t user_tag_offset() { |
| 567 return OFFSET_OF(Isolate, user_tag_); | 582 return OFFSET_OF(Isolate, user_tag_); |
| 568 } | 583 } |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 // Timestamps of last operation via service. | 789 // Timestamps of last operation via service. |
| 775 int64_t last_allocationprofile_accumulator_reset_timestamp_; | 790 int64_t last_allocationprofile_accumulator_reset_timestamp_; |
| 776 int64_t last_allocationprofile_gc_timestamp_; | 791 int64_t last_allocationprofile_gc_timestamp_; |
| 777 | 792 |
| 778 // Ring buffer of objects assigned an id. | 793 // Ring buffer of objects assigned an id. |
| 779 ObjectIdRing* object_id_ring_; | 794 ObjectIdRing* object_id_ring_; |
| 780 | 795 |
| 781 // Trace buffer support. | 796 // Trace buffer support. |
| 782 TraceBuffer* trace_buffer_; | 797 TraceBuffer* trace_buffer_; |
| 783 | 798 |
| 799 IsolateProfilerData* profiler_data_; |
| 800 Mutex profiler_data_mutex_; |
| 801 |
| 784 VMTagCounters vm_tag_counters_; | 802 VMTagCounters vm_tag_counters_; |
| 785 RawGrowableObjectArray* tag_table_; | 803 RawGrowableObjectArray* tag_table_; |
| 786 | 804 |
| 787 RawGrowableObjectArray* deoptimized_code_array_; | 805 RawGrowableObjectArray* deoptimized_code_array_; |
| 788 | 806 |
| 789 // Background compilation. | 807 // Background compilation. |
| 790 BackgroundCompiler* background_compiler_; | 808 BackgroundCompiler* background_compiler_; |
| 791 | 809 |
| 792 // We use 6 list entries for each pending service extension calls. | 810 // We use 6 list entries for each pending service extension calls. |
| 793 enum { | 811 enum { |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 971 uint8_t* serialized_message_; | 989 uint8_t* serialized_message_; |
| 972 intptr_t serialized_message_len_; | 990 intptr_t serialized_message_len_; |
| 973 Isolate::Flags isolate_flags_; | 991 Isolate::Flags isolate_flags_; |
| 974 bool paused_; | 992 bool paused_; |
| 975 bool errors_are_fatal_; | 993 bool errors_are_fatal_; |
| 976 }; | 994 }; |
| 977 | 995 |
| 978 } // namespace dart | 996 } // namespace dart |
| 979 | 997 |
| 980 #endif // VM_ISOLATE_H_ | 998 #endif // VM_ISOLATE_H_ |
| OLD | NEW |