src/hotspot/cpu/sparc/stubGenerator_sparc.cpp
changeset 49347 edb65305d3ac
parent 49164 7e958a8ebcd3
child 49455 848864ed9b17
child 56348 f3b0961adb3c
equal deleted inserted replaced
49346:14e84a4edb9c 49347:edb65305d3ac
   834   //  The input registers are overwritten.
   834   //  The input registers are overwritten.
   835   //
   835   //
   836   void gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) {
   836   void gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) {
   837     BarrierSet* bs = Universe::heap()->barrier_set();
   837     BarrierSet* bs = Universe::heap()->barrier_set();
   838     switch (bs->kind()) {
   838     switch (bs->kind()) {
   839       case BarrierSet::G1SATBCTLogging:
   839       case BarrierSet::G1BarrierSet:
   840         // With G1, don't generate the call if we statically know that the target in uninitialized
   840         // With G1, don't generate the call if we statically know that the target in uninitialized
   841         if (!dest_uninitialized) {
   841         if (!dest_uninitialized) {
   842           Register tmp = O5;
   842           Register tmp = O5;
   843           assert_different_registers(addr, count, tmp);
   843           assert_different_registers(addr, count, tmp);
   844           Label filtered;
   844           Label filtered;
   896   void gen_write_ref_array_post_barrier(Register addr, Register count,
   896   void gen_write_ref_array_post_barrier(Register addr, Register count,
   897                                         Register tmp) {
   897                                         Register tmp) {
   898     BarrierSet* bs = Universe::heap()->barrier_set();
   898     BarrierSet* bs = Universe::heap()->barrier_set();
   899 
   899 
   900     switch (bs->kind()) {
   900     switch (bs->kind()) {
   901       case BarrierSet::G1SATBCTLogging:
   901       case BarrierSet::G1BarrierSet:
   902         {
   902         {
   903           // Get some new fresh output registers.
   903           // Get some new fresh output registers.
   904           __ save_frame(0);
   904           __ save_frame(0);
   905           __ mov(addr->after_save(), O0);
   905           __ mov(addr->after_save(), O0);
   906           __ call(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post));
   906           __ call(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post));