< prev index next >

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

Print this page
@@ -53,10 +53,11 @@
    private static AddressField  osThreadField;
    private static AddressField  stackBaseField;
    private static CIntegerField stackSizeField;
    private static CIntegerField terminatedField;
    private static AddressField activeHandlesField;
+   private static CIntegerField lockIdField;
    private static long oopPtrSize;
  
    private static JavaThreadPDAccess access;
  
    // JavaThreadStates read from underlying process

@@ -99,10 +100,11 @@
      osThreadField     = type.getAddressField("_osthread");
      stackBaseField    = type.getAddressField("_stack_base");
      stackSizeField    = type.getCIntegerField("_stack_size");
      terminatedField   = type.getCIntegerField("_terminated");
      activeHandlesField = type.getAddressField("_active_handles");
+     lockIdField        = type.getCIntegerField("_lock_id");
  
      lockStackTopOffset = type.getField("_lock_stack").getOffset() + typeLockStack.getField("_top").getOffset();
      lockStackBaseOffset = type.getField("_lock_stack").getOffset() + typeLockStack.getField("_base[0]").getOffset();
      oopPtrSize = VM.getVM().getAddressSize();
  

@@ -374,10 +376,14 @@
          return "<null>";
      }
      return OopUtilities.threadOopGetName(threadObj);
    }
  
+   public Address getLockId() {
+     return lockIdField.getAddress(addr);
+   }
+ 
    //
    // Oop traversal
    //
  
    public void oopsDo(AddressVisitor oopVisitor) {
< prev index next >