Chromium Code Reviews| Index: runtime/vm/isolate.h |
| diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h |
| index a01638d2ec23db3c16cbd0f7a8a5a9177018f516..07dd3c762c83168b3e1ab50eda3a48d24aeb2380 100644 |
| --- a/runtime/vm/isolate.h |
| +++ b/runtime/vm/isolate.h |
| @@ -34,6 +34,7 @@ class HandleVisitor; |
| class Heap; |
| class ICData; |
| class Instance; |
| +class IsolateProfilerData; |
| class LongJump; |
| class MessageHandler; |
| class Mutex; |
| @@ -50,6 +51,7 @@ class RawInteger; |
| class RawError; |
| class RawFloat32x4; |
| class RawInt32x4; |
| +class SampleBuffer; |
| class Simulator; |
| class StackResource; |
| class StackZone; |
| @@ -203,6 +205,9 @@ class Isolate : public BaseIsolate { |
| // The true stack limit for this isolate. |
| uword saved_stack_limit() const { return saved_stack_limit_; } |
| + // Retrieve the stack address bounds. |
| + bool GetStackBounds(uintptr_t* lower, uintptr_t* upper); |
| + |
| static uword GetSpecifiedStackSize(); |
| static const intptr_t kStackSizeBuffer = (4 * KB * kWordSize); |
| @@ -383,6 +388,19 @@ class Isolate : public BaseIsolate { |
| return defer_finalization_count_ == 0; |
| } |
| + Mutex* profiler_data_mutex() const { |
| + ASSERT(profiler_data_mutex_ != NULL); |
| + return profiler_data_mutex_; |
| + } |
| + |
| + void set_profiler_data(IsolateProfilerData* profiler_data) { |
| + profiler_data_ = profiler_data; |
| + } |
| + |
| + IsolateProfilerData* profiler_data() { |
| + return profiler_data_; |
| + } |
| + |
| private: |
| Isolate(); |
| @@ -441,6 +459,9 @@ class Isolate : public BaseIsolate { |
| // Ring buffer of objects assigned an id. |
| ObjectIdRing* object_id_ring_; |
| + IsolateProfilerData* profiler_data_; |
| + Mutex* profiler_data_mutex_; |
|
siva
2013/11/11 03:51:54
can the mutex be a value object instead?
Cutch
2013/11/18 20:48:54
Done.
|
| + |
| // Reusable handles support. |
| #define REUSABLE_HANDLE_FIELDS(object) \ |
| object* object##_handle_; \ |