Mercurial > hg > truffle
changeset 1873:07a218de38cb
6992477: fix for 6991512 broke sparc barriers
Reviewed-by: kvn, iveresov
author | never |
---|---|
date | Fri, 15 Oct 2010 14:21:11 -0700 |
parents | b98784e85f71 |
children | 75ab0162aa84 |
files | src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp src/cpu/x86/vm/c1_CodeStubs_x86.cpp src/cpu/x86/vm/c1_LIRGenerator_x86.cpp src/share/vm/c1/c1_LIRGenerator.cpp |
diffstat | 4 files changed, 3 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Thu Oct 14 10:46:38 2010 -0700 +++ b/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Fri Oct 15 14:21:11 2010 -0700 @@ -664,7 +664,7 @@ // Use temps to avoid kills LIR_Opr t1 = FrameMap::G1_opr; LIR_Opr t2 = FrameMap::G3_opr; - LIR_Opr addr = (type == objectType) ? new_register(T_OBJECT) : new_pointer_register(); + LIR_Opr addr = new_pointer_register(); // get address of field obj.load_item();
--- a/src/cpu/x86/vm/c1_CodeStubs_x86.cpp Thu Oct 14 10:46:38 2010 -0700 +++ b/src/cpu/x86/vm/c1_CodeStubs_x86.cpp Fri Oct 15 14:21:11 2010 -0700 @@ -499,7 +499,7 @@ Register new_val_reg = new_val()->as_register(); __ cmpptr(new_val_reg, (int32_t) NULL_WORD); __ jcc(Assembler::equal, _continuation); - ce->store_parameter(addr()->as_register(), 0); + ce->store_parameter(addr()->as_pointer_register(), 0); __ call(RuntimeAddress(Runtime1::entry_for(Runtime1::g1_post_barrier_slow_id))); __ jmp(_continuation); }
--- a/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Thu Oct 14 10:46:38 2010 -0700 +++ b/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Fri Oct 15 14:21:11 2010 -0700 @@ -765,7 +765,7 @@ ShouldNotReachHere(); } - LIR_Opr addr = (type == objectType) ? new_register(T_OBJECT) : new_pointer_register(); + LIR_Opr addr = new_pointer_register(); LIR_Address* a; if(offset.result()->is_constant()) { a = new LIR_Address(obj.result(),
--- a/src/share/vm/c1/c1_LIRGenerator.cpp Thu Oct 14 10:46:38 2010 -0700 +++ b/src/share/vm/c1/c1_LIRGenerator.cpp Fri Oct 15 14:21:11 2010 -0700 @@ -1350,7 +1350,6 @@ addr = ptr; } assert(addr->is_register(), "must be a register at this point"); - assert(addr->type() == T_OBJECT, "addr should point to an object"); LIR_Opr xor_res = new_pointer_register(); LIR_Opr xor_shift_res = new_pointer_register();