< prev index next >

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

Print this page
*** 43,12 ***
  
    private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
      heap = VM.getVM().getObjectHeap();
      Type type  = db.lookupType("ObjectMonitor");
  
!     sun.jvm.hotspot.types.Field f = type.getField("_header");
!     headerFieldOffset = f.getOffset();
      f = type.getField("_object");
      objectFieldOffset = f.getOffset();
      f = type.getField("_owner");
      ownerFieldOffset = f.getOffset();
      f = type.getField("_next_om");
--- 43,12 ---
  
    private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
      heap = VM.getVM().getObjectHeap();
      Type type  = db.lookupType("ObjectMonitor");
  
!     sun.jvm.hotspot.types.Field f = type.getField("_metadata");
!     metadataFieldOffset = f.getOffset();
      f = type.getField("_object");
      objectFieldOffset = f.getOffset();
      f = type.getField("_owner");
      ownerFieldOffset = f.getOffset();
      f = type.getField("_next_om");

*** 63,11 ***
    public ObjectMonitor(Address addr) {
      super(addr);
    }
  
    public Mark header() {
!     return new Mark(addr.addOffsetTo(headerFieldOffset));
    }
  
    // FIXME
    //  void      set_header(markWord hdr);
  
--- 63,11 ---
    public ObjectMonitor(Address addr) {
      super(addr);
    }
  
    public Mark header() {
!     return new Mark(addr.addOffsetTo(metadataFieldOffset));
    }
  
    // FIXME
    //  void      set_header(markWord hdr);
  

*** 112,11 ***
  
    // The following four either aren't expressed as typed fields in
    // vmStructs.cpp because they aren't strongly typed in the VM, or
    // would confuse the SA's type system.
    private static ObjectHeap    heap;
!   private static long          headerFieldOffset;
    private static long          objectFieldOffset;
    private static long          ownerFieldOffset;
    private static long          nextOMFieldOffset;
    private static CIntField     contentionsField;
    private static CIntField     waitersField;
--- 112,11 ---
  
    // The following four either aren't expressed as typed fields in
    // vmStructs.cpp because they aren't strongly typed in the VM, or
    // would confuse the SA's type system.
    private static ObjectHeap    heap;
!   private static long          metadataFieldOffset;
    private static long          objectFieldOffset;
    private static long          ownerFieldOffset;
    private static long          nextOMFieldOffset;
    private static CIntField     contentionsField;
    private static CIntField     waitersField;
< prev index next >