Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index 78784b248f9e68857e25d7322b8aa49729e3b41e..d97c4fc6ee046f6bb5d671d9867144d39962d162 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -3289,10 +3289,8 @@ void LCodeGen::EmitNumberUntagD(Register input_reg, |
DeoptimizeIf(not_equal, env); |
// Convert undefined to NaN. |
- __ push(input_reg); |
- __ mov(input_reg, Factory::nan_value()); |
- __ movdbl(result_reg, FieldOperand(input_reg, HeapNumber::kValueOffset)); |
- __ pop(input_reg); |
+ ExternalReference nan = ExternalReference::address_of_nan(); |
+ __ movdbl(result_reg, Operand::StaticVariable(nan)); |
__ jmp(&done); |
// Heap number to XMM conversion. |