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

Unified Diff: runtime/vm/isolate.h

Issue 25909002: Sampling profiler (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/dart.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_; \
« no previous file with comments | « runtime/vm/dart.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698