Chromium Code Reviews| Index: runtime/vm/intermediate_language.h |
| =================================================================== |
| --- runtime/vm/intermediate_language.h (revision 31428) |
| +++ runtime/vm/intermediate_language.h (working copy) |
| @@ -620,6 +620,7 @@ |
| M(EqualityCompare) \ |
| M(RelationalOp) \ |
| M(NativeCall) \ |
| + M(DebugStepCheck) \ |
| M(LoadIndexed) \ |
| M(StoreIndexed) \ |
| M(StoreInstanceField) \ |
| @@ -3416,6 +3417,27 @@ |
| }; |
| +class DebugStepCheckInstr : public TemplateInstruction<0> { |
| + public: |
| + explicit DebugStepCheckInstr(intptr_t token_pos) |
| + : token_pos_(token_pos) { |
| + } |
| + |
| + DECLARE_INSTRUCTION(DebugStepCheck) |
| + |
| + intptr_t token_pos() const { return token_pos_; } |
| + virtual bool MayThrow() const { return false; } |
| + virtual bool CanDeoptimize() const { return false; } |
| + virtual EffectSet Effects() const { return EffectSet::None(); } |
|
srdjan
2014/01/02 21:24:56
This may need to be EffectSet::All, as each single
hausner
2014/01/03 00:43:30
Done.
|
| + virtual intptr_t ArgumentCount() const { return 0; } |
| + |
| + private: |
| + const intptr_t token_pos_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(DebugStepCheckInstr); |
| +}; |
| + |
| + |
| enum StoreBarrierType { |
| kNoStoreBarrier, |
| kEmitStoreBarrier |