Lines Matching refs:Operator
79 BufferAccess const BufferAccessOf(const Operator* op) { in BufferAccessOf()
144 const FieldAccess& FieldAccessOf(const Operator* op) { in FieldAccessOf()
152 const ElementAccess& ElementAccessOf(const Operator* op) { in ElementAccessOf()
161 V(BooleanNot, Operator::kNoProperties, 1) \
162 V(BooleanToNumber, Operator::kNoProperties, 1) \
163 V(NumberEqual, Operator::kCommutative, 2) \
164 V(NumberLessThan, Operator::kNoProperties, 2) \
165 V(NumberLessThanOrEqual, Operator::kNoProperties, 2) \
166 V(NumberAdd, Operator::kCommutative, 2) \
167 V(NumberSubtract, Operator::kNoProperties, 2) \
168 V(NumberMultiply, Operator::kCommutative, 2) \
169 V(NumberDivide, Operator::kNoProperties, 2) \
170 V(NumberModulus, Operator::kNoProperties, 2) \
171 V(NumberBitwiseOr, Operator::kCommutative, 2) \
172 V(NumberBitwiseXor, Operator::kCommutative, 2) \
173 V(NumberBitwiseAnd, Operator::kCommutative, 2) \
174 V(NumberShiftLeft, Operator::kNoProperties, 2) \
175 V(NumberShiftRight, Operator::kNoProperties, 2) \
176 V(NumberShiftRightLogical, Operator::kNoProperties, 2) \
177 V(NumberToInt32, Operator::kNoProperties, 1) \
178 V(NumberToUint32, Operator::kNoProperties, 1) \
179 V(NumberIsHoleNaN, Operator::kNoProperties, 1) \
180 V(PlainPrimitiveToNumber, Operator::kNoProperties, 1) \
181 V(ChangeTaggedToInt32, Operator::kNoProperties, 1) \
182 V(ChangeTaggedToUint32, Operator::kNoProperties, 1) \
183 V(ChangeTaggedToFloat64, Operator::kNoProperties, 1) \
184 V(ChangeInt32ToTagged, Operator::kNoProperties, 1) \
185 V(ChangeUint32ToTagged, Operator::kNoProperties, 1) \
186 V(ChangeFloat64ToTagged, Operator::kNoProperties, 1) \
187 V(ChangeBoolToBit, Operator::kNoProperties, 1) \
188 V(ChangeBitToBool, Operator::kNoProperties, 1) \
189 V(ObjectIsNumber, Operator::kNoProperties, 1) \
190 V(ObjectIsSmi, Operator::kNoProperties, 1)
193 V(StringEqual, Operator::kCommutative, 2) \
194 V(StringLessThan, Operator::kNoThrow, 2) \
195 V(StringLessThanOrEqual, Operator::kNoThrow, 2)
199 struct Name##Operator final : public Operator { \
200 Name##Operator() \
201 : Operator(IrOpcode::k##Name, Operator::kPure | properties, #Name, \
204 Name##Operator k##Name;
209 struct Name##Operator final : public Operator { \
210 Name##Operator() \
211 : Operator(IrOpcode::k##Name, Operator::kNoThrow | properties, #Name, \
214 Name##Operator k##Name;
219 struct LoadBuffer##Type##Operator final : public Operator1<BufferAccess> { \
220 LoadBuffer##Type##Operator() \
222 Operator::kNoThrow | Operator::kNoWrite, \
226 struct StoreBuffer##Type##Operator final : public Operator1<BufferAccess> { \
227 StoreBuffer##Type##Operator() \
229 Operator::kNoRead | Operator::kNoThrow, \
233 LoadBuffer##Type##Operator kLoadBuffer##Type; \
234 StoreBuffer##Type##Operator kStoreBuffer##Type;
249 const Operator* SimplifiedOperatorBuilder::Name() { return &cache_.k##Name; }
255 const Operator* SimplifiedOperatorBuilder::ReferenceEqual(Type* type) { in NO_THROW_OP_LIST()
257 return new (zone()) Operator(IrOpcode::kReferenceEqual, in NO_THROW_OP_LIST()
258 Operator::kCommutative | Operator::kPure, in NO_THROW_OP_LIST()
263 const Operator* SimplifiedOperatorBuilder::Allocate(PretenureFlag pretenure) { in Allocate()
265 Operator1<PretenureFlag>(IrOpcode::kAllocate, Operator::kNoThrow, in Allocate()
270 const Operator* SimplifiedOperatorBuilder::LoadBuffer(BufferAccess access) { in LoadBuffer()
283 const Operator* SimplifiedOperatorBuilder::StoreBuffer(BufferAccess access) { in StoreBuffer()
297 V(LoadField, FieldAccess, Operator::kNoWrite, 1, 1, 1) \
298 V(StoreField, FieldAccess, Operator::kNoRead, 2, 1, 0) \
299 V(LoadElement, ElementAccess, Operator::kNoWrite, 2, 1, 1) \
300 V(StoreElement, ElementAccess, Operator::kNoRead, 3, 1, 0)
305 const Operator* SimplifiedOperatorBuilder::Name(const Type& access) { \
307 Operator1<Type>(IrOpcode::k##Name, Operator::kNoThrow | properties, \