< prev index next >

src/cpu/x86/vm/interp_masm_x86.hpp

Print this page




 198   void jump_from_interpreted(Register method, Register temp);
 199 
 200   // narrow int return value
 201   void narrow(Register result);
 202 
 203   // Returning from interpreted functions
 204   //
 205   // Removes the current activation (incl. unlocking of monitors)
 206   // and sets up the return address.  This code is also used for
 207   // exception unwindwing. In that case, we do not want to throw
 208   // IllegalMonitorStateExceptions, since that might get us into an
 209   // infinite rethrow exception loop.
 210   // Additionally this code is used for popFrame and earlyReturn.
 211   // In popFrame case we want to skip throwing an exception,
 212   // installing an exception, and notifying jvmdi.
 213   // In earlyReturn case we only want to skip throwing an exception
 214   // and installing an exception.
 215   void remove_activation(TosState state, Register ret_addr,
 216                          bool throw_monitor_exception = true,
 217                          bool install_monitor_exception = true,
 218                          bool notify_jvmdi = true);

 219   void get_method_counters(Register method, Register mcs, Label& skip);
 220 
 221   // Object locking
 222   void lock_object  (Register lock_reg);
 223   void unlock_object(Register lock_reg);
 224 
 225   // Interpreter profiling operations
 226   void set_method_data_pointer_for_bcp();
 227   void test_method_data_pointer(Register mdp, Label& zero_continue);
 228   void verify_method_data_pointer();
 229 
 230   void set_mdp_data_at(Register mdp_in, int constant, Register value);
 231   void increment_mdp_data_at(Address data, bool decrement = false);
 232   void increment_mdp_data_at(Register mdp_in, int constant,
 233                              bool decrement = false);
 234   void increment_mdp_data_at(Register mdp_in, Register reg, int constant,
 235                              bool decrement = false);
 236   void increment_mask_and_jump(Address counter_addr,
 237                                int increment, Address mask,
 238                                Register scratch, bool preloaded,




 198   void jump_from_interpreted(Register method, Register temp);
 199 
 200   // narrow int return value
 201   void narrow(Register result);
 202 
 203   // Returning from interpreted functions
 204   //
 205   // Removes the current activation (incl. unlocking of monitors)
 206   // and sets up the return address.  This code is also used for
 207   // exception unwindwing. In that case, we do not want to throw
 208   // IllegalMonitorStateExceptions, since that might get us into an
 209   // infinite rethrow exception loop.
 210   // Additionally this code is used for popFrame and earlyReturn.
 211   // In popFrame case we want to skip throwing an exception,
 212   // installing an exception, and notifying jvmdi.
 213   // In earlyReturn case we only want to skip throwing an exception
 214   // and installing an exception.
 215   void remove_activation(TosState state, Register ret_addr,
 216                          bool throw_monitor_exception = true,
 217                          bool install_monitor_exception = true,
 218                          bool notify_jvmdi = true,
 219                          bool load_values = false);
 220   void get_method_counters(Register method, Register mcs, Label& skip);
 221 
 222   // Object locking
 223   void lock_object  (Register lock_reg);
 224   void unlock_object(Register lock_reg);
 225 
 226   // Interpreter profiling operations
 227   void set_method_data_pointer_for_bcp();
 228   void test_method_data_pointer(Register mdp, Label& zero_continue);
 229   void verify_method_data_pointer();
 230 
 231   void set_mdp_data_at(Register mdp_in, int constant, Register value);
 232   void increment_mdp_data_at(Address data, bool decrement = false);
 233   void increment_mdp_data_at(Register mdp_in, int constant,
 234                              bool decrement = false);
 235   void increment_mdp_data_at(Register mdp_in, Register reg, int constant,
 236                              bool decrement = false);
 237   void increment_mask_and_jump(Address counter_addr,
 238                                int increment, Address mask,
 239                                Register scratch, bool preloaded,


< prev index next >