Mercurial > hg > truffle
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: |