Index: runtime/vm/thread.h |
diff --git a/runtime/vm/thread.h b/runtime/vm/thread.h |
index 9bba418a5d6d8998bcfc8619c2256641a25085e6..6c359922aa8f22a664535962dbea3e63c556efb3 100644 |
--- a/runtime/vm/thread.h |
+++ b/runtime/vm/thread.h |
@@ -382,6 +382,21 @@ LEAF_RUNTIME_ENTRY_LIST(DEFINE_OFFSET_METHOD) |
return join_id_; |
} |
+ ThreadId trace_id() const { |
+ ASSERT(trace_id_ != OSThread::kInvalidThreadJoinId); |
+ return trace_id_; |
+ } |
+ |
+ const char* name() const { |
+ return name_; |
+ } |
+ |
+ void set_name(const char* name) { |
+ ASSERT(Thread::Current() == this); |
+ ASSERT(name_ == NULL); |
+ name_ = name; |
+ } |
+ |
// Used to temporarily disable or enable thread interrupts. |
void DisableThreadInterrupts(); |
void EnableThreadInterrupts(); |
@@ -429,6 +444,7 @@ LEAF_RUNTIME_ENTRY_LIST(DEFINE_OFFSET_METHOD) |
const ThreadId id_; |
const ThreadId join_id_; |
+ const ThreadId trace_id_; |
uintptr_t thread_interrupt_disabled_; |
Isolate* isolate_; |
Heap* heap_; |
@@ -478,6 +494,9 @@ LEAF_RUNTIME_ENTRY_LIST(DECLARE_MEMBERS) |
// All |Thread|s are registered in the thread list. |
Thread* thread_list_next_; |
+ // A name for this thread. |
+ const char* name_; |
+ |
static Thread* thread_list_head_; |
static Mutex* thread_list_lock_; |