src/hotspot/cpu/ppc/stubGenerator_ppc.cpp
changeset 49347 edb65305d3ac
parent 49164 7e958a8ebcd3
child 49376 7cd503c499a0
equal deleted inserted replaced
49346:14e84a4edb9c 49347:edb65305d3ac
   625   //
   625   //
   626   void gen_write_ref_array_pre_barrier(Register from, Register to, Register count, bool dest_uninitialized, Register Rtmp1,
   626   void gen_write_ref_array_pre_barrier(Register from, Register to, Register count, bool dest_uninitialized, Register Rtmp1,
   627                                        Register preserve1 = noreg, Register preserve2 = noreg) {
   627                                        Register preserve1 = noreg, Register preserve2 = noreg) {
   628     BarrierSet* const bs = Universe::heap()->barrier_set();
   628     BarrierSet* const bs = Universe::heap()->barrier_set();
   629     switch (bs->kind()) {
   629     switch (bs->kind()) {
   630       case BarrierSet::G1SATBCTLogging:
   630       case BarrierSet::G1BarrierSet:
   631         // With G1, don't generate the call if we statically know that the target in uninitialized
   631         // With G1, don't generate the call if we statically know that the target in uninitialized
   632         if (!dest_uninitialized) {
   632         if (!dest_uninitialized) {
   633           int spill_slots = 3;
   633           int spill_slots = 3;
   634           if (preserve1 != noreg) { spill_slots++; }
   634           if (preserve1 != noreg) { spill_slots++; }
   635           if (preserve2 != noreg) { spill_slots++; }
   635           if (preserve2 != noreg) { spill_slots++; }
   687   //
   687   //
   688   void gen_write_ref_array_post_barrier(Register addr, Register count, Register tmp, Register preserve = noreg) {
   688   void gen_write_ref_array_post_barrier(Register addr, Register count, Register tmp, Register preserve = noreg) {
   689     BarrierSet* const bs = Universe::heap()->barrier_set();
   689     BarrierSet* const bs = Universe::heap()->barrier_set();
   690 
   690 
   691     switch (bs->kind()) {
   691     switch (bs->kind()) {
   692       case BarrierSet::G1SATBCTLogging:
   692       case BarrierSet::G1BarrierSet:
   693         {
   693         {
   694           int spill_slots = (preserve != noreg) ? 1 : 0;
   694           int spill_slots = (preserve != noreg) ? 1 : 0;
   695           const int frame_size = align_up(frame::abi_reg_args_size + spill_slots * BytesPerWord, frame::alignment_in_bytes);
   695           const int frame_size = align_up(frame::abi_reg_args_size + spill_slots * BytesPerWord, frame::alignment_in_bytes);
   696 
   696 
   697           __ save_LR_CR(R0);
   697           __ save_LR_CR(R0);