184 // IllegalMonitorStateExceptions, since that might get us into an
185 // infinite rethrow exception loop.
186 // Additionally this code is used for popFrame and earlyReturn.
187 // In popFrame case we want to skip throwing an exception,
188 // installing an exception, and notifying jvmdi.
189 // In earlyReturn case we only want to skip throwing an exception
190 // and installing an exception.
191 void remove_activation(TosState state,
192 bool throw_monitor_exception = true,
193 bool install_monitor_exception = true,
194 bool notify_jvmdi = true);
195
196 // FIXME: Give us a valid frame at a null check.
197 virtual void null_check(Register reg, int offset = -1) {
198 // #ifdef ASSERT
199 // save_bcp();
200 // set_last_Java_frame(esp, rfp, (address) pc());
201 // #endif
202 MacroAssembler::null_check(reg, offset);
203 // #ifdef ASSERT
204 // reset_last_Java_frame(true, false);
205 // #endif
206 }
207
208 // Object locking
209 void lock_object (Register lock_reg);
210 void unlock_object(Register lock_reg);
211
212 // Interpreter profiling operations
213 void set_method_data_pointer_for_bcp();
214 void test_method_data_pointer(Register mdp, Label& zero_continue);
215 void verify_method_data_pointer();
216
217 void set_mdp_data_at(Register mdp_in, int constant, Register value);
218 void increment_mdp_data_at(Address data, bool decrement = false);
219 void increment_mdp_data_at(Register mdp_in, int constant,
220 bool decrement = false);
221 void increment_mdp_data_at(Register mdp_in, Register reg, int constant,
222 bool decrement = false);
223 void increment_mask_and_jump(Address counter_addr,
224 int increment, Address mask,
|
184 // IllegalMonitorStateExceptions, since that might get us into an
185 // infinite rethrow exception loop.
186 // Additionally this code is used for popFrame and earlyReturn.
187 // In popFrame case we want to skip throwing an exception,
188 // installing an exception, and notifying jvmdi.
189 // In earlyReturn case we only want to skip throwing an exception
190 // and installing an exception.
191 void remove_activation(TosState state,
192 bool throw_monitor_exception = true,
193 bool install_monitor_exception = true,
194 bool notify_jvmdi = true);
195
196 // FIXME: Give us a valid frame at a null check.
197 virtual void null_check(Register reg, int offset = -1) {
198 // #ifdef ASSERT
199 // save_bcp();
200 // set_last_Java_frame(esp, rfp, (address) pc());
201 // #endif
202 MacroAssembler::null_check(reg, offset);
203 // #ifdef ASSERT
204 // reset_last_Java_frame(true);
205 // #endif
206 }
207
208 // Object locking
209 void lock_object (Register lock_reg);
210 void unlock_object(Register lock_reg);
211
212 // Interpreter profiling operations
213 void set_method_data_pointer_for_bcp();
214 void test_method_data_pointer(Register mdp, Label& zero_continue);
215 void verify_method_data_pointer();
216
217 void set_mdp_data_at(Register mdp_in, int constant, Register value);
218 void increment_mdp_data_at(Address data, bool decrement = false);
219 void increment_mdp_data_at(Register mdp_in, int constant,
220 bool decrement = false);
221 void increment_mdp_data_at(Register mdp_in, Register reg, int constant,
222 bool decrement = false);
223 void increment_mask_and_jump(Address counter_addr,
224 int increment, Address mask,
|