src/hotspot/share/runtime/frame.cpp
changeset 58273 08a5148e7c4e
parent 57811 947252a54b98
child 58679 9c3209ff7550
child 59056 15936b142f86
equal deleted inserted replaced
58272:e27564cd10e3 58273:08a5148e7c4e
   721   bool   _has_receiver;  // true if the callee has a receiver
   721   bool   _has_receiver;  // true if the callee has a receiver
   722   frame* _fr;
   722   frame* _fr;
   723 
   723 
   724   void set(int size, BasicType type) {
   724   void set(int size, BasicType type) {
   725     _offset -= size;
   725     _offset -= size;
   726     if (type == T_OBJECT || type == T_ARRAY) oop_offset_do();
   726     if (is_reference_type(type)) oop_offset_do();
   727   }
   727   }
   728 
   728 
   729   void oop_offset_do() {
   729   void oop_offset_do() {
   730     oop* addr;
   730     oop* addr;
   731     addr = (oop*)_fr->interpreter_frame_tos_at(_offset);
   731     addr = (oop*)_fr->interpreter_frame_tos_at(_offset);
   774   frame* _fr;
   774   frame* _fr;
   775   OopClosure* _f;
   775   OopClosure* _f;
   776 
   776 
   777   void set(int size, BasicType type) {
   777   void set(int size, BasicType type) {
   778     assert (_offset >= 0, "illegal offset");
   778     assert (_offset >= 0, "illegal offset");
   779     if (type == T_OBJECT || type == T_ARRAY) oop_at_offset_do(_offset);
   779     if (is_reference_type(type)) oop_at_offset_do(_offset);
   780     _offset -= size;
   780     _offset -= size;
   781   }
   781   }
   782 
   782 
   783   void oop_at_offset_do(int offset) {
   783   void oop_at_offset_do(int offset) {
   784     assert (offset >= 0, "illegal offset");
   784     assert (offset >= 0, "illegal offset");
   925   RegisterMap*    _reg_map;
   925   RegisterMap*    _reg_map;
   926   int             _arg_size;
   926   int             _arg_size;
   927   VMRegPair*      _regs;        // VMReg list of arguments
   927   VMRegPair*      _regs;        // VMReg list of arguments
   928 
   928 
   929   void set(int size, BasicType type) {
   929   void set(int size, BasicType type) {
   930     if (type == T_OBJECT || type == T_ARRAY) handle_oop_offset();
   930     if (is_reference_type(type)) handle_oop_offset();
   931     _offset += size;
   931     _offset += size;
   932   }
   932   }
   933 
   933 
   934   virtual void handle_oop_offset() {
   934   virtual void handle_oop_offset() {
   935     // Extract low order register number from register array.
   935     // Extract low order register number from register array.