Home | History | Annotate | Download | only in ia32

Lines Matching refs:HeapNumber

275   // HeapNumber => false iff +0, -0, or NaN.
279 __ fld_d(FieldOperand(eax, HeapNumber::kValueOffset));
359 // Test if operands are numbers (smi or HeapNumber objects), and load
746 // Store the result in the HeapNumber and return.
750 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
756 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
802 __ movdbl(FieldOperand(ecx, HeapNumber::kValueOffset), xmm0);
812 __ fstp_d(FieldOperand(ecx, HeapNumber::kValueOffset));
944 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
962 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1022 // a HeapNumber.
1044 // Store the result in the HeapNumber and return.
1048 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1052 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1169 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1186 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1237 // a HeapNumber.
1259 // Store the result in the HeapNumber and return.
1263 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1267 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1374 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1391 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1437 // a HeapNumber.
1459 // Store the result in the HeapNumber and return.
1463 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1467 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1646 // Check if input is a HeapNumber.
1651 // Input is a HeapNumber. Push it on the FPU stack and load its
1653 __ fld_d(FieldOperand(eax, HeapNumber::kValueOffset));
1654 __ mov(edx, FieldOperand(eax, HeapNumber::kExponentOffset));
1655 __ mov(ebx, FieldOperand(eax, HeapNumber::kMantissaOffset));
1729 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
1750 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1754 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
1769 // Allocate an unused object bigger than a HeapNumber.
1788 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm1);
1793 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
1815 // Address of result (a newly allocated HeapNumber) may be in eax.
1826 (63 + HeapNumber::kExponentBias) << HeapNumber::kExponentShift;
1876 __ mov(eax, edi); // Restore eax (allocated HeapNumber pointer).
1915 __ cvttsd2si(ecx, FieldOperand(source, HeapNumber
1920 __ mov(scratch, FieldOperand(source, HeapNumber::kExponentOffset));
1923 __ and_(scratch2, HeapNumber::kExponentMask);
1930 (HeapNumber::kExponentBias + 63) << HeapNumber::kExponentShift;
1935 __ fld_d(FieldOperand(source, HeapNumber::kValueOffset));
1951 (HeapNumber::kExponentBias + 30) << HeapNumber::kExponentShift;
1964 (HeapNumber::kExponentBias + 31) << HeapNumber::kExponentShift;
1970 __ and_(scratch2, HeapNumber::kMantissaMask);
1972 __ or_(scratch2, 1 << HeapNumber::kExponentShift);
1977 const int big_shift_distance = HeapNumber::kNonMantissaBitsInTopWord - 1;
1980 __ mov(ecx, FieldOperand(source, HeapNumber::kMantissaOffset));
1999 (HeapNumber::kExponentBias + 0) << HeapNumber::kExponentShift;
2005 __ shr(scratch2, HeapNumber::kExponentShift);
2012 __ and_(scratch, HeapNumber::kMantissaMask);
2014 __ or_(scratch, 1 << HeapNumber::kExponentShift);
2018 const int shift_distance = HeapNumber::kNonMantissaBitsInTopWord - 2;
2023 __ mov(scratch2, FieldOperand(source, HeapNumber::kMantissaOffset));
2034 __ cmp(ecx, FieldOperand(source, HeapNumber::kExponentOffset));
2194 __ fld_d(FieldOperand(number, HeapNumber::kValueOffset));
2212 __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset));
2218 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
2245 __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset));
2264 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
2311 __ fld_d(FieldOperand(scratch, HeapNumber::kValueOffset));
2321 __ fld_d(FieldOperand(scratch, HeapNumber::kValueOffset));
2425 __ mov(edx, FieldOperand(eax, HeapNumber::kExponentOffset));
2426 __ xor_(edx, HeapNumber::kSignMask); // Flip sign.
2427 __ mov(FieldOperand(eax, HeapNumber::kExponentOffset), edx);
2433 __ mov(ecx, FieldOperand(edx, HeapNumber::kExponentOffset));
2434 __ xor_(ecx, HeapNumber::kSignMask); // Flip sign.
2435 __ mov(FieldOperand(eax, HeapNumber::kExponentOffset), ecx);
2436 __ mov(ecx, FieldOperand(edx, HeapNumber::kMantissaOffset));
2437 __ mov(FieldOperand(eax, HeapNumber::kMantissaOffset), ecx);
2487 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
2492 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
2554 // exponent is smi and base is a heapnumber.
2561 __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset));
2606 // exponent (or both) is a heapnumber - no matter what we should now work
2612 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
2629 __ mov(ecx, FieldOperand(edx, HeapNumber::kExponentOffset));
2630 __ and_(ecx, HeapNumber::kExponentMask);
2631 __ cmp(Operand(ecx), Immediate(HeapNumber::kExponentMask));
2634 __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset));
2673 __ movdbl(FieldOperand(ecx, HeapNumber::kValueOffset), xmm1);
3343 __ mov(scratch, FieldOperand(object, HeapNumber::kValueOffset));
3344 __ xor_(scratch, FieldOperand(object, HeapNumber::kValueOffset + 4));
3358 __ movdbl(xmm0, FieldOperand(object, HeapNumber::kValueOffset));
3359 __ movdbl(xmm1, FieldOperand(probe, HeapNumber::kValueOffset));
3362 __ fld_d(FieldOperand(object, HeapNumber::kValueOffset));
3363 __ fld_d(FieldOperand(probe, HeapNumber::kValueOffset));
3495 __ mov(edx, FieldOperand(edx, HeapNumber::kExponentOffset));
3529 // be equal if the other is a HeapNumber. If so, use the slow case.
5548 __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset));
5549 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));