1.1 --- a/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Wed Dec 22 02:02:53 2010 -0800 1.2 +++ b/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Mon Dec 27 21:51:31 2010 -0800 1.3 @@ -662,7 +662,7 @@ 1.4 1.5 // generate conditional move of boolean result 1.6 LIR_Opr result = rlock_result(x); 1.7 - __ cmove(lir_cond_equal, LIR_OprFact::intConst(1), LIR_OprFact::intConst(0), result); 1.8 + __ cmove(lir_cond_equal, LIR_OprFact::intConst(1), LIR_OprFact::intConst(0), result, T_LONG); 1.9 } 1.10 1.11 1.12 @@ -699,10 +699,10 @@ 1.13 else { 1.14 ShouldNotReachHere(); 1.15 } 1.16 - 1.17 // generate conditional move of boolean result 1.18 LIR_Opr result = rlock_result(x); 1.19 - __ cmove(lir_cond_equal, LIR_OprFact::intConst(1), LIR_OprFact::intConst(0), result); 1.20 + __ cmove(lir_cond_equal, LIR_OprFact::intConst(1), LIR_OprFact::intConst(0), 1.21 + result, as_BasicType(type)); 1.22 if (type == objectType) { // Write-barrier needed for Object fields. 1.23 // Precise card mark since could either be object or array 1.24 post_barrier(addr, val.result());