• Home
  • Raw
  • Download

Lines Matching refs:SideEffects

1806 class SideEffects : public ValueObject {
1808 SideEffects() : flags_(0) {} in SideEffects() function
1810 static SideEffects None() { in None()
1811 return SideEffects(0); in None()
1814 static SideEffects All() { in All()
1815 return SideEffects(kAllChangeBits | kAllDependOnBits); in All()
1818 static SideEffects AllChanges() { in AllChanges()
1819 return SideEffects(kAllChangeBits); in AllChanges()
1822 static SideEffects AllDependencies() { in AllDependencies()
1823 return SideEffects(kAllDependOnBits); in AllDependencies()
1826 static SideEffects AllExceptGCDependency() { in AllExceptGCDependency()
1827 return AllWritesAndReads().Union(SideEffects::CanTriggerGC()); in AllExceptGCDependency()
1830 static SideEffects AllWritesAndReads() { in AllWritesAndReads()
1831 return SideEffects(kAllWrites | kAllReads); in AllWritesAndReads()
1834 static SideEffects AllWrites() { in AllWrites()
1835 return SideEffects(kAllWrites); in AllWrites()
1838 static SideEffects AllReads() { in AllReads()
1839 return SideEffects(kAllReads); in AllReads()
1842 static SideEffects FieldWriteOfType(DataType::Type type, bool is_volatile) { in FieldWriteOfType()
1845 : SideEffects(TypeFlag(type, kFieldWriteOffset)); in FieldWriteOfType()
1848 static SideEffects ArrayWriteOfType(DataType::Type type) { in ArrayWriteOfType()
1849 return SideEffects(TypeFlag(type, kArrayWriteOffset)); in ArrayWriteOfType()
1852 static SideEffects FieldReadOfType(DataType::Type type, bool is_volatile) { in FieldReadOfType()
1855 : SideEffects(TypeFlag(type, kFieldReadOffset)); in FieldReadOfType()
1858 static SideEffects ArrayReadOfType(DataType::Type type) { in ArrayReadOfType()
1859 return SideEffects(TypeFlag(type, kArrayReadOffset)); in ArrayReadOfType()
1866 static SideEffects CanTriggerGC() { in CanTriggerGC()
1867 return SideEffects(1ULL << kCanTriggerGCBit); in CanTriggerGC()
1873 static SideEffects DependsOnGC() { in DependsOnGC()
1874 return SideEffects(1ULL << kDependsOnGCBit); in DependsOnGC()
1878 SideEffects Union(SideEffects other) const { in Union()
1879 return SideEffects(flags_ | other.flags_); in Union()
1882 SideEffects Exclusion(SideEffects other) const { in Exclusion()
1883 return SideEffects(flags_ & ~other.flags_); in Exclusion()
1886 void Add(SideEffects other) { in Add()
1890 bool Includes(SideEffects other) const { in Includes()
1928 bool MayDependOn(SideEffects other) const { in MayDependOn()
1961 bool Equals(const SideEffects& other) const { return flags_ == other.flags_; } in Equals()
2016 explicit SideEffects(uint64_t flags) : flags_(flags) {} in SideEffects() function
2192 HInstruction(InstructionKind kind, SideEffects side_effects, uint32_t dex_pc) in HInstruction()
2195 HInstruction(InstructionKind kind, DataType::Type type, SideEffects side_effects, uint32_t dex_pc) in HInstruction()
2571 SideEffects GetSideEffects() const { return side_effects_; } in GetSideEffects()
2572 void SetSideEffects(SideEffects other) { side_effects_ = other; } in SetSideEffects()
2573 void AddSideEffects(SideEffects other) { side_effects_.Add(other); } in AddSideEffects()
2763 SideEffects side_effects_;
2926 SideEffects side_effects,
2935 SideEffects side_effects,
2951 HExpression<N>(InstructionKind kind, SideEffects side_effects, uint32_t dex_pc)
2955 SideEffects side_effects,
2999 : HExpression(kReturnVoid, SideEffects::None(), dex_pc) {
3015 : HExpression(kReturn, SideEffects::None(), dex_pc) {
3037 SideEffects::None(),
3132 : HExpression(kExit, SideEffects::None(), dex_pc) {
3147 : HExpression(kGoto, SideEffects::None(), dex_pc) {
3166 : HExpression(kind, type, SideEffects::None(), dex_pc) {
3417 : HExpression(kIf, SideEffects::None(), dex_pc) {
3458 (kind == BoundaryKind::kExit) ? SideEffects::CanTriggerGC()
3459 : SideEffects::None(),
3520 SideEffects::All(),
3545 SideEffects::CanTriggerGC(),
3611 SideEffects::None(),
3636 : HExpression(kCurrentMethod, type, SideEffects::None(), dex_pc) {
3659 : HExpression(kClassTableGet, type, SideEffects::None(), dex_pc),
3702 : HExpression(kPackedSwitch, SideEffects::None(), dex_pc),
3736 : HExpression(kind, result_type, SideEffects::None(), dex_pc) {
3774 SideEffects side_effects = SideEffects::None(),
3883 SideEffects::None(),
4442 static SideEffects SideEffectsForArchRuntimeCalls(DataType::Type type ATTRIBUTE_UNUSED) {
4444 return SideEffects::None();
4478 SideEffects::CanTriggerGC(),
4709 SideEffects::AllExceptGCDependency(), // Assume write/read on all fields/arrays.
5220 : HExpression(kNewArray, DataType::Type::kReference, SideEffects::CanTriggerGC(), dex_pc) {
5270 : HBinaryOperation(kAdd, result_type, left, right, SideEffects::None(), dex_pc) {
5306 : HBinaryOperation(kSub, result_type, left, right, SideEffects::None(), dex_pc) {
5340 : HBinaryOperation(kMul, result_type, left, right, SideEffects::None(), dex_pc) {
5376 : HBinaryOperation(kDiv, result_type, left, right, SideEffects::None(), dex_pc) {
5424 : HBinaryOperation(kRem, result_type, left, right, SideEffects::None(), dex_pc) {
5472 : HBinaryOperation(kMin, result_type, left, right, SideEffects::None(), dex_pc) {}
5507 : HBinaryOperation(kMax, result_type, left, right, SideEffects::None(), dex_pc) {}
5583 : HExpression(kDivZeroCheck, value->GetType(), SideEffects::None(), dex_pc) {
5609 : HBinaryOperation(kShl, result_type, value, distance, SideEffects::None(), dex_pc) {
5655 : HBinaryOperation(kShr, result_type, value, distance, SideEffects::None(), dex_pc) {
5701 : HBinaryOperation(kUShr, result_type, value, distance, SideEffects::None(), dex_pc) {
5749 : HBinaryOperation(kAnd, result_type, left, right, SideEffects::None(), dex_pc) {
5787 : HBinaryOperation(kOr, result_type, left, right, SideEffects::None(), dex_pc) {
5825 : HBinaryOperation(kXor, result_type, left, right, SideEffects::None(), dex_pc) {
5915 : HExpression(kParameterValue, parameter_type, SideEffects::None(), kNoDexPc),
6027 : HExpression(kTypeConversion, result_type, SideEffects::None(), dex_pc) {
6065 : HExpression(kNullCheck, value->GetType(), SideEffects::None(), dex_pc) {
6162 SideEffects::FieldReadOfType(field_type, is_volatile),
6239 SideEffects::FieldReadOfType(field_type, is_volatile),
6315 SideEffects::FieldWriteOfType(field_type, is_volatile),
6371 SideEffects::ArrayReadOfType(type),
6379 SideEffects side_effects,
6473 SideEffects side_effects,
6541 static SideEffects ComputeSideEffects(DataType::Type type) {
6542 return SideEffects::ArrayWriteOfType(type).Union(SideEffectsForArchRuntimeCalls(type));
6545 static SideEffects SideEffectsForArchRuntimeCalls(DataType::Type value_type) {
6546 return (value_type == DataType::Type::kReference) ? SideEffects::CanTriggerGC()
6547 : SideEffects::None();
6575 : HExpression(kArrayLength, DataType::Type::kInt32, SideEffects::None(), dex_pc) {
6619 : HExpression(kBoundsCheck, index->GetType(), SideEffects::None(), dex_pc) {
6655 : HExpression(kSuspendCheck, SideEffects::CanTriggerGC(), dex_pc),
6684 : HExpression<0>(kNativeDebugInfo, SideEffects::None(), dex_pc) {
6844 static SideEffects SideEffectsForArchRuntimeCalls() {
6845 return SideEffects::CanTriggerGC();
6938 SetSideEffects(SideEffects::None());
7053 static SideEffects SideEffectsForArchRuntimeCalls() {
7054 return SideEffects::CanTriggerGC();
7103 SetSideEffects(SideEffects::None());
7149 static SideEffects SideEffectsForArchRuntimeCalls() {
7150 return SideEffects::CanTriggerGC();
7193 static SideEffects SideEffectsForArchRuntimeCalls() {
7194 return SideEffects::CanTriggerGC();
7219 SideEffects::AllExceptGCDependency(), // Assume write/read on all fields/arrays.
7261 SideEffects::FieldReadOfType(field_type, is_volatile),
7321 SideEffects::FieldWriteOfType(field_type, is_volatile),
7371 SideEffects::AllReads().Union(SideEffects::CanTriggerGC()),
7419 SideEffects::AllExceptGCDependency(),
7448 : HExpression(kUnresolvedInstanceFieldSet, SideEffects::AllExceptGCDependency(), dex_pc),
7488 SideEffects::AllExceptGCDependency(),
7515 : HExpression(kUnresolvedStaticFieldSet, SideEffects::AllExceptGCDependency(), dex_pc),
7551 : HExpression(kLoadException, DataType::Type::kReference, SideEffects::None(), dex_pc) {
7567 : HExpression(kClearException, SideEffects::AllWrites(), dex_pc) {
7579 : HExpression(kThrow, SideEffects::CanTriggerGC(), dex_pc) {
7629 SideEffects side_effects)
7757 static SideEffects SideEffectsForArchRuntimeCalls(TypeCheckKind check_kind) {
7758 return CanCallRuntime(check_kind) ? SideEffects::CanTriggerGC() : SideEffects::None();
7770 : HExpression(kBoundType, DataType::Type::kReference, SideEffects::None(), dex_pc),
7835 SideEffects::CanTriggerGC()) {}
7881 SideEffects::AllWritesAndReads(), // Assume write/read on all fields/arrays.
8002 SideEffects::AllReads(),
8069 SideEffects::AllExceptGCDependency(), // Assume write/read on all fields/arrays.
8110 : HExpression(kSelect, HPhi::ToPhiType(true_value->GetType()), SideEffects::None(), dex_pc) {
8223 : HExpression(kParallelMove, SideEffects::None(), dex_pc),
8287 SideEffects::DependsOnGC(),