Index: runtime/vm/thread.cc |
diff --git a/runtime/vm/thread.cc b/runtime/vm/thread.cc |
index 5dccb4c7f6e83309abd167bcfa312b9d9f488ddf..0d8493798217b5bfd188bfadc6348a523b4e54b6 100644 |
--- a/runtime/vm/thread.cc |
+++ b/runtime/vm/thread.cc |
@@ -553,6 +553,18 @@ CACHED_VM_OBJECTS_LIST(COMPUTE_OFFSET) |
} |
+bool Thread::ObjectAtOffset(intptr_t offset, Object* object) { |
+#define COMPUTE_OFFSET(type_name, member_name, expr, default_init_value) \ |
+ if (Thread::member_name##offset() == offset) { \ |
+ *object = expr; \ |
+ return true; \ |
+ } |
+CACHED_VM_OBJECTS_LIST(COMPUTE_OFFSET) |
+#undef COMPUTE_OFFSET |
+ return false; |
+} |
+ |
+ |
intptr_t Thread::OffsetFromThread(const RuntimeEntry* runtime_entry) { |
#define COMPUTE_OFFSET(name) \ |
if (runtime_entry->function() == k##name##RuntimeEntry.function()) { \ |