| 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_;
|
|
|