Moved initialization of xmm3 making sure it is initialized on all paths in GeneratePo...
authorricow@chromium.org <ricow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 26 Feb 2010 12:28:25 +0000 (12:28 +0000)
committerricow@chromium.org <ricow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 26 Feb 2010 12:28:25 +0000 (12:28 +0000)
Review URL: http://codereview.chromium.org/661177

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/ia32/codegen-ia32.cc

index b7eaa12c8b8c9d122391e2ac70cb9e7c61ae10fa..42ab6a88df6914938abd820805cc5a7e446da570 100644 (file)
@@ -5296,6 +5296,10 @@ void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) {
       ASSERT(x.is_valid());
       ASSERT(y.is_valid());
 
+      // Save 1 in xmm3 - we need this several times later on
+      __ mov(p.reg(), Immediate(1));
+      __ cvtsi2sd(xmm3, Operand(p.reg()));
+
       Label y_nonsmi;
       Label x_is_double;
       // If y is a heap number go to that specific case.
@@ -5321,9 +5325,7 @@ void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) {
 
       // Save y in x as we need to check if y is negative later.
       __ mov(x.reg(), y.reg());
-      // Save 1 in xmm3 - we need this several times later on
-      __ mov(p.reg(), Immediate(1));
-      __ cvtsi2sd(xmm3, Operand(p.reg()));
+
 
       // Get absolute value of y.
       Label no_neg;