< prev index next >

src/hotspot/cpu/x86/interp_masm_x86.hpp

Print this page

254   void profile_call(Register mdp);
255   void profile_final_call(Register mdp);
256   void profile_virtual_call(Register receiver, Register mdp,
257                             Register scratch2,
258                             bool receiver_can_be_null = false);
259   void profile_ret(Register return_bci, Register mdp);
260   void profile_null_seen(Register mdp);
261   void profile_typecheck(Register mdp, Register klass, Register scratch);
262 
263   void profile_switch_default(Register mdp);
264   void profile_switch_case(Register index_in_scratch, Register mdp,
265                            Register scratch2);
266 
267   // Debugging
268   // only if +VerifyOops && state == atos
269 #define interp_verify_oop(reg, state) _interp_verify_oop(reg, state, __FILE__, __LINE__);
270   void _interp_verify_oop(Register reg, TosState state, const char* file, int line);
271 
272   typedef enum { NotifyJVMTI, SkipNotifyJVMTI } NotifyMethodExitMode;
273 



274   // support for jvmti/dtrace
275   void notify_method_entry();
276   void notify_method_exit(TosState state, NotifyMethodExitMode mode);
277 
278   JFR_ONLY(void enter_jfr_critical_section();)
279   JFR_ONLY(void leave_jfr_critical_section();)
280 
281  private:
282 
283   Register _locals_register; // register that contains the pointer to the locals
284   Register _bcp_register; // register that contains the bcp
285 
286  public:
287   void profile_obj_type(Register obj, const Address& mdo_addr);
288   void profile_arguments_type(Register mdp, Register callee, Register tmp, bool is_virtual);
289   void profile_return_type(Register mdp, Register ret, Register tmp);
290   void profile_parameters_type(Register mdp, Register tmp1, Register tmp2);
291 
292   void load_resolved_indy_entry(Register cache, Register index);
293   void load_field_entry(Register cache, Register index, int bcp_offset = 1);

254   void profile_call(Register mdp);
255   void profile_final_call(Register mdp);
256   void profile_virtual_call(Register receiver, Register mdp,
257                             Register scratch2,
258                             bool receiver_can_be_null = false);
259   void profile_ret(Register return_bci, Register mdp);
260   void profile_null_seen(Register mdp);
261   void profile_typecheck(Register mdp, Register klass, Register scratch);
262 
263   void profile_switch_default(Register mdp);
264   void profile_switch_case(Register index_in_scratch, Register mdp,
265                            Register scratch2);
266 
267   // Debugging
268   // only if +VerifyOops && state == atos
269 #define interp_verify_oop(reg, state) _interp_verify_oop(reg, state, __FILE__, __LINE__);
270   void _interp_verify_oop(Register reg, TosState state, const char* file, int line);
271 
272   typedef enum { NotifyJVMTI, SkipNotifyJVMTI } NotifyMethodExitMode;
273 
274   // support for runtime upcalls
275   void generate_runtime_upcalls_on_method_entry();
276 
277   // support for jvmti/dtrace
278   void notify_method_entry();
279   void notify_method_exit(TosState state, NotifyMethodExitMode mode);
280 
281   JFR_ONLY(void enter_jfr_critical_section();)
282   JFR_ONLY(void leave_jfr_critical_section();)
283 
284  private:
285 
286   Register _locals_register; // register that contains the pointer to the locals
287   Register _bcp_register; // register that contains the bcp
288 
289  public:
290   void profile_obj_type(Register obj, const Address& mdo_addr);
291   void profile_arguments_type(Register mdp, Register callee, Register tmp, bool is_virtual);
292   void profile_return_type(Register mdp, Register ret, Register tmp);
293   void profile_parameters_type(Register mdp, Register tmp1, Register tmp2);
294 
295   void load_resolved_indy_entry(Register cache, Register index);
296   void load_field_entry(Register cache, Register index, int bcp_offset = 1);
< prev index next >