src/hotspot/cpu/ppc/stubGenerator_ppc.cpp
changeset 49754 ee93c1087584
parent 49484 ee8fa73b90f9
child 50162 f9fe56417050
child 56448 76d86de267b9
equal deleted inserted replaced
49753:46f2dc7c4c39 49754:ee93c1087584
  2030     }
  2030     }
  2031     if (aligned) {
  2031     if (aligned) {
  2032       decorators |= ARRAYCOPY_ALIGNED;
  2032       decorators |= ARRAYCOPY_ALIGNED;
  2033     }
  2033     }
  2034 
  2034 
  2035     BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
  2035     BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
  2036     bs->arraycopy_prologue(_masm, decorators, T_OBJECT, R3_ARG1, R4_ARG2, R5_ARG3, noreg, noreg);
  2036     bs->arraycopy_prologue(_masm, decorators, T_OBJECT, R3_ARG1, R4_ARG2, R5_ARG3, noreg, noreg);
  2037 
  2037 
  2038     if (UseCompressedOops) {
  2038     if (UseCompressedOops) {
  2039       array_overlap_test(nooverlap_target, 2);
  2039       array_overlap_test(nooverlap_target, 2);
  2040       generate_conjoint_int_copy_core(aligned);
  2040       generate_conjoint_int_copy_core(aligned);
  2069     }
  2069     }
  2070     if (aligned) {
  2070     if (aligned) {
  2071       decorators |= ARRAYCOPY_ALIGNED;
  2071       decorators |= ARRAYCOPY_ALIGNED;
  2072     }
  2072     }
  2073 
  2073 
  2074     BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
  2074     BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
  2075     bs->arraycopy_prologue(_masm, decorators, T_OBJECT, R3_ARG1, R4_ARG2, R5_ARG3, noreg, noreg);
  2075     bs->arraycopy_prologue(_masm, decorators, T_OBJECT, R3_ARG1, R4_ARG2, R5_ARG3, noreg, noreg);
  2076 
  2076 
  2077     if (UseCompressedOops) {
  2077     if (UseCompressedOops) {
  2078       generate_disjoint_int_copy_core(aligned);
  2078       generate_disjoint_int_copy_core(aligned);
  2079     } else {
  2079     } else {
  2162     DecoratorSet decorators = ARRAYCOPY_CHECKCAST;
  2162     DecoratorSet decorators = ARRAYCOPY_CHECKCAST;
  2163     if (dest_uninitialized) {
  2163     if (dest_uninitialized) {
  2164       decorators |= AS_DEST_NOT_INITIALIZED;
  2164       decorators |= AS_DEST_NOT_INITIALIZED;
  2165     }
  2165     }
  2166 
  2166 
  2167     BarrierSetAssembler *bs = Universe::heap()->barrier_set()->barrier_set_assembler();
  2167     BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
  2168     bs->arraycopy_prologue(_masm, decorators, T_OBJECT, R3_from, R4_to, R5_count, /* preserve: */ R6_ckoff, R7_ckval);
  2168     bs->arraycopy_prologue(_masm, decorators, T_OBJECT, R3_from, R4_to, R5_count, /* preserve: */ R6_ckoff, R7_ckval);
  2169 
  2169 
  2170     //inc_counter_np(SharedRuntime::_checkcast_array_copy_ctr, R12_tmp, R3_RET);
  2170     //inc_counter_np(SharedRuntime::_checkcast_array_copy_ctr, R12_tmp, R3_RET);
  2171 
  2171 
  2172     Label load_element, store_element, store_null, success, do_epilogue;
  2172     Label load_element, store_element, store_null, success, do_epilogue;