Lines Matching refs:SMI
97 // be either a smi or a heap number object (fp value). Requirements:
102 // Test if operands are smi or number objects (fp). Requirements:
242 // Test if both operands are floats or smi -> scratch=k_is_float;
335 __ cmp(ebx, Immediate(Smi::FromInt(JSRegExp::IRREGEXP)));
343 // Multiplying by 2 comes for free since edx is smi-tagged.
438 // a smi (code flushing support).
442 // ebx: previous index (smi)
514 STATIC_ASSERT(kSmiTagSize == 1); // esi is smi (powered by 2).
568 __ add(edx, Immediate(2)); // edx was a smi.
589 __ SmiTag(edx); // Number of capture registers to smi.
591 __ SmiUntag(edx); // Number of capture registers back from smi.
620 // Store the smi value in the last match info.
711 if (expected == CompareICState::SMI) {
759 // NOTICE! This code is only reached after a smi-fast-case check, so
760 // it is certain that at least one operand isn't a smi.
776 __ Move(eax, Immediate(Smi::FromInt(NegativeComparisonResult(cc))));
796 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
810 // and oddballs. Non-smi numbers and strings still go through the usual
812 // If either is a Smi (we know that not both are), then they can only
815 DCHECK_EQ(static_cast<Smi*>(0), Smi::kZero);
820 // One operand is a smi.
822 // Check whether the non-smi is a heap number.
830 // if eax was smi, ebx is now edx, else eax.
832 // Check if the non-smi operand is a heap number.
897 __ mov(eax, Immediate(Smi::FromInt(-1)));
901 __ mov(eax, Immediate(Smi::FromInt(1)));
909 __ mov(eax, Immediate(Smi::FromInt(1)));
911 __ mov(eax, Immediate(Smi::FromInt(-1)));
952 // At most one is a smi, so we can test for smi by adding the two.
953 // A smi plus a heap object has the low bit set, a heap object plus
1017 __ push(Immediate(Smi::FromInt(NegativeComparisonResult(cc))));
1034 // edx : slot in feedback vector (Smi)
1040 // Number-of-arguments register must be smi-tagged to call out.
1066 // edx : slot in feedback vector (Smi)
1143 Immediate(Smi::FromInt(1)));
1150 // edx : slot in feedback vector (Smi, for RecordCallTarget)
1154 // Check that function is not a smi.
1193 Immediate(Smi::FromInt(1)));
1235 // AllocationSite::kTransitionInfoOffset - contains a Smi or pointer to
1237 // WeakCell::kValueOffset - contains a JSFunction or Smi(0)
1250 // The compare above could have been a SMI/SMI comparison. Guard against this
1598 __ push(Immediate(Smi::FromInt(marker))); // marker
1615 __ push(Immediate(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME)));
1618 __ push(Immediate(Smi::FromInt(StackFrame::INNER_JSENTRY_FRAME)));
1662 __ cmp(ebx, Immediate(Smi::FromInt(StackFrame::OUTERMOST_JSENTRY_FRAME)));
1687 // If the receiver is a smi trigger the non-string case.
1699 // If the index is non-smi trigger the non-smi case.
1723 // Index is not a smi.
1752 // If index is still not a smi, it must be out of range.
1789 __ Move(eax, Immediate(Smi::FromInt(NOT_EQUAL)));
1798 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
1807 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
1852 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
1865 __ Move(eax, Immediate(Smi::FromInt(LESS)));
1870 __ Move(eax, Immediate(Smi::FromInt(GREATER)));
1957 DCHECK(state() == CompareICState::SMI);
1989 if (left() == CompareICState::SMI) {
1992 if (right() == CompareICState::SMI) {
2072 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
2117 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
2163 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
2265 __ Push(Immediate(Smi::FromInt(NegativeComparisonResult(GetCondition()))));
2283 __ push(Immediate(Smi::FromInt(op())));
2317 // Capacity is smi 2^n.
2321 Immediate(Smi::FromInt(name->Hash() +
2757 Immediate(Smi::FromInt(kFastElementsKindPackedToHoley)));
2844 // Will both indicate a NULL and a Smi.
2938 // Will both indicate a NULL and a Smi.
3001 Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
3032 __ mov(FieldOperand(eax, JSArray::kLengthOffset), Immediate(Smi::kZero));
3040 __ Push(Smi::FromInt(JSArray::kSize));
3073 __ Move(ecx, Smi::kZero);
3082 __ add(ecx, Immediate(Smi::FromInt(1)));
3177 __ cmp(eax, Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
3194 // ecx = argument count (smi-tagged)
3225 // ecx = argument count (smi-tagged)
3247 // ecx = argument count (smi-tagged)
3265 // Use the length (smi tagged) and set that as an in-object property too.
3294 __ lea(eax, Operand(ebx, reinterpret_cast<intptr_t>(Smi::FromInt(2))));
3311 __ mov(ebx, Immediate(Smi::FromInt(Context::MIN_CONTEXT_SLOTS)));
3331 __ sub(eax, Immediate(Smi::FromInt(1)));
3334 __ add(ebx, Immediate(Smi::FromInt(1)));
3365 __ add(ebx, Immediate(Smi::FromInt(1)));
3419 Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
3460 __ Move(ecx, Smi::kZero);
3469 __ add(ecx, Immediate(Smi::FromInt(1)));
3855 __ push(Immediate(Smi::kZero)); // should_throw_on_error -> false