Mercurial > hg > truffle
diff src/cpu/sparc/vm/macroAssembler_sparc.cpp @ 12955:252d541466ea
8008242: VerifyOops is broken on SPARC
Summary: Fixed displacement issues in SPARC macroassembler and ensure that getClass intrinsic temporary result is T_METADATA
Reviewed-by: kvn, twisti
author | morris |
---|---|
date | Fri, 18 Oct 2013 12:15:32 -0700 |
parents | 69944b868a32 |
children | b4aa8fc5d0d5 |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/macroAssembler_sparc.cpp Fri Oct 18 09:36:35 2013 +0000 +++ b/src/cpu/sparc/vm/macroAssembler_sparc.cpp Fri Oct 18 12:15:32 2013 -0700 @@ -3333,7 +3333,8 @@ if (CMSIncrementalMode || !Universe::heap()->supports_inline_contig_alloc()) { // No allocation in the shared eden. - ba_short(slow_case); + ba(slow_case); + delayed()->nop(); } ld_ptr(G2_thread, in_bytes(JavaThread::tlab_top_offset()), top); @@ -3358,7 +3359,8 @@ add(t2, 1, t2); stw(t2, G2_thread, in_bytes(JavaThread::tlab_slow_allocations_offset())); } - ba_short(try_eden); + ba(try_eden); + delayed()->nop(); bind(discard_tlab); if (TLABStats) { @@ -3420,7 +3422,8 @@ sub(top, ThreadLocalAllocBuffer::alignment_reserve_in_bytes(), top); st_ptr(top, G2_thread, in_bytes(JavaThread::tlab_end_offset())); verify_tlab(); - ba_short(retry); + ba(retry); + delayed()->nop(); } void MacroAssembler::incr_allocated_bytes(RegisterOrConstant size_in_bytes,