Chromium Code Reviews| Index: runtime/vm/deferred_objects.h |
| diff --git a/runtime/vm/deferred_objects.h b/runtime/vm/deferred_objects.h |
| index 9619d16e5ab1be72e8dc7186ba3ad7da404a876d..8186985384235935508477fb51687c040c2ba1d2 100644 |
| --- a/runtime/vm/deferred_objects.h |
| +++ b/runtime/vm/deferred_objects.h |
| @@ -157,6 +157,9 @@ class DeferredObject { |
| RawInstance* object(); |
| + // Fill object with actual field values. |
| + void Fill(); |
| + |
| private: |
| enum { |
| kClassIndex = 0, |
| @@ -169,10 +172,11 @@ class DeferredObject { |
| kFieldEntrySize, |
| }; |
| - // Materializes the object. Returns amount of values that were consumed |
| - // and should be removed from the expression stack at the very end of |
| - // deoptimization. |
| - void Materialize(); |
| + // Allocate the object but keep it's fields null-initialized. Actual field |
|
srdjan
2014/07/17 23:08:15
s/it's/its/
|
| + // values will be filled later by the Fill method. This separation between |
| + // allocation and filling is needed because dematerialized objects form |
| + // a graph which can contain cycles. |
| + void Create(); |
| RawObject* GetClass() const { |
| return args_[kClassIndex]; |