< prev index next >

src/hotspot/cpu/x86/interp_masm_x86.hpp

Print this page

261   void profile_virtual_call(Register receiver, Register mdp,
262                             Register scratch2,
263                             bool receiver_can_be_null = false);
264   void profile_ret(Register return_bci, Register mdp);
265   void profile_null_seen(Register mdp);
266   void profile_typecheck(Register mdp, Register klass, Register scratch);
267 
268   void profile_switch_default(Register mdp);
269   void profile_switch_case(Register index_in_scratch, Register mdp,
270                            Register scratch2);
271 
272   // Debugging
273   // only if +VerifyOops && state == atos
274 #define interp_verify_oop(reg, state) _interp_verify_oop(reg, state, __FILE__, __LINE__);
275   void _interp_verify_oop(Register reg, TosState state, const char* file, int line);
276   // only if +VerifyFPU  && (state == ftos || state == dtos)
277   void verify_FPU(int stack_depth, TosState state = ftos);
278 
279   typedef enum { NotifyJVMTI, SkipNotifyJVMTI } NotifyMethodExitMode;
280 



281   // support for jvmti/dtrace
282   void notify_method_entry();
283   void notify_method_exit(TosState state, NotifyMethodExitMode mode);
284 
285  private:
286 
287   Register _locals_register; // register that contains the pointer to the locals
288   Register _bcp_register; // register that contains the bcp
289 
290  public:
291   void profile_obj_type(Register obj, const Address& mdo_addr);
292   void profile_arguments_type(Register mdp, Register callee, Register tmp, bool is_virtual);
293   void profile_return_type(Register mdp, Register ret, Register tmp);
294   void profile_parameters_type(Register mdp, Register tmp1, Register tmp2);
295 
296   void load_resolved_indy_entry(Register cache, Register index);
297   void load_field_entry(Register cache, Register index, int bcp_offset = 1);
298   void load_method_entry(Register cache, Register index, int bcp_offset = 1);
299 };
300 

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