diff options
Diffstat (limited to 'compiler/optimizing/nodes.h')
| -rw-r--r-- | compiler/optimizing/nodes.h | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index 677a4f8591..c6eb806904 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -650,6 +650,7 @@ class HInstruction : public ArenaObject {    virtual bool NeedsEnvironment() const { return false; }    virtual bool IsControlFlow() const { return false; } +  virtual bool CanThrow() const { return false; }    bool HasSideEffects() const { return side_effects_.HasSideEffects(); }    void AddUseAt(HInstruction* user, size_t index) { @@ -1642,6 +1643,8 @@ class HNullCheck : public HExpression<1> {    virtual bool NeedsEnvironment() const { return true; } +  virtual bool CanThrow() const { return true; } +    uint32_t GetDexPc() const { return dex_pc_; }    DECLARE_INSTRUCTION(NullCheck); @@ -1802,6 +1805,8 @@ class HBoundsCheck : public HExpression<2> {    virtual bool NeedsEnvironment() const { return true; } +  virtual bool CanThrow() const { return true; } +    uint32_t GetDexPc() const { return dex_pc_; }    DECLARE_INSTRUCTION(BoundsCheck);  |