src/hotspot/cpu/s390/stubGenerator_s390.cpp
changeset 49455 848864ed9b17
parent 49347 edb65305d3ac
child 49484 ee8fa73b90f9
equal deleted inserted replaced
49454:689ebcfe04fd 49455:848864ed9b17
    25 
    25 
    26 #include "precompiled.hpp"
    26 #include "precompiled.hpp"
    27 #include "asm/macroAssembler.inline.hpp"
    27 #include "asm/macroAssembler.inline.hpp"
    28 #include "registerSaver_s390.hpp"
    28 #include "registerSaver_s390.hpp"
    29 #include "gc/shared/cardTable.hpp"
    29 #include "gc/shared/cardTable.hpp"
    30 #include "gc/shared/cardTableModRefBS.hpp"
    30 #include "gc/shared/cardTableBarrierSet.hpp"
    31 #include "interpreter/interpreter.hpp"
    31 #include "interpreter/interpreter.hpp"
    32 #include "interpreter/interp_masm.hpp"
    32 #include "interpreter/interp_masm.hpp"
    33 #include "nativeInst_s390.hpp"
    33 #include "nativeInst_s390.hpp"
    34 #include "oops/instanceOop.hpp"
    34 #include "oops/instanceOop.hpp"
    35 #include "oops/objArrayKlass.hpp"
    35 #include "oops/objArrayKlass.hpp"
   722           // __ pop_frame();  // implicitly done in restore_live_registers()
   722           // __ pop_frame();  // implicitly done in restore_live_registers()
   723 
   723 
   724           __ bind(filtered);
   724           __ bind(filtered);
   725         }
   725         }
   726         break;
   726         break;
   727       case BarrierSet::CardTableModRef:
   727       case BarrierSet::CardTableBarrierSet:
   728       case BarrierSet::ModRef:
   728       case BarrierSet::ModRef:
   729         break;
   729         break;
   730       default:
   730       default:
   731         ShouldNotReachHere();
   731         ShouldNotReachHere();
   732     }
   732     }
   760             __ load_const(Z_R1, entry_point);
   760             __ load_const(Z_R1, entry_point);
   761             __ z_br(Z_R1); // Branch without linking, callee will return to stub caller.
   761             __ z_br(Z_R1); // Branch without linking, callee will return to stub caller.
   762           }
   762           }
   763         }
   763         }
   764         break;
   764         break;
   765       case BarrierSet::CardTableModRef:
   765       case BarrierSet::CardTableBarrierSet:
   766         // These cases formerly known as
   766         // These cases formerly known as
   767         //   void array_store_check(Register addr, Register count, bool branchToEnd).
   767         //   void array_store_check(Register addr, Register count, bool branchToEnd).
   768         {
   768         {
   769           NearLabel doXC, done;
   769           NearLabel doXC, done;
   770           CardTableModRefBS* ctbs = barrier_set_cast<CardTableModRefBS>(bs);
   770           CardTableBarrierSet* ctbs = barrier_set_cast<CardTableBarrierSet>(bs);
   771           CardTable* ct = ctbs->card_table();
   771           CardTable* ct = ctbs->card_table();
   772           assert(sizeof(*ct->byte_map_base()) == sizeof(jbyte), "adjust this code");
   772           assert(sizeof(*ct->byte_map_base()) == sizeof(jbyte), "adjust this code");
   773           assert_different_registers(Z_R0, Z_R1, addr, count);
   773           assert_different_registers(Z_R0, Z_R1, addr, count);
   774 
   774 
   775           // Nothing to do if count <= 0.
   775           // Nothing to do if count <= 0.