| Index: runtime/vm/deopt_instructions.h
|
| ===================================================================
|
| --- runtime/vm/deopt_instructions.h (revision 44707)
|
| +++ runtime/vm/deopt_instructions.h (working copy)
|
| @@ -85,6 +85,7 @@
|
| dest_frame_ = dest_frame;
|
| }
|
|
|
| + Thread* thread() const { return thread_; }
|
| Zone* zone() const { return thread_->zone(); }
|
|
|
| intptr_t source_frame_size() const { return source_frame_size_; }
|
| @@ -153,6 +154,27 @@
|
| deferred_slots_);
|
| }
|
|
|
| + void DeferRetAddrMaterialization(intptr_t index,
|
| + intptr_t deopt_id,
|
| + intptr_t* slot) {
|
| + deferred_slots_ = new DeferredRetAddr(
|
| + index,
|
| + deopt_id,
|
| + reinterpret_cast<RawObject**>(slot),
|
| + deferred_slots_);
|
| + }
|
| +
|
| + void DeferPcMarkerMaterialization(intptr_t index, intptr_t* slot) {
|
| + deferred_slots_ = new DeferredPcMarker(
|
| + index,
|
| + reinterpret_cast<RawObject**>(slot),
|
| + deferred_slots_);
|
| + }
|
| +
|
| + void DeferPpMaterialization(intptr_t index, RawObject** slot) {
|
| + deferred_slots_ = new DeferredPp(index, slot, deferred_slots_);
|
| + }
|
| +
|
| DeferredObject* GetDeferredObject(intptr_t idx) const {
|
| return deferred_objects_[idx];
|
| }
|
| @@ -409,14 +431,14 @@
|
| const GrowableObjectArray& object_table() { return object_table_; }
|
|
|
| // Return address before instruction.
|
| - void AddReturnAddress(const Code& code,
|
| + void AddReturnAddress(const Function& function,
|
| intptr_t deopt_id,
|
| intptr_t dest_index);
|
|
|
| // Copy from optimized frame to unoptimized.
|
| void AddCopy(Value* value, const Location& source_loc, intptr_t dest_index);
|
| - void AddPcMarker(const Code& code, intptr_t dest_index);
|
| - void AddPp(const Code& code, intptr_t dest_index);
|
| + void AddPcMarker(const Function& function, intptr_t dest_index);
|
| + void AddPp(const Function& function, intptr_t dest_index);
|
| void AddCallerFp(intptr_t dest_index);
|
| void AddCallerPp(intptr_t dest_index);
|
| void AddCallerPc(intptr_t dest_index);
|
|
|