Home | History | Annotate | Download | only in ia32

Lines Matching refs:HeapNumber

500     __ fld_d(FieldOperand(argument, HeapNumber::kValueOffset));
648 // Test if operands are numbers (smi or HeapNumber objects), and load
679 __ mov(scratch, FieldOperand(source, HeapNumber::kExponentOffset));
682 __ and_(scratch2, HeapNumber::kExponentMask);
687 (HeapNumber::kExponentBias + 63) << HeapNumber::kExponentShift;
691 __ fld_d(FieldOperand(source, HeapNumber::kValueOffset));
707 (HeapNumber::kExponentBias + 30) << HeapNumber::kExponentShift;
720 (HeapNumber::kExponentBias + 31) << HeapNumber::kExponentShift;
726 __ and_(scratch2, HeapNumber::kMantissaMask);
728 __ or_(scratch2, 1 << HeapNumber::kExponentShift);
733 const int big_shift_distance = HeapNumber::kNonMantissaBitsInTopWord - 1;
736 __ mov(ecx, FieldOperand(source, HeapNumber::kMantissaOffset));
755 (HeapNumber::kExponentBias + 0) << HeapNumber::kExponentShift;
761 __ shr(scratch2, HeapNumber::kExponentShift);
768 __ and_(scratch, HeapNumber::kMantissaMask);
770 __ or_(scratch, 1 << HeapNumber::kExponentShift);
774 const int shift_distance = HeapNumber::kNonMantissaBitsInTopWord - 2;
779 __ mov(scratch2, FieldOperand(source, HeapNumber::kMantissaOffset));
790 __ cmp(ecx, FieldOperand(source, HeapNumber::kExponentOffset));
975 __ xor_(FieldOperand(eax, HeapNumber::kExponentOffset),
976 Immediate(HeapNumber::kSignMask)); // Flip sign.
995 __ mov(ecx, FieldOperand(edx, HeapNumber::kExponentOffset));
996 __ xor_(ecx, HeapNumber::kSignMask); // Flip sign.
997 __ mov(FieldOperand(eax, HeapNumber::kExponentOffset), ecx);
998 __ mov(ecx, FieldOperand(edx, HeapNumber::kMantissaOffset));
999 __ mov(FieldOperand(eax, HeapNumber::kMantissaOffset), ecx);
1036 // Push the original HeapNumber on the stack. The integer value can't
1041 // New HeapNumber is in eax.
1054 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1059 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1480 // Store the result in the HeapNumber and return.
1487 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1493 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1497 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1544 __ movdbl(FieldOperand(ecx, HeapNumber::kValueOffset), xmm0);
1554 __ fstp_d(FieldOperand(ecx, HeapNumber::kValueOffset));
1716 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1734 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1794 // a HeapNumber.
1815 // Store the result in the HeapNumber and return.
1819 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1823 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
1940 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
1957 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
2008 // a HeapNumber.
2029 // Store the result in the HeapNumber and return.
2033 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
2037 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
2144 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
2161 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
2207 // a HeapNumber.
2228 // Store the result in the HeapNumber and return.
2232 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0);
2236 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
2410 // Check if input is a HeapNumber.
2415 // Input is a HeapNumber. Push it on the FPU stack and load its
2417 __ fld_d(FieldOperand(eax, HeapNumber
2418 __ mov(edx, FieldOperand(eax, HeapNumber::kExponentOffset));
2419 __ mov(ebx, FieldOperand(eax, HeapNumber::kMantissaOffset));
2495 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
2517 __ fstp_d(FieldOperand(eax, HeapNumber::kValueOffset));
2521 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
2537 // Allocate an unused object bigger than a HeapNumber.
2556 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm1);
2562 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
2586 // Address of result (a newly allocated HeapNumber) may be in eax.
2599 (63 + HeapNumber::kExponentBias) << HeapNumber::kExponentShift;
2649 __ mov(eax, edi); // Restore eax (allocated HeapNumber pointer).
2753 __ fld_d(FieldOperand(number, HeapNumber::kValueOffset));
2770 __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset));
2775 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
2801 __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset));
2819 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
2865 __ fld_d(FieldOperand(scratch, HeapNumber::kValueOffset));
2874 __ fld_d(FieldOperand(scratch, HeapNumber::kValueOffset));
2971 __ movdbl(double_base, FieldOperand(base, HeapNumber::kValueOffset));
2988 FieldOperand(exponent, HeapNumber::kValueOffset));
2996 FieldOperand(exponent, HeapNumber::kValueOffset));
3175 __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), double_result);
4154 __ mov(scratch, FieldOperand(object, HeapNumber::kValueOffset));
4155 __ xor_(scratch, FieldOperand(object, HeapNumber::kValueOffset + 4));
4168 __ movdbl(xmm0, FieldOperand(object, HeapNumber::kValueOffset));
4169 __ movdbl(xmm1, FieldOperand(probe, HeapNumber::kValueOffset));
4172 __ fld_d(FieldOperand(object, HeapNumber::kValueOffset));
4173 __ fld_d(FieldOperand(probe, HeapNumber::kValueOffset));
4304 __ mov(edx, FieldOperand(edx, HeapNumber::kExponentOffset));
4338 // be equal if the other is a HeapNumber. If so, use the slow case.
6557 __ movdbl(xmm0, FieldOperand(edx, HeapNumber::kValueOffset));
6558 __ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));