Lines Matching defs:src_type

86 bool TypeInference::Type::MergeArrayConflict(Type src_type) {
88 DCHECK_NE(ArrayDepth(), src_type.ArrayDepth());
89 DCHECK_GE(std::min(ArrayDepth(), src_type.ArrayDepth()), 1u);
92 (src_type.ArrayDepth() == 1u && (src_type.raw_bits_ & kFlagArrayWide) != 0u);
99 bool TypeInference::Type::MergeStrong(Type src_type) {
100 bool changed = MergeNonArrayFlags(src_type);
101 if (src_type.ArrayDepth() != 0u) {
104 DCHECK_NE(src_type.raw_bits_ & kFlagRef, 0u);
105 raw_bits_ |= src_type.raw_bits_ & (~kMaskNonArray | kFlagRef);
107 } else if (ArrayDepth() == src_type.ArrayDepth()) {
108 changed |= MergeBits(src_type, kMaskArrayWideAndType);
109 } else if (src_type.ArrayDepth() == 1u &&
110 (((src_type.raw_bits_ ^ UnknownArrayType().raw_bits_) & kMaskArrayWideAndType) == 0u ||
111 ((src_type.raw_bits_ ^ ObjectArrayType().raw_bits_) & kMaskArrayWideAndType) == 0u)) {
117 raw_bits_ = (raw_bits_ & kMaskNonArray) | (src_type.raw_bits_ & ~kMaskNonArray);
121 changed |= MergeArrayConflict(src_type);
127 bool TypeInference::Type::MergeWeak(Type src_type) {
128 bool changed = MergeNonArrayFlags(src_type);
129 if (src_type.ArrayDepth() != 0u && src_type.NonNull()) {
130 DCHECK_NE(src_type.ArrayDepth(), 0u);
134 } else if (ArrayDepth() == src_type.ArrayDepth()) {
135 changed |= MergeBits(src_type, kMaskArrayWideAndType);
136 } else if (src_type.ArrayDepth() == 1u &&
137 (((src_type.raw_bits_ ^ UnknownArrayType().raw_bits_) & kMaskArrayWideAndType) == 0u ||
138 ((src_type.raw_bits_ ^ ObjectArrayType().raw_bits_) & kMaskArrayWideAndType) == 0u)) {
147 changed |= MergeArrayConflict(src_type);