| Index: src/ia32/code-stubs-ia32.cc
|
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
|
| index d87a439007e6a1f89525dc72571094742e62f373..08bbbc036d638c065bb0c71585259644d579f435 100644
|
| --- a/src/ia32/code-stubs-ia32.cc
|
| +++ b/src/ia32/code-stubs-ia32.cc
|
| @@ -3130,11 +3130,9 @@ void MathPowStub::Generate(MacroAssembler* masm) {
|
| __ movsd(double_scratch2, double_result); // Load double_exponent with 1.
|
|
|
| // Get absolute value of exponent.
|
| - Label no_neg, while_true, no_multiply;
|
| - __ cmp(exponent, 0);
|
| - __ j(greater_equal, &no_neg, Label::kNear);
|
| - __ neg(exponent);
|
| - __ bind(&no_neg);
|
| + Label while_true, no_multiply;
|
| + const uint32_t kClearSignBitMask = 0x7FFFFFFF;
|
| + __ and_(exponent, Immediate(kClearSignBitMask));
|
|
|
| __ bind(&while_true);
|
| __ shr(exponent, 1);
|
|
|