< prev index next >

src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp

Print this page

115   virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
116                                   Register dst, Register count,
117                                   Register preserve);
118 
119   virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
120                         Register base, RegisterOrConstant ind_or_offs, Register val,
121                         Register tmp1, Register tmp2, Register tmp3,
122                         MacroAssembler::PreservationLevel preservation_level);
123 
124   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
125                        Register base, RegisterOrConstant ind_or_offs, Register dst,
126                        Register tmp1, Register tmp2,
127                        MacroAssembler::PreservationLevel preservation_level, Label* L_handle_null = nullptr);
128 
129   virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register dst, Register jni_env,
130                                              Register obj, Register tmp, Label& slowpath);
131 
132   virtual void try_resolve_weak_handle(MacroAssembler* masm, Register obj, Register tmp, Label& slow_path);
133 
134 #ifdef COMPILER2





135   // Entry points from Matcher
136   void load_c2(const MachNode* node, MacroAssembler* masm,
137                Register dst, Address addr);
138 
139   void store_c2(const MachNode* node, MacroAssembler* masm,
140                 Address dst, bool dst_narrow, Register src, bool src_narrow);
141 
142   void compare_and_set_c2(const MachNode* node, MacroAssembler* masm,
143                           Register res, Register addr, Register oldval,
144                           Register newval, bool exchange, bool narrow, bool weak);
145 
146   void get_and_set_c2(const MachNode* node, MacroAssembler* masm,
147                       Register preval, Register newval, Register addr);
148 
149   void card_barrier_c2(const MachNode* node, MacroAssembler* masm,
150                        Address addr);
151 #endif // COMPILER2
152 };
153 
154 #endif // CPU_PPC_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_PPC_HPP

115   virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
116                                   Register dst, Register count,
117                                   Register preserve);
118 
119   virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
120                         Register base, RegisterOrConstant ind_or_offs, Register val,
121                         Register tmp1, Register tmp2, Register tmp3,
122                         MacroAssembler::PreservationLevel preservation_level);
123 
124   virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
125                        Register base, RegisterOrConstant ind_or_offs, Register dst,
126                        Register tmp1, Register tmp2,
127                        MacroAssembler::PreservationLevel preservation_level, Label* L_handle_null = nullptr);
128 
129   virtual void try_resolve_jobject_in_native(MacroAssembler* masm, Register dst, Register jni_env,
130                                              Register obj, Register tmp, Label& slowpath);
131 
132   virtual void try_resolve_weak_handle(MacroAssembler* masm, Register obj, Register tmp, Label& slow_path);
133 
134 #ifdef COMPILER2
135   // Barriers hotpatching
136   static address parse_stub_address(address pc);
137   static void patch_branch_to_nop(address pc);
138   static void patch_nop_to_branch(address pc, address stub_addr);
139 
140   // Entry points from Matcher
141   void load_c2(const MachNode* node, MacroAssembler* masm,
142                Register dst, Address addr);
143 
144   void store_c2(const MachNode* node, MacroAssembler* masm,
145                 Address dst, bool dst_narrow, Register src, bool src_narrow);
146 
147   void compare_and_set_c2(const MachNode* node, MacroAssembler* masm,
148                           Register res, Register addr, Register oldval,
149                           Register newval, bool exchange, bool narrow, bool weak);
150 
151   void get_and_set_c2(const MachNode* node, MacroAssembler* masm,
152                       Register preval, Register newval, Register addr);
153 
154   void card_barrier_c2(const MachNode* node, MacroAssembler* masm,
155                        Address addr);
156 #endif // COMPILER2
157 };
158 
159 #endif // CPU_PPC_GC_SHENANDOAH_SHENANDOAHBARRIERSETASSEMBLER_PPC_HPP
< prev index next >