comparison src/share/vm/c1/c1_LIRGenerator.cpp @ 1848:c393f046f4c5

6991512: G1 barriers fail with 64bit C1 Summary: Fix compare-and-swap intrinsic problem with G1 post-barriers and issue with branch ranges in G1 stubs on sparc Reviewed-by: never, kvn
author iveresov
date Tue, 12 Oct 2010 23:51:20 -0700
parents 80c9354976b0
children 07a218de38cb
comparison
equal deleted inserted replaced
1847:a932f331ef90 1848:c393f046f4c5
1348 __ leal(addr, ptr); 1348 __ leal(addr, ptr);
1349 } 1349 }
1350 addr = ptr; 1350 addr = ptr;
1351 } 1351 }
1352 assert(addr->is_register(), "must be a register at this point"); 1352 assert(addr->is_register(), "must be a register at this point");
1353 assert(addr->type() == T_OBJECT, "addr should point to an object");
1353 1354
1354 LIR_Opr xor_res = new_pointer_register(); 1355 LIR_Opr xor_res = new_pointer_register();
1355 LIR_Opr xor_shift_res = new_pointer_register(); 1356 LIR_Opr xor_shift_res = new_pointer_register();
1356 if (TwoOperandLIRForm ) { 1357 if (TwoOperandLIRForm ) {
1357 __ move(addr, xor_res); 1358 __ move(addr, xor_res);