1.1 --- a/src/cpu/x86/vm/assembler_x86.cpp Fri May 18 12:20:24 2012 -0700 1.2 +++ b/src/cpu/x86/vm/assembler_x86.cpp Mon May 21 09:46:02 2012 +0200 1.3 @@ -6954,7 +6954,7 @@ 1.4 tmp = rdx; 1.5 } 1.6 Register tmp2 = rax; 1.7 - NOT_LP64(Register tmp3 = rcx;) 1.8 + Register tmp3 = rcx; 1.9 1.10 if (is_exp) { 1.11 // Stack: X 1.12 @@ -7081,7 +7081,8 @@ 1.13 #else 1.14 { 1.15 Label integer; 1.16 - shlq(tmp2, 1); 1.17 + mov(tmp3, tmp2); // preserve tmp2 for parity check below 1.18 + shlq(tmp3, 1); 1.19 jcc(Assembler::carryClear, integer); 1.20 jcc(Assembler::notZero, integer); 1.21 stop("integer indefinite value shouldn't be seen here");