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

Unified Diff: runtime/vm/isolate.h

Issue 230863005: Initial UserTag and dart:profiler library (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 months 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 2998fd8b59fc84846f4d2009b8cde228b416ff66..8dcb630173d212f0d15698f100b8838a7d0f6eeb 100644
--- a/runtime/vm/isolate.h
+++ b/runtime/vm/isolate.h
@@ -30,6 +30,7 @@ class DeoptContext;
class Error;
class Field;
class Function;
+class GrowableObjectArray;
class HandleScope;
class HandleVisitor;
class Heap;
@@ -42,18 +43,21 @@ class LongJumpScope;
class MessageHandler;
class Mutex;
class Object;
+class ObjectIdRing;
class ObjectPointerVisitor;
class ObjectStore;
class RawInstance;
class RawArray;
class RawContext;
class RawDouble;
+class RawGrowableObjectArray;
class RawMint;
class RawObject;
class RawInteger;
class RawError;
class RawFloat32x4;
class RawInt32x4;
+class RawUserTag;
class SampleBuffer;
class Simulator;
class StackResource;
@@ -61,7 +65,7 @@ class StackZone;
class StubCode;
class TypeArguments;
class TypeParameter;
-class ObjectIdRing;
+class UserTag;
class IsolateVisitor {
@@ -470,6 +474,17 @@ class Isolate : public BaseIsolate {
return &vm_tag_counters_;
}
+ uword user_tag() const {
+ return user_tag_;
+ }
+
+ RawGrowableObjectArray* tag_table() const { return tag_table_; }
+ void set_tag_table(const GrowableObjectArray& value);
+
+ RawUserTag* current_tag() const { return current_tag_; }
+ void set_current_tag(const UserTag& tag);
+ void clear_current_tag();
+
#if defined(DEBUG)
#define REUSABLE_HANDLE_SCOPE_ACCESSORS(object) \
void set_reusable_##object##_handle_scope_active(bool value) { \
@@ -499,6 +514,11 @@ class Isolate : public BaseIsolate {
void ProfileIdle();
+ void set_user_tag(uword tag) {
+ user_tag_ = tag;
+ }
+
+
template<class T> T* AllocateReusableHandle();
static ThreadLocalKey isolate_key;
@@ -553,6 +573,9 @@ class Isolate : public BaseIsolate {
InterruptableThreadState* thread_state_;
VMTagCounters vm_tag_counters_;
+ uword user_tag_;
+ RawGrowableObjectArray* tag_table_;
+ RawUserTag* current_tag_;
// Isolate list next pointer.
Isolate* next_;
« 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