Lines Matching refs:SideEffects

1764 class SideEffects : public ValueObject {
1766 SideEffects() : flags_(0) {} in SideEffects() function
1768 static SideEffects None() { in None()
1769 return SideEffects(0); in None()
1772 static SideEffects All() { in All()
1773 return SideEffects(kAllChangeBits | kAllDependOnBits); in All()
1776 static SideEffects AllChanges() { in AllChanges()
1777 return SideEffects(kAllChangeBits); in AllChanges()
1780 static SideEffects AllDependencies() { in AllDependencies()
1781 return SideEffects(kAllDependOnBits); in AllDependencies()
1784 static SideEffects AllExceptGCDependency() { in AllExceptGCDependency()
1785 return AllWritesAndReads().Union(SideEffects::CanTriggerGC()); in AllExceptGCDependency()
1788 static SideEffects AllWritesAndReads() { in AllWritesAndReads()
1789 return SideEffects(kAllWrites | kAllReads); in AllWritesAndReads()
1792 static SideEffects AllWrites() { in AllWrites()
1793 return SideEffects(kAllWrites); in AllWrites()
1796 static SideEffects AllReads() { in AllReads()
1797 return SideEffects(kAllReads); in AllReads()
1800 static SideEffects FieldWriteOfType(DataType::Type type, bool is_volatile) { in FieldWriteOfType()
1803 : SideEffects(TypeFlag(type, kFieldWriteOffset)); in FieldWriteOfType()
1806 static SideEffects ArrayWriteOfType(DataType::Type type) { in ArrayWriteOfType()
1807 return SideEffects(TypeFlag(type, kArrayWriteOffset)); in ArrayWriteOfType()
1810 static SideEffects FieldReadOfType(DataType::Type type, bool is_volatile) { in FieldReadOfType()
1813 : SideEffects(TypeFlag(type, kFieldReadOffset)); in FieldReadOfType()
1816 static SideEffects ArrayReadOfType(DataType::Type type) { in ArrayReadOfType()
1817 return SideEffects(TypeFlag(type, kArrayReadOffset)); in ArrayReadOfType()
1824 static SideEffects CanTriggerGC() { in CanTriggerGC()
1825 return SideEffects(1ULL << kCanTriggerGCBit); in CanTriggerGC()
1831 static SideEffects DependsOnGC() { in DependsOnGC()
1832 return SideEffects(1ULL << kDependsOnGCBit); in DependsOnGC()
1836 SideEffects Union(SideEffects other) const { in Union()
1837 return SideEffects(flags_ | other.flags_); in Union()
1840 SideEffects Exclusion(SideEffects other) const { in Exclusion()
1841 return SideEffects(flags_ & ~other.flags_); in Exclusion()
1844 void Add(SideEffects other) { in Add()
1848 bool Includes(SideEffects other) const { in Includes()
1886 bool MayDependOn(SideEffects other) const { in MayDependOn()
1919 bool Equals(const SideEffects& other) const { return flags_ == other.flags_; } in Equals()
1974 explicit SideEffects(uint64_t flags) : flags_(flags) {} in SideEffects() function
2097 HInstruction(InstructionKind kind, SideEffects side_effects, uint32_t dex_pc) in HInstruction()
2100 HInstruction(InstructionKind kind, DataType::Type type, SideEffects side_effects, uint32_t dex_pc) in HInstruction()
2440 SideEffects GetSideEffects() const { return side_effects_; } in GetSideEffects()
2441 void SetSideEffects(SideEffects other) { side_effects_ = other; } in SetSideEffects()
2442 void AddSideEffects(SideEffects other) { side_effects_.Add(other); } in AddSideEffects()
2636 SideEffects side_effects_;
2736 SideEffects side_effects, in HVariableInputSizeInstruction()
2745 SideEffects side_effects, in HVariableInputSizeInstruction()
2761 HExpression<N>(InstructionKind kind, SideEffects side_effects, uint32_t dex_pc)
2765 SideEffects side_effects,
2809 : HExpression(kReturnVoid, SideEffects::None(), dex_pc) { in HExpression()
2825 : HExpression(kReturn, SideEffects::None(), dex_pc) { in HExpression()
2847 SideEffects::None(), in HVariableInputSizeInstruction()
2942 : HExpression(kExit, SideEffects::None(), dex_pc) { in HExpression()
2957 : HExpression(kGoto, SideEffects::None(), dex_pc) { in HExpression()
2976 : HExpression(kind, type, SideEffects::None(), dex_pc) { in HExpression()
3227 : HExpression(kIf, SideEffects::None(), dex_pc) { in HExpression()
3268 (kind == BoundaryKind::kExit) ? SideEffects::CanTriggerGC()
3269 : SideEffects::None(),
3330 SideEffects::All(), in HDeoptimize()
3355 SideEffects::CanTriggerGC(), in HDeoptimize()
3421 SideEffects::None(), in HShouldDeoptimizeFlag()
3446 : HExpression(kCurrentMethod, type, SideEffects::None(), dex_pc) { in HExpression()
3469 : HExpression(kClassTableGet, type, SideEffects::None(), dex_pc), in HClassTableGet()
3512 : HExpression(kPackedSwitch, SideEffects::None(), dex_pc), in HExpression()
3546 : HExpression(kind, result_type, SideEffects::None(), dex_pc) { in HExpression()
3584 SideEffects side_effects = SideEffects::None(),
3693 SideEffects::None(), in HBinaryOperation()
4252 static SideEffects SideEffectsForArchRuntimeCalls(DataType::Type type ATTRIBUTE_UNUSED) { in SideEffectsForArchRuntimeCalls()
4254 return SideEffects::None(); in SideEffectsForArchRuntimeCalls()
4288 SideEffects::CanTriggerGC(), in HNewInstance()
4450 SideEffects::AllExceptGCDependency(), // Assume write/read on all fields/arrays. in HInvoke()
4990 : HExpression(kNewArray, DataType::Type::kReference, SideEffects::CanTriggerGC(), dex_pc) { in HNewArray()
5040 : HBinaryOperation(kAdd, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5076 : HBinaryOperation(kSub, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5110 : HBinaryOperation(kMul, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5146 : HBinaryOperation(kDiv, result_type, left, right, SideEffects::None(), dex_pc) { in HDiv()
5194 : HBinaryOperation(kRem, result_type, left, right, SideEffects::None(), dex_pc) { in HRem()
5242 : HBinaryOperation(kMin, result_type, left, right, SideEffects::None(), dex_pc) {} in HMin()
5277 : HBinaryOperation(kMax, result_type, left, right, SideEffects::None(), dex_pc) {} in HMax()
5353 : HExpression(kDivZeroCheck, value->GetType(), SideEffects::None(), dex_pc) { in HDivZeroCheck()
5379 : HBinaryOperation(kShl, result_type, value, distance, SideEffects::None(), dex_pc) { in HBinaryOperation()
5425 : HBinaryOperation(kShr, result_type, value, distance, SideEffects::None(), dex_pc) { in HBinaryOperation()
5471 : HBinaryOperation(kUShr, result_type, value, distance, SideEffects::None(), dex_pc) { in HBinaryOperation()
5519 : HBinaryOperation(kAnd, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5557 : HBinaryOperation(kOr, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5595 : HBinaryOperation(kXor, result_type, left, right, SideEffects::None(), dex_pc) { in HBinaryOperation()
5685 : HExpression(kParameterValue, parameter_type, SideEffects::None(), kNoDexPc), in HExpression()
5797 : HExpression(kTypeConversion, result_type, SideEffects::None(), dex_pc) { in HExpression()
5835 : HExpression(kNullCheck, value->GetType(), SideEffects::None(), dex_pc) { in HNullCheck()
5907 SideEffects::FieldReadOfType(field_type, is_volatile), in HInstanceFieldGet()
5969 SideEffects::FieldWriteOfType(field_type, is_volatile), in HInstanceFieldSet()
6020 SideEffects::ArrayReadOfType(type), in HArrayGet()
6028 SideEffects side_effects, in HArrayGet()
6122 SideEffects side_effects, in HArraySet()
6190 static SideEffects ComputeSideEffects(DataType::Type type) { in ComputeSideEffects()
6191 return SideEffects::ArrayWriteOfType(type).Union(SideEffectsForArchRuntimeCalls(type)); in ComputeSideEffects()
6194 static SideEffects SideEffectsForArchRuntimeCalls(DataType::Type value_type) { in SideEffectsForArchRuntimeCalls()
6195 return (value_type == DataType::Type::kReference) ? SideEffects::CanTriggerGC() in SideEffectsForArchRuntimeCalls()
6196 : SideEffects::None(); in SideEffectsForArchRuntimeCalls()
6224 : HExpression(kArrayLength, DataType::Type::kInt32, SideEffects::None(), dex_pc) { in HExpression()
6268 : HExpression(kBoundsCheck, index->GetType(), SideEffects::None(), dex_pc) {
6304 : HExpression(kSuspendCheck, SideEffects::CanTriggerGC(), dex_pc), in HExpression()
6333 : HExpression<0>(kNativeDebugInfo, SideEffects::None(), dex_pc) { in HNativeDebugInfo()
6483 static SideEffects SideEffectsForArchRuntimeCalls() { in SideEffectsForArchRuntimeCalls()
6484 return SideEffects::CanTriggerGC(); in SideEffectsForArchRuntimeCalls()
6570 SetSideEffects(SideEffects::None()); in SetLoadKind()
6687 static SideEffects SideEffectsForArchRuntimeCalls() { in SideEffectsForArchRuntimeCalls()
6688 return SideEffects::CanTriggerGC(); in SideEffectsForArchRuntimeCalls()
6737 SetSideEffects(SideEffects::None()); in SetLoadKind()
6783 static SideEffects SideEffectsForArchRuntimeCalls() { in SideEffectsForArchRuntimeCalls()
6784 return SideEffects::CanTriggerGC(); in SideEffectsForArchRuntimeCalls()
6827 static SideEffects SideEffectsForArchRuntimeCalls() { in SideEffectsForArchRuntimeCalls()
6828 return SideEffects::CanTriggerGC(); in SideEffectsForArchRuntimeCalls()
6853 SideEffects::AllExceptGCDependency(), // Assume write/read on all fields/arrays. in HClinitCheck()
6895 SideEffects::FieldReadOfType(field_type, is_volatile), in HStaticFieldGet()
6954 SideEffects::FieldWriteOfType(field_type, is_volatile), in HStaticFieldSet()
7003 SideEffects::AllReads().Union(SideEffects::CanTriggerGC()), in HStringBuilderAppend()
7051 SideEffects::AllExceptGCDependency(), in HUnresolvedInstanceFieldGet()
7080 : HExpression(kUnresolvedInstanceFieldSet, SideEffects::AllExceptGCDependency(), dex_pc), in HUnresolvedInstanceFieldSet()
7120 SideEffects::AllExceptGCDependency(), in HUnresolvedStaticFieldGet()
7147 : HExpression(kUnresolvedStaticFieldSet, SideEffects::AllExceptGCDependency(), dex_pc), in HUnresolvedStaticFieldSet()
7183 : HExpression(kLoadException, DataType::Type::kReference, SideEffects::None(), dex_pc) { in HExpression()
7199 : HExpression(kClearException, SideEffects::AllWrites(), dex_pc) { in HExpression()
7211 : HExpression(kThrow, SideEffects::CanTriggerGC(), dex_pc) { in HThrow()
7261 SideEffects side_effects) in HTypeCheckInstruction()
7389 static SideEffects SideEffectsForArchRuntimeCalls(TypeCheckKind check_kind) { in SideEffectsForArchRuntimeCalls()
7390 return CanCallRuntime(check_kind) ? SideEffects::CanTriggerGC() : SideEffects::None(); in SideEffectsForArchRuntimeCalls()
7402 : HExpression(kBoundType, DataType::Type::kReference, SideEffects::None(), dex_pc), in HExpression()
7467 SideEffects::CanTriggerGC()) {} in HCheckCast()
7513 SideEffects::AllWritesAndReads(), // Assume write/read on all fields/arrays. in HExpression()
7634 SideEffects::AllReads(), in HConstructorFence()
7701 SideEffects::AllExceptGCDependency(), // Assume write/read on all fields/arrays. in HMonitorOperation()
7742 : HExpression(kSelect, HPhi::ToPhiType(true_value->GetType()), SideEffects::None(), dex_pc) { in HSelect()
7855 : HExpression(kParallelMove, SideEffects::None(), dex_pc), in HExpression()
7919 SideEffects::DependsOnGC(), in HIntermediateAddress()