Commit 46440e6f authored by ricow@chromium.org's avatar ricow@chromium.org

Moved initialization of xmm3 making sure it is initialized on all paths in...

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
parent 0e0594dc
...@@ -5296,6 +5296,10 @@ void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) { ...@@ -5296,6 +5296,10 @@ void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) {
ASSERT(x.is_valid()); ASSERT(x.is_valid());
ASSERT(y.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 y_nonsmi;
Label x_is_double; Label x_is_double;
// If y is a heap number go to that specific case. // If y is a heap number go to that specific case.
...@@ -5321,9 +5325,7 @@ void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) { ...@@ -5321,9 +5325,7 @@ void CodeGenerator::GeneratePow(ZoneList<Expression*>* args) {
// Save y in x as we need to check if y is negative later. // Save y in x as we need to check if y is negative later.
__ mov(x.reg(), y.reg()); __ 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. // Get absolute value of y.
Label no_neg; Label no_neg;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment