Lines Matching refs:SideEffects
1693 class SideEffects : public ValueObject {
1695 SideEffects() : flags_(0) {} in SideEffects() function
1697 static SideEffects None() { in None()
1698 return SideEffects(0); in None()
1701 static SideEffects All() { in All()
1702 return SideEffects(kAllChangeBits | kAllDependOnBits); in All()
1705 static SideEffects AllChanges() { in AllChanges()
1706 return SideEffects(kAllChangeBits); in AllChanges()
1709 static SideEffects AllDependencies() { in AllDependencies()
1710 return SideEffects(kAllDependOnBits); in AllDependencies()
1713 static SideEffects AllExceptGCDependency() { in AllExceptGCDependency()
1714 return AllWritesAndReads().Union(SideEffects::CanTriggerGC()); in AllExceptGCDependency()
1717 static SideEffects AllWritesAndReads() { in AllWritesAndReads()
1718 return SideEffects(kAllWrites | kAllReads); in AllWritesAndReads()
1721 static SideEffects AllWrites() { in AllWrites()
1722 return SideEffects(kAllWrites); in AllWrites()
1725 static SideEffects AllReads() { in AllReads()
1726 return SideEffects(kAllReads); in AllReads()
1729 static SideEffects FieldWriteOfType(DataType::Type type, bool is_volatile) { in FieldWriteOfType()
1732 : SideEffects(TypeFlag(type, kFieldWriteOffset)); in FieldWriteOfType()
1735 static SideEffects ArrayWriteOfType(DataType::Type type) { in ArrayWriteOfType()
1736 return SideEffects(TypeFlag(type, kArrayWriteOffset)); in ArrayWriteOfType()
1739 static SideEffects FieldReadOfType(DataType::Type type, bool is_volatile) { in FieldReadOfType()
1742 : SideEffects(TypeFlag(type, kFieldReadOffset)); in FieldReadOfType()
1745 static SideEffects ArrayReadOfType(DataType::Type type) { in ArrayReadOfType()
1746 return SideEffects(TypeFlag(type, kArrayReadOffset)); in ArrayReadOfType()
1753 static SideEffects CanTriggerGC() { in CanTriggerGC()
1754 return SideEffects(1ULL << kCanTriggerGCBit); in CanTriggerGC()
1760 static SideEffects DependsOnGC() { in DependsOnGC()
1761 return SideEffects(1ULL << kDependsOnGCBit); in DependsOnGC()
1765 SideEffects Union(SideEffects other) const { in Union()
1766 return SideEffects(flags_ | other.flags_); in Union()
1769 SideEffects Exclusion(SideEffects other) const { in Exclusion()
1770 return SideEffects(flags_ & ~other.flags_); in Exclusion()
1773 void Add(SideEffects other) { in Add()
1777 bool Includes(SideEffects other) const { in Includes()
1815 bool MayDependOn(SideEffects other) const { in MayDependOn()
1848 bool Equals(const SideEffects& other) const { return flags_ == other.flags_; } in Equals()
1903 explicit SideEffects(uint64_t flags) : flags_(flags) {} in SideEffects() function
2026 HInstruction(InstructionKind kind, SideEffects side_effects, uint32_t dex_pc) in HInstruction()
2029 HInstruction(InstructionKind kind, DataType::Type type, SideEffects side_effects, uint32_t dex_pc) in HInstruction()
2368 SideEffects GetSideEffects() const { return side_effects_; } in GetSideEffects()
2369 void SetSideEffects(SideEffects other) { side_effects_ = other; } in SetSideEffects()
2370 void AddSideEffects(SideEffects other) { side_effects_.Add(other); } in AddSideEffects()
2564 SideEffects side_effects_;
2664 SideEffects side_effects, in HVariableInputSizeInstruction()
2673 SideEffects side_effects, in HVariableInputSizeInstruction()
2689 HExpression<N>(InstructionKind kind, SideEffects side_effects, uint32_t dex_pc)
2693 SideEffects side_effects,
2737 : HExpression(kReturnVoid, SideEffects::None(), dex_pc) { in HExpression()
2753 : HExpression(kReturn, SideEffects::None(), dex_pc) { in HExpression()
2775 SideEffects::None(), in HVariableInputSizeInstruction()
2870 : HExpression(kExit, SideEffects::None(), dex_pc) { in HExpression()
2885 : HExpression(kGoto, SideEffects::None(), dex_pc) { in HExpression()
2904 : HExpression(kind, type, SideEffects::None(), dex_pc) { in HExpression()
3155 : HExpression(kIf, SideEffects::None(), dex_pc) { in HExpression()
3196 (kind == BoundaryKind::kExit) ? SideEffects::CanTriggerGC()
3197 : SideEffects::None(),
3258 SideEffects::All(), in HDeoptimize()
3283 SideEffects::CanTriggerGC(), in HDeoptimize()
3349 SideEffects::None(), in HShouldDeoptimizeFlag()
3374 : HExpression(kCurrentMethod, type, SideEffects::None(), dex_pc) { in HExpression()
3397 : HExpression(kClassTableGet, type, SideEffects::None(), dex_pc), in HClassTableGet()
3440 : HExpression(kPackedSwitch, SideEffects::None(), dex_pc), in HExpression()
3474 : HExpression(kind, result_type, SideEffects::None(), dex_pc) { in HExpression()
3512 SideEffects side_effects = SideEffects::None(),
3621 SideEffects::None(), in HBinaryOperation()
4182 static SideEffects SideEffectsForArchRuntimeCalls(DataType::Type type ATTRIBUTE_UNUSED) { in SideEffectsForArchRuntimeCalls()
4184 return SideEffects::None(); in SideEffectsForArchRuntimeCalls()
4218 SideEffects::CanTriggerGC(), in HNewInstance()
4380 SideEffects::AllExceptGCDependency(), // Assume write/read on all fields/arrays. in HInvoke()
4879 : HExpression(kNewArray, DataType::Type::kReference, SideEffects::CanTriggerGC(), dex_pc) { in HNewArray()
4929 : HBinaryOperation(kAdd, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
4965 : HBinaryOperation(kSub, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
4999 : HBinaryOperation(kMul, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5035 : HBinaryOperation(kDiv, result_type, left, right, SideEffects::None(), dex_pc) { in HDiv()
5083 : HBinaryOperation(kRem, result_type, left, right, SideEffects::None(), dex_pc) { in HRem()
5131 : HBinaryOperation(kMin, result_type, left, right, SideEffects::None(), dex_pc) {} in HMin()
5166 : HBinaryOperation(kMax, result_type, left, right, SideEffects::None(), dex_pc) {} in HMax()
5242 : HExpression(kDivZeroCheck, value->GetType(), SideEffects::None(), dex_pc) { in HDivZeroCheck()
5268 : HBinaryOperation(kShl, result_type, value, distance, SideEffects::None(), dex_pc) { in HBinaryOperation()
5314 : HBinaryOperation(kShr, result_type, value, distance, SideEffects::None(), dex_pc) { in HBinaryOperation()
5360 : HBinaryOperation(kUShr, result_type, value, distance, SideEffects::None(), dex_pc) { in HBinaryOperation()
5408 : HBinaryOperation(kAnd, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5446 : HBinaryOperation(kOr, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5484 : HBinaryOperation(kXor, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5576 : HExpression(kParameterValue, parameter_type, SideEffects::None(), kNoDexPc), in HExpression()
5688 : HExpression(kTypeConversion, result_type, SideEffects::None(), dex_pc) { in HExpression()
5726 : HExpression(kNullCheck, value->GetType(), SideEffects::None(), dex_pc) { in HNullCheck()
5798 SideEffects::FieldReadOfType(field_type, is_volatile), in HInstanceFieldGet()
5860 SideEffects::FieldWriteOfType(field_type, is_volatile), in HInstanceFieldSet()
5911 SideEffects::ArrayReadOfType(type), in HArrayGet()
5919 SideEffects side_effects, in HArrayGet()
6013 SideEffects side_effects, in HArraySet()
6081 static SideEffects ComputeSideEffects(DataType::Type type) { in ComputeSideEffects()
6082 return SideEffects::ArrayWriteOfType(type).Union(SideEffectsForArchRuntimeCalls(type)); in ComputeSideEffects()
6085 static SideEffects SideEffectsForArchRuntimeCalls(DataType::Type value_type) { in SideEffectsForArchRuntimeCalls()
6086 return (value_type == DataType::Type::kReference) ? SideEffects::CanTriggerGC() in SideEffectsForArchRuntimeCalls()
6087 : SideEffects::None(); in SideEffectsForArchRuntimeCalls()
6115 : HExpression(kArrayLength, DataType::Type::kInt32, SideEffects::None(), dex_pc) { in HExpression()
6159 : HExpression(kBoundsCheck, index->GetType(), SideEffects::None(), dex_pc) {
6195 : HExpression(kSuspendCheck, SideEffects::CanTriggerGC(), dex_pc), in HExpression()
6224 : HExpression<0>(kNativeDebugInfo, SideEffects::None(), dex_pc) { in HNativeDebugInfo()
6374 static SideEffects SideEffectsForArchRuntimeCalls() { in SideEffectsForArchRuntimeCalls()
6375 return SideEffects::CanTriggerGC(); in SideEffectsForArchRuntimeCalls()
6461 SetSideEffects(SideEffects::None()); in SetLoadKind()
6578 static SideEffects SideEffectsForArchRuntimeCalls() { in SideEffectsForArchRuntimeCalls()
6579 return SideEffects::CanTriggerGC(); in SideEffectsForArchRuntimeCalls()
6628 SetSideEffects(SideEffects::None()); in SetLoadKind()
6674 static SideEffects SideEffectsForArchRuntimeCalls() { in SideEffectsForArchRuntimeCalls()
6675 return SideEffects::CanTriggerGC(); in SideEffectsForArchRuntimeCalls()
6718 static SideEffects SideEffectsForArchRuntimeCalls() { in SideEffectsForArchRuntimeCalls()
6719 return SideEffects::CanTriggerGC(); in SideEffectsForArchRuntimeCalls()
6744 SideEffects::AllExceptGCDependency(), // Assume write/read on all fields/arrays. in HClinitCheck()
6786 SideEffects::FieldReadOfType(field_type, is_volatile), in HStaticFieldGet()
6845 SideEffects::FieldWriteOfType(field_type, is_volatile), in HStaticFieldSet()
6891 SideEffects::AllExceptGCDependency(), in HUnresolvedInstanceFieldGet()
6920 : HExpression(kUnresolvedInstanceFieldSet, SideEffects::AllExceptGCDependency(), dex_pc), in HUnresolvedInstanceFieldSet()
6960 SideEffects::AllExceptGCDependency(), in HUnresolvedStaticFieldGet()
6987 : HExpression(kUnresolvedStaticFieldSet, SideEffects::AllExceptGCDependency(), dex_pc), in HUnresolvedStaticFieldSet()
7023 : HExpression(kLoadException, DataType::Type::kReference, SideEffects::None(), dex_pc) { in HExpression()
7039 : HExpression(kClearException, SideEffects::AllWrites(), dex_pc) { in HExpression()
7051 : HExpression(kThrow, SideEffects::CanTriggerGC(), dex_pc) { in HThrow()
7101 SideEffects side_effects) in HTypeCheckInstruction()
7229 static SideEffects SideEffectsForArchRuntimeCalls(TypeCheckKind check_kind) { in SideEffectsForArchRuntimeCalls()
7230 return CanCallRuntime(check_kind) ? SideEffects::CanTriggerGC() : SideEffects::None(); in SideEffectsForArchRuntimeCalls()
7242 : HExpression(kBoundType, DataType::Type::kReference, SideEffects::None(), dex_pc), in HExpression()
7307 SideEffects::CanTriggerGC()) {} in HCheckCast()
7353 SideEffects::AllWritesAndReads(), // Assume write/read on all fields/arrays. in HExpression()
7474 SideEffects::AllReads(), in HConstructorFence()
7541 SideEffects::AllExceptGCDependency(), // Assume write/read on all fields/arrays. in HMonitorOperation()
7582 : HExpression(kSelect, HPhi::ToPhiType(true_value->GetType()), SideEffects::None(), dex_pc) { in HSelect()
7695 : HExpression(kParallelMove, SideEffects::None(), dex_pc), in HExpression()
7759 SideEffects::DependsOnGC(), in HIntermediateAddress()