| Index: runtime/vm/isolate.h
|
| diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h
|
| index a01638d2ec23db3c16cbd0f7a8a5a9177018f516..84ade6010dd5c0f097a02fe0fb0888f441e39787 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,18 @@ class Isolate : public BaseIsolate {
|
| return defer_finalization_count_ == 0;
|
| }
|
|
|
| + Mutex* profiler_data_mutex() {
|
| + 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 +458,9 @@ class Isolate : public BaseIsolate {
|
| // Ring buffer of objects assigned an id.
|
| ObjectIdRing* object_id_ring_;
|
|
|
| + IsolateProfilerData* profiler_data_;
|
| + Mutex profiler_data_mutex_;
|
| +
|
| // Reusable handles support.
|
| #define REUSABLE_HANDLE_FIELDS(object) \
|
| object* object##_handle_; \
|
|
|