Index: runtime/vm/object.h |
=================================================================== |
--- runtime/vm/object.h (revision 36912) |
+++ runtime/vm/object.h (working copy) |
@@ -2965,9 +2965,6 @@ |
public: |
enum Kind { |
kDeopt, // Deoptimization continuation point. |
- kEntryPatch, // Location where to patch entry. |
- kPatchCode, // Buffer for patching code entry. |
- kLazyDeoptJump, // Lazy deoptimization trampoline. |
kIcCall, // IC call. |
kOptStaticCall, // Call directly to known target, e.g. static call. |
kUnoptStaticCall, // Call to a known target via a stub. |
@@ -3648,10 +3645,17 @@ |
} |
intptr_t GetTokenIndexOfPC(uword pc) const; |
- // Find pc, return 0 if not found. |
+ enum { |
+ kInvalidPc = -1 |
+ }; |
+ |
+ // Returns 0 if code is not patchable |
+ uword GetEntryPatchPc() const; |
uword GetPatchCodePc() const; |
+ |
uword GetLazyDeoptPc() const; |
+ // Find pc, return 0 if not found. |
uword GetPcForDeoptId(intptr_t deopt_id, PcDescriptors::Kind kind) const; |
intptr_t GetDeoptIdForOsr(uword pc) const; |
@@ -3675,6 +3679,29 @@ |
return raw_ptr()->compile_timestamp_; |
} |
+ intptr_t entry_patch_pc() const { |
+ return raw_ptr()->entry_patch_pc_; |
srdjan
2014/06/03 15:45:45
Append 'offset' to all names to differentiate it f
|
+ } |
+ void set_entry_patch_pc(intptr_t pc) const { |
+ raw_ptr()->entry_patch_pc_ = pc; |
+ } |
+ |
+ |
+ intptr_t patch_code_pc() const { |
+ return raw_ptr()->patch_code_pc_; |
+ } |
+ void set_patch_code_pc(intptr_t pc) const { |
+ raw_ptr()->patch_code_pc_ = pc; |
+ } |
+ |
+ |
+ intptr_t lazy_deopt_pc() const { |
+ return raw_ptr()->lazy_deopt_pc_; |
+ } |
+ void set_lazy_deopt_pc(intptr_t pc) const { |
+ raw_ptr()->lazy_deopt_pc_ = pc; |
+ } |
+ |
private: |
void set_state_bits(intptr_t bits) const; |