diff -r f4edb0d9f109 -r 21d113ecbf6a hotspot/agent/src/share/classes/sun/jvm/hotspot/HSDB.java --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/HSDB.java Fri Apr 11 09:56:35 2008 -0400 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/HSDB.java Sun Apr 13 17:43:42 2008 -0400 @@ -1011,8 +1011,21 @@ Assert.that(addr.andWithMask(VM.getVM().getAddressSize() - 1) == null, "Address " + addr + "should have been aligned"); } + OopHandle handle = addr.getOopHandleAt(0); + addAnnotation(addr, handle); + } + + public void visitCompOopAddress(Address addr) { + if (Assert.ASSERTS_ENABLED) { + Assert.that(addr.andWithMask(VM.getVM().getAddressSize() - 1) == null, + "Address " + addr + "should have been aligned"); + } + OopHandle handle = addr.getCompOopHandleAt(0); + addAnnotation(addr, handle); + } + + public void addAnnotation(Address addr, OopHandle handle) { // Check contents - OopHandle handle = addr.getOopHandleAt(0); String anno = "null oop"; if (handle != null) { // Find location