Home | History | Annotate | Download | only in ia32

Lines Matching refs:SMI

101   // be either a smi or a heap number object (fp value). Requirements:
106 // Test if operands are smi or number objects (fp). Requirements:
113 // Test if operands are numbers (smi or HeapNumber objects), and load
279 __ SmiUntag(edx); // Untag smi before converting to float.
281 __ SmiTag(edx); // Retag smi for heap number overwriting test.
284 __ SmiUntag(eax); // Untag smi before converting to float.
286 __ SmiTag(eax); // Retag smi for heap number overwriting test.
298 // Test if both operands are floats or smi -> scratch=k_is_float;
440 // exponent is a smi. We reset it with exponent value before bailing out.
516 __ cmp(ebx, Immediate(Smi::FromInt(JSRegExp::IRREGEXP)));
524 // Multiplying by 2 comes for free since edx is smi-tagged.
619 // a smi (code flushing support).
623 // ebx: previous index (smi)
695 STATIC_ASSERT(kSmiTagSize == 1); // esi is smi (powered by 2).
749 __ add(edx, Immediate(2)); // edx was a smi.
770 __ SmiTag(edx); // Number of capture registers to smi.
772 __ SmiUntag(edx); // Number of capture registers back from smi.
801 // Store the smi value in the last match info.
892 if (expected == CompareICState::SMI) {
940 // NOTICE! This code is only reached after a smi-fast-case check, so
941 // it is certain that at least one operand isn't a smi.
957 __ Move(eax, Immediate(Smi::FromInt(NegativeComparisonResult(cc))));
977 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
991 // and oddballs. Non-smi numbers and strings still go through the usual
993 // If either is a Smi (we know that not both are), then they can only
996 DCHECK_EQ(static_cast<Smi*>(0), Smi::kZero);
1001 // One operand is a smi.
1003 // Check whether the non-smi is a heap number.
1011 // if eax was smi, ebx is now edx, else eax.
1013 // Check if the non-smi operand is a heap number.
1067 __ mov(ecx, Immediate(Smi::FromInt(1)));
1069 __ mov(ecx, Immediate(Smi::FromInt(-1)));
1078 __ mov(eax, Immediate(Smi::FromInt(1)));
1080 __ mov(eax, Immediate(Smi::FromInt(-1)));
1121 // At most one is a smi, so we can test for smi by adding the two.
1122 // A smi plus a heap object has the low bit set, a heap object plus
1186 __ push(Immediate(Smi::FromInt(NegativeComparisonResult(cc))));
1201 // edx : slot in feedback vector (Smi)
1207 // Number-of-arguments register must be smi-tagged to call out.
1233 // edx : slot in feedback vector (Smi)
1310 Immediate(Smi::FromInt(1)));
1317 // edx : slot in feedback vector (Smi, for RecordCallTarget)
1321 // Check that function is not a smi.
1639 // If the receiver is a smi trigger the non-string case.
1652 // If the index is non-smi trigger the non-smi case.
1677 // Index is not a smi.
1706 // If index is still not a smi, it must be out of range.
1743 __ Move(eax, Immediate(Smi::FromInt(NOT_EQUAL)));
1752 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
1761 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
1806 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
1819 __ Move(eax, Immediate(Smi::FromInt(LESS)));
1824 __ Move(eax, Immediate(Smi::FromInt(GREATER)));
1913 DCHECK(state() == CompareICState::SMI);
1945 if (left() == CompareICState::SMI) {
1948 if (right() == CompareICState::SMI) {
1987 __ mov(ecx, Immediate(Smi::FromInt(1)));
1989 __ mov(ecx, Immediate(Smi::FromInt(-1)));
2056 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
2101 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
2147 __ Move(eax, Immediate(Smi::FromInt(EQUAL)));
2249 __ Push(Immediate(Smi::FromInt(NegativeComparisonResult(GetCondition()))));
2267 __ push(Immediate(Smi::FromInt(op())));
2301 // Capacity is smi 2^n.
2305 Immediate(Smi::FromInt(name->Hash() +
2748 Immediate(Smi::FromInt(kFastElementsKindPackedToHoley)));
2836 // Will both indicate a NULL and a Smi.
2932 // Will both indicate a NULL and a Smi.
3300 __ push(Immediate(Smi::kZero)); // should_throw_on_error -> false