< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ObjectMonitor.java

Print this page

 62   }
 63 
 64   public Mark header() {
 65     return new Mark(addr.addOffsetTo(headerFieldOffset));
 66   }
 67 
 68   // FIXME
 69   //  void      set_header(markWord hdr);
 70 
 71   // FIXME: must implement and delegate to platform-dependent implementation
 72   //  public boolean isBusy();
 73   public boolean isEntered(sun.jvm.hotspot.runtime.Thread current) {
 74     Address o = owner();
 75     if (current.threadObjectAddress().equals(o) ||
 76         current.isLockOwned(o)) {
 77       return true;
 78     }
 79     return false;
 80   }
 81 




 82   public Address owner() { return addr.getAddressAt(ownerFieldOffset); }
 83   // FIXME
 84   //  void      set_owner(void* owner);
 85 
 86   public int    waiters() { return (int)waitersField.getValue(this); }
 87 
 88   public Address nextOM() { return addr.getAddressAt(nextOMFieldOffset); }
 89   // FIXME
 90   //  void      set_queue(void* owner);
 91 
 92   public long recursions() { return recursionsField.getValue(addr); }
 93 
 94   public OopHandle object() {
 95     Address objAddr = addr.getAddressAt(objectFieldOffset);
 96     if (objAddr == null) {
 97       return null;
 98     }
 99     return objAddr.getOopHandleAt(0);
100   }
101 

 62   }
 63 
 64   public Mark header() {
 65     return new Mark(addr.addOffsetTo(headerFieldOffset));
 66   }
 67 
 68   // FIXME
 69   //  void      set_header(markWord hdr);
 70 
 71   // FIXME: must implement and delegate to platform-dependent implementation
 72   //  public boolean isBusy();
 73   public boolean isEntered(sun.jvm.hotspot.runtime.Thread current) {
 74     Address o = owner();
 75     if (current.threadObjectAddress().equals(o) ||
 76         current.isLockOwned(o)) {
 77       return true;
 78     }
 79     return false;
 80   }
 81 
 82   public boolean isOwnedAnonymous() {
 83     return addr.getAddressAt(ownerFieldOffset).asLongValue() == 1;
 84   }
 85 
 86   public Address owner() { return addr.getAddressAt(ownerFieldOffset); }
 87   // FIXME
 88   //  void      set_owner(void* owner);
 89 
 90   public int    waiters() { return (int)waitersField.getValue(this); }
 91 
 92   public Address nextOM() { return addr.getAddressAt(nextOMFieldOffset); }
 93   // FIXME
 94   //  void      set_queue(void* owner);
 95 
 96   public long recursions() { return recursionsField.getValue(addr); }
 97 
 98   public OopHandle object() {
 99     Address objAddr = addr.getAddressAt(objectFieldOffset);
100     if (objAddr == null) {
101       return null;
102     }
103     return objAddr.getOopHandleAt(0);
104   }
105 
< prev index next >