< prev index next >

src/hotspot/share/runtime/vframe.cpp

Print this page
rev 51821 : imported patch syncknobs-06-Knob_Verbose


 238           // This is not the first frame so we either own this monitor
 239           // or we owned the monitor before and called wait(). Because
 240           // wait() could have been called on any monitor in a lower
 241           // numbered frame on the stack, we have to check all the
 242           // monitors on the list for this frame.
 243           mark = monitor->owner()->mark();
 244           if (mark->has_monitor() &&
 245               ( // we have marked ourself as pending on this monitor
 246                 mark->monitor() == thread()->current_pending_monitor() ||
 247                 // we are not the owner of this monitor
 248                 !mark->monitor()->is_entered(thread())
 249               )) {
 250             lock_state = "waiting to re-lock in wait()";
 251           } else {
 252             // We own the monitor which is not as interesting so
 253             // disable the extra printing below.
 254             mark = NULL;
 255           }
 256         }
 257         print_locked_object_class_name(st, Handle(THREAD, monitor->owner()), lock_state);
 258         if (ObjectMonitor::Knob_Verbose && mark != NULL) {
 259           st->print("\t- lockbits=");
 260           mark->print_on(st);
 261           st->cr();
 262         }
 263 
 264         found_first_monitor = true;
 265       }
 266     }
 267   }
 268 }
 269 
 270 // ------------- interpretedVFrame --------------
 271 
 272 u_char* interpretedVFrame::bcp() const {
 273   return fr().interpreter_frame_bcp();
 274 }
 275 
 276 void interpretedVFrame::set_bcp(u_char* bcp) {
 277   fr().interpreter_frame_set_bcp(bcp);
 278 }
 279 
 280 intptr_t* interpretedVFrame::locals_addr_at(int offset) const {
 281   assert(fr().is_interpreted_frame(), "frame should be an interpreted frame");
 282   return fr().interpreter_frame_local_at(offset);




 238           // This is not the first frame so we either own this monitor
 239           // or we owned the monitor before and called wait(). Because
 240           // wait() could have been called on any monitor in a lower
 241           // numbered frame on the stack, we have to check all the
 242           // monitors on the list for this frame.
 243           mark = monitor->owner()->mark();
 244           if (mark->has_monitor() &&
 245               ( // we have marked ourself as pending on this monitor
 246                 mark->monitor() == thread()->current_pending_monitor() ||
 247                 // we are not the owner of this monitor
 248                 !mark->monitor()->is_entered(thread())
 249               )) {
 250             lock_state = "waiting to re-lock in wait()";
 251           } else {
 252             // We own the monitor which is not as interesting so
 253             // disable the extra printing below.
 254             mark = NULL;
 255           }
 256         }
 257         print_locked_object_class_name(st, Handle(THREAD, monitor->owner()), lock_state);





 258 
 259         found_first_monitor = true;
 260       }
 261     }
 262   }
 263 }
 264 
 265 // ------------- interpretedVFrame --------------
 266 
 267 u_char* interpretedVFrame::bcp() const {
 268   return fr().interpreter_frame_bcp();
 269 }
 270 
 271 void interpretedVFrame::set_bcp(u_char* bcp) {
 272   fr().interpreter_frame_set_bcp(bcp);
 273 }
 274 
 275 intptr_t* interpretedVFrame::locals_addr_at(int offset) const {
 276   assert(fr().is_interpreted_frame(), "frame should be an interpreted frame");
 277   return fr().interpreter_frame_local_at(offset);


< prev index next >