comparison src/cpu/x86/vm/stubGenerator_x86_32.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 e5b0439ef4ae
children ddb7834449d0
comparison
equal deleted inserted replaced
839:bb18957ad21e 845:df6caf649ff7
707 // 707 //
708 // Generate pre-barrier for array stores 708 // Generate pre-barrier for array stores
709 // 709 //
710 // Input: 710 // Input:
711 // start - starting address 711 // start - starting address
712 // end - element count 712 // count - element count
713 void gen_write_ref_array_pre_barrier(Register start, Register count) { 713 void gen_write_ref_array_pre_barrier(Register start, Register count) {
714 assert_different_registers(start, count); 714 assert_different_registers(start, count);
715 BarrierSet* bs = Universe::heap()->barrier_set(); 715 BarrierSet* bs = Universe::heap()->barrier_set();
716 switch (bs->kind()) { 716 switch (bs->kind()) {
717 case BarrierSet::G1SATBCT: 717 case BarrierSet::G1SATBCT:
755 __ push(count); 755 __ push(count);
756 __ push(start); 756 __ push(start);
757 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post))); 757 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post)));
758 __ addptr(rsp, 2*wordSize); 758 __ addptr(rsp, 2*wordSize);
759 __ popa(); 759 __ popa();
760
761 } 760 }
762 break; 761 break;
763 762
764 case BarrierSet::CardTableModRef: 763 case BarrierSet::CardTableModRef:
765 case BarrierSet::CardTableExtension: 764 case BarrierSet::CardTableExtension: