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" |
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. |