Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/c1_LIRGenerator_x86.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 | f02a8bbe6ed4 |
children | 07a218de38cb |
comparison
equal
deleted
inserted
replaced
1847:a932f331ef90 | 1848:c393f046f4c5 |
---|---|
763 val.load_item_force(FrameMap::long1_opr); | 763 val.load_item_force(FrameMap::long1_opr); |
764 } else { | 764 } else { |
765 ShouldNotReachHere(); | 765 ShouldNotReachHere(); |
766 } | 766 } |
767 | 767 |
768 LIR_Opr addr = new_pointer_register(); | 768 LIR_Opr addr = (type == objectType) ? new_register(T_OBJECT) : new_pointer_register(); |
769 LIR_Address* a; | 769 LIR_Address* a; |
770 if(offset.result()->is_constant()) { | 770 if(offset.result()->is_constant()) { |
771 a = new LIR_Address(obj.result(), | 771 a = new LIR_Address(obj.result(), |
772 NOT_LP64(offset.result()->as_constant_ptr()->as_jint()) LP64_ONLY((int)offset.result()->as_constant_ptr()->as_jlong()), | 772 NOT_LP64(offset.result()->as_constant_ptr()->as_jint()) LP64_ONLY((int)offset.result()->as_constant_ptr()->as_jlong()), |
773 as_BasicType(type)); | 773 as_BasicType(type)); |