Lines Matching defs:lhs
13 const LazyNode<Context>& context, TNode<Object> lhs, TNode<Object> rhs,
26 // Check if the {lhs} is a Smi or a HeapObject.
34 Branch(TaggedIsNotSmi(lhs), &if_lhsisnotsmi, &if_lhsissmi);
38 Comment("lhs is Smi");
39 TNode<Smi> lhs_smi = CAST(lhs);
89 // Check if {lhs} is a HeapNumber.
90 TNode<HeapObject> lhs_heap_object = CAST(lhs);
132 // No checks on rhs are done yet. We just know lhs is not a number or Smi.
134 TNode<Uint16T> lhs_instance_type = LoadInstanceType(CAST(lhs));
167 // Exit unless {rhs} is a string. Since {lhs} is a string we no longer
176 CallBuiltin(Builtin::kStringAdd_CheckNone, context(), lhs, rhs);
185 // Check if rhs is an oddball. At this point we know lhs is either a
196 // Both {lhs} and {rhs} are of BigInt type.
198 var_result = CallBuiltin(Builtin::kBigIntAddNoThrow, context(), lhs, rhs);
232 var_result = CallBuiltin(Builtin::kAdd, context(), lhs, rhs);
241 const LazyNode<Context>& context, TNode<Object> lhs, TNode<Object> rhs,
261 Branch(TaggedIsNotSmi(lhs), &if_lhsisnotsmi, &if_lhsissmi);
263 // Check if the {lhs} is a Smi or a HeapObject.
266 Comment("lhs is Smi");
267 TNode<Smi> lhs_smi = CAST(lhs);
299 Comment("lhs is not Smi");
300 // Check if the {lhs} is a HeapNumber.
301 TNode<HeapObject> lhs_heap_object = CAST(lhs);
346 // No checks on rhs are done yet. We just know lhs is not a number or Smi.
348 TNode<Uint16T> lhs_instance_type = LoadInstanceType(CAST(lhs));
386 // Check if rhs is an oddball. At this point we know lhs is either a
405 CallBuiltin(Builtin::kBigIntSubtractNoThrow, context(), lhs, rhs);
419 var_result = CallRuntime(Runtime::kBigIntBinaryOp, context(), lhs, rhs,
438 result = CallBuiltin(Builtin::kSubtract, context(), lhs, rhs);
441 result = CallBuiltin(Builtin::kMultiply, context(), lhs, rhs);
444 result = CallBuiltin(Builtin::kDivide, context(), lhs, rhs);
447 result = CallBuiltin(Builtin::kModulus, context(), lhs, rhs);
450 result = CallBuiltin(Builtin::kExponentiate, context(), lhs, rhs);
464 const LazyNode<Context>& context, TNode<Object> lhs, TNode<Object> rhs,
467 auto smiFunction = [=](TNode<Smi> lhs, TNode<Smi> rhs,
476 var_result = TrySmiSub(lhs, rhs, &if_overflow);
483 TNode<Float64T> value = Float64Sub(SmiToFloat64(lhs), SmiToFloat64(rhs));
491 auto floatFunction = [=](TNode<Float64T> lhs, TNode<Float64T> rhs) {
492 return Float64Sub(lhs, rhs);
495 context, lhs, rhs, slot_id, maybe_feedback_vector, smiFunction,
500 const LazyNode<Context>& context, TNode<Object> lhs, TNode<Object> rhs,
503 auto smiFunction = [=](TNode<Smi> lhs, TNode<Smi> rhs,
505 TNode<Number> result = SmiMul(lhs, rhs);
511 auto floatFunction = [=](TNode<Float64T> lhs, TNode<Float64T> rhs) {
512 return Float64Mul(lhs, rhs);
515 context, lhs, rhs, slot_id, maybe_feedback_vector, smiFunction,
524 auto smiFunction = [=](TNode<Smi> lhs, TNode<Smi> rhs,
532 var_result = TrySmiDiv(lhs, rhs, &bailout);
540 TNode<Float64T> value = Float64Div(SmiToFloat64(lhs), SmiToFloat64(rhs));
548 auto floatFunction = [=](TNode<Float64T> lhs, TNode<Float64T> rhs) {
549 return Float64Div(lhs, rhs);
561 auto smiFunction = [=](TNode<Smi> lhs, TNode<Smi> rhs,
563 TNode<Number> result = SmiMod(lhs, rhs);
569 auto floatFunction = [=](TNode<Float64T> lhs, TNode<Float64T> rhs) {
570 return Float64Mod(lhs, rhs);
699 // Check if the {lhs} is a Smi or a HeapObject.