| Index: runtime/vm/object.h
|
| ===================================================================
|
| --- runtime/vm/object.h (revision 11621)
|
| +++ runtime/vm/object.h (working copy)
|
| @@ -2261,12 +2261,13 @@
|
|
|
| public:
|
| enum Kind {
|
| - kDeopt = 0, // Deoptimization continuation point.
|
| - kDeoptIndex, // Index into deopt info array.
|
| - kPatchCode, // Buffer for patching code entry.
|
| - kIcCall, // IC call.
|
| - kFuncCall, // Call to known target, e.g. static call, closure call.
|
| - kReturn, // Return from function.
|
| + kDeoptBefore = 0, // Deoptimization continuation point before instruction.
|
| + kDeoptAfter, // Deoptimization continuation point after instruction.
|
| + kDeoptIndex, // Index into deopt info array.
|
| + kPatchCode, // Buffer for patching code entry.
|
| + kIcCall, // IC call.
|
| + kFuncCall, // Call to known target, e.g. static call, closure call.
|
| + kReturn, // Return from function.
|
| kOther
|
| };
|
|
|
| @@ -2641,7 +2642,8 @@
|
| // Find pc of patch code buffer. Return 0 if not found.
|
| uword GetPatchCodePc() const;
|
|
|
| - uword GetDeoptPcAtDeoptId(intptr_t deopt_id) const;
|
| + uword GetDeoptBeforePcAtDeoptId(intptr_t deopt_id) const;
|
| + uword GetDeoptAfterPcAtDeoptId(intptr_t deopt_id) const;
|
|
|
| // Returns true if there is an object in the code between 'start_offset'
|
| // (inclusive) and 'end_offset' (exclusive).
|
| @@ -2689,6 +2691,8 @@
|
| *PointerOffsetAddrAt(index) = offset_in_instructions;
|
| }
|
|
|
| + uword GetPcForDeoptId(intptr_t deopt_id, PcDescriptors::Kind kind) const;
|
| +
|
| // New is a private method as RawInstruction and RawCode objects should
|
| // only be created using the Code::FinalizeCode method. This method creates
|
| // the RawInstruction and RawCode objects, sets up the pointer offsets
|
|
|