| Index: runtime/vm/object.h
 | 
| diff --git a/runtime/vm/object.h b/runtime/vm/object.h
 | 
| index 19802e796dd7f17a13294d36effcd65121896517..6d3a70f30efc23ebb85971dc113fe16d1914f353 100644
 | 
| --- a/runtime/vm/object.h
 | 
| +++ b/runtime/vm/object.h
 | 
| @@ -2596,9 +2596,17 @@ class ExceptionHandlers : public Object {
 | 
|  };
 | 
|  
 | 
|  
 | 
| -// Holds deopt information at one deoptimization point. The information
 | 
| -// is a list of DeoptInstr objects, specifying transformation information
 | 
| -// for each slot in unoptimized frame(s).
 | 
| +// Holds deopt information at one deoptimization point. The information consists
 | 
| +// of two parts:
 | 
| +//  - first a prefix consiting of kMaterializeObject instructions describing
 | 
| +//    objects which had their allocation removed as part of AllocationSinking
 | 
| +//    pass and have to be materialized;
 | 
| +//  - followed by a list of DeoptInstr objects, specifying transformation
 | 
| +//    information for each slot in unoptimized frame(s).
 | 
| +// Arguments for object materialization (class of instance to be allocated and
 | 
| +// field-value pairs) are added as artificial slots to the expression stack
 | 
| +// of the bottom-most frame. They are removed from the stack at the very end
 | 
| +// of deoptimization by the deoptimization stub.
 | 
|  class DeoptInfo : public Object {
 | 
|   private:
 | 
|    // Describes the layout of deopt info data. The index of a deopt-info entry
 | 
| @@ -2617,6 +2625,10 @@ class DeoptInfo : public Object {
 | 
|    // deoptimization translation.
 | 
|    intptr_t TranslationLength() const;
 | 
|  
 | 
| +  // Size of the frame part of the translation not counting kMaterializeObject
 | 
| +  // instructions in the prefix.
 | 
| +  intptr_t FrameSize() const;
 | 
| +
 | 
|    static RawDeoptInfo* New(intptr_t num_commands);
 | 
|  
 | 
|    static const intptr_t kBytesPerElement = (kNumberOfEntries * kWordSize);
 | 
| 
 |