< prev index next >
src/hotspot/share/runtime/frame.cpp
Print this page
*** 721,731 ****
bool _has_receiver; // true if the callee has a receiver
frame* _fr;
void set(int size, BasicType type) {
_offset -= size;
! if (type == T_OBJECT || type == T_ARRAY) oop_offset_do();
}
void oop_offset_do() {
oop* addr;
addr = (oop*)_fr->interpreter_frame_tos_at(_offset);
--- 721,731 ----
bool _has_receiver; // true if the callee has a receiver
frame* _fr;
void set(int size, BasicType type) {
_offset -= size;
! if (is_reference_type(type)) oop_offset_do();
}
void oop_offset_do() {
oop* addr;
addr = (oop*)_fr->interpreter_frame_tos_at(_offset);
*** 774,784 ****
frame* _fr;
OopClosure* _f;
void set(int size, BasicType type) {
assert (_offset >= 0, "illegal offset");
! if (type == T_OBJECT || type == T_ARRAY) oop_at_offset_do(_offset);
_offset -= size;
}
void oop_at_offset_do(int offset) {
assert (offset >= 0, "illegal offset");
--- 774,784 ----
frame* _fr;
OopClosure* _f;
void set(int size, BasicType type) {
assert (_offset >= 0, "illegal offset");
! if (is_reference_type(type)) oop_at_offset_do(_offset);
_offset -= size;
}
void oop_at_offset_do(int offset) {
assert (offset >= 0, "illegal offset");
*** 925,935 ****
RegisterMap* _reg_map;
int _arg_size;
VMRegPair* _regs; // VMReg list of arguments
void set(int size, BasicType type) {
! if (type == T_OBJECT || type == T_ARRAY) handle_oop_offset();
_offset += size;
}
virtual void handle_oop_offset() {
// Extract low order register number from register array.
--- 925,935 ----
RegisterMap* _reg_map;
int _arg_size;
VMRegPair* _regs; // VMReg list of arguments
void set(int size, BasicType type) {
! if (is_reference_type(type)) handle_oop_offset();
_offset += size;
}
virtual void handle_oop_offset() {
// Extract low order register number from register array.
< prev index next >