Mercurial > hg > graal-jvmci-8
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); |