diff options
Diffstat (limited to 'compiler/optimizing/nodes.h')
| -rw-r--r-- | compiler/optimizing/nodes.h | 23 | 
1 files changed, 7 insertions, 16 deletions
| diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index a946e319c7..883ac65c9c 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -1956,7 +1956,7 @@ class HInstruction : public ArenaObject<kArenaAllocInstruction> {    bool IsRemovable() const {      return -        !HasSideEffects() && +        !DoesAnyWrite() &&          !CanThrow() &&          !IsSuspendCheck() &&          !IsControlFlow() && @@ -3782,6 +3782,8 @@ class HInvoke : public HInstruction {      return GetEnvironment()->IsFromInlinedInvoke();    } +  void SetCanThrow(bool can_throw) { SetPackedFlag<kFlagCanThrow>(can_throw); } +    bool CanThrow() const OVERRIDE { return GetPackedFlag<kFlagCanThrow>(); }    bool CanBeMoved() const OVERRIDE { return IsIntrinsic(); } @@ -3840,8 +3842,6 @@ class HInvoke : public HInstruction {      SetPackedFlag<kFlagCanThrow>(true);    } -  void SetCanThrow(bool can_throw) { SetPackedFlag<kFlagCanThrow>(can_throw); } -    uint32_t number_of_arguments_;    ArtMethod* const resolved_method_;    ArenaVector<HUserRecord<HInstruction*>> inputs_; @@ -5679,10 +5679,6 @@ class HLoadString FINAL : public HInstruction {      // GetIncludePatchInformation().      kBootImageAddress, -    // Load from the resolved strings array at an absolute address. -    // Used for strings outside the boot image referenced by JIT-compiled code. -    kDexCacheAddress, -      // Load from an entry in the .bss section using a PC-relative load.      // Used for strings outside boot image when .bss is accessible with a PC-relative load.      kBssEntry, @@ -5692,10 +5688,7 @@ class HLoadString FINAL : public HInstruction {      // all other types are unavailable.      kDexCacheViaMethod, -    // Load from the root table associated with the JIT compiled method. -    kJitTableAddress, - -    kLast = kJitTableAddress, +    kLast = kDexCacheViaMethod    };    HLoadString(HCurrentMethod* current_method, @@ -5753,8 +5746,7 @@ class HLoadString FINAL : public HInstruction {      LoadKind load_kind = GetLoadKind();      if (load_kind == LoadKind::kBootImageLinkTimeAddress ||          load_kind == LoadKind::kBootImageLinkTimePcRelative || -        load_kind == LoadKind::kBootImageAddress || -        load_kind == LoadKind::kJitTableAddress) { +        load_kind == LoadKind::kBootImageAddress) {        return false;      }      return !IsInDexCache(); @@ -5807,12 +5799,11 @@ class HLoadString FINAL : public HInstruction {      return load_kind == LoadKind::kBootImageLinkTimeAddress ||          load_kind == LoadKind::kBootImageLinkTimePcRelative ||          load_kind == LoadKind::kBssEntry || -        load_kind == LoadKind::kDexCacheViaMethod || -        load_kind == LoadKind::kJitTableAddress; +        load_kind == LoadKind::kDexCacheViaMethod;    }    static bool HasAddress(LoadKind load_kind) { -    return load_kind == LoadKind::kBootImageAddress || load_kind == LoadKind::kDexCacheAddress; +    return load_kind == LoadKind::kBootImageAddress;    }    void SetLoadKindInternal(LoadKind load_kind); |