Chromium Code Reviews| Index: runtime/vm/code_generator.cc |
| diff --git a/runtime/vm/code_generator.cc b/runtime/vm/code_generator.cc |
| index 548e76b39eabfef2fda71a69f8723ea299d1b000..056d4a64fb293e0d2b73e6ad70f8f4c18ada62d8 100644 |
| --- a/runtime/vm/code_generator.cc |
| +++ b/runtime/vm/code_generator.cc |
| @@ -1902,4 +1902,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())) { |
|
siva
2012/12/05 16:06:40
I am a little confused by this check. Is it here t
cshapiro
2012/12/08 03:23:08
This check ensures that both the source and destin
|
| + 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 |