Index: runtime/vm/code_generator.cc |
diff --git a/runtime/vm/code_generator.cc b/runtime/vm/code_generator.cc |
index 283392ed9cd242d793fb37ceff08ea510d6fa298..87b2a89ce36376f5c4f5177f71085f7ce9f022c5 100644 |
--- a/runtime/vm/code_generator.cc |
+++ b/runtime/vm/code_generator.cc |
@@ -1945,4 +1945,20 @@ DEFINE_LEAF_RUNTIME_ENTRY(intptr_t, |
} |
END_LEAF_RUNTIME_ENTRY |
+ |
+DEFINE_LEAF_RUNTIME_ENTRY(void, |
+ HeapTraceStore, |
+ RawObject* object, |
+ uword field_addr, |
+ RawObject* value) { |
+ if (!(object->IsHeapObject() && value->IsHeapObject())) { |
+ return; |
+ } |
+ HeapTrace* heap_trace = Isolate::Current()->heap()->trace(); |
+ heap_trace->TraceStoreIntoObject(RawObject::ToAddr(object), |
+ field_addr, |
+ RawObject::ToAddr(value)); |
+} |
+END_LEAF_RUNTIME_ENTRY |
+ |
} // namespace dart |