From 46440e6f77b0371418209a0aec24082ddb7dd9f0 Mon Sep 17 00:00:00 2001 From: "ricow@chromium.org" Date: Fri, 26 Feb 2010 12:28:25 +0000 Subject: [PATCH] Moved initialization of xmm3 making sure it is initialized on all paths in GeneratePow - solves the sputnik failure on mac. 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 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ia32/codegen-ia32.cc b/src/ia32/codegen-ia32.cc index b7eaa12c8b..42ab6a88df 100644 --- a/src/ia32/codegen-ia32.cc +++ b/src/ia32/codegen-ia32.cc @@ -5296,6 +5296,10 @@ void CodeGenerator::GeneratePow(ZoneList* 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* 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;