comparison src/cpu/sparc/vm/assembler_sparc.cpp @ 845:df6caf649ff7

6700789: G1: Enable use of compressed oops with G1 heaps Summary: Modifications to G1 so as to allow the use of compressed oops. Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
author ysr
date Tue, 14 Jul 2009 15:40:39 -0700
parents 315a5d70b295
children 62001a362ce9
comparison
equal deleted inserted replaced
839:bb18957ad21e 845:df6caf649ff7
4206 ldsb(G2, 4206 ldsb(G2,
4207 in_bytes(JavaThread::satb_mark_queue_offset() + 4207 in_bytes(JavaThread::satb_mark_queue_offset() +
4208 PtrQueue::byte_offset_of_active()), 4208 PtrQueue::byte_offset_of_active()),
4209 tmp); 4209 tmp);
4210 } 4210 }
4211
4211 // Check on whether to annul. 4212 // Check on whether to annul.
4212 br_on_reg_cond(rc_z, /*annul*/false, Assembler::pt, tmp, filtered); 4213 br_on_reg_cond(rc_z, /*annul*/false, Assembler::pt, tmp, filtered);
4213 delayed() -> nop(); 4214 delayed() -> nop();
4214 4215
4215 // satb_log_barrier_work1(tmp, offset); 4216 // satb_log_barrier_work1(tmp, offset);
4216 if (index == noreg) { 4217 if (index == noreg) {
4217 if (Assembler::is_simm13(offset)) { 4218 if (Assembler::is_simm13(offset)) {
4218 ld_ptr(obj, offset, tmp); 4219 load_heap_oop(obj, offset, tmp);
4219 } else { 4220 } else {
4220 set(offset, tmp); 4221 set(offset, tmp);
4221 ld_ptr(obj, tmp, tmp); 4222 load_heap_oop(obj, tmp, tmp);
4222 } 4223 }
4223 } else { 4224 } else {
4224 ld_ptr(obj, index, tmp); 4225 load_heap_oop(obj, index, tmp);
4225 } 4226 }
4226 4227
4227 // satb_log_barrier_work2(obj, tmp, offset); 4228 // satb_log_barrier_work2(obj, tmp, offset);
4228 4229
4229 // satb_log_barrier_work3(tmp, filtered, preserve_o_regs); 4230 // satb_log_barrier_work3(tmp, filtered, preserve_o_regs);