Mercurial > hg > graal-compiler
diff agent/src/share/classes/sun/jvm/hotspot/HSDB.java @ 113:ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author | coleenp |
---|---|
date | Sun, 13 Apr 2008 17:43:42 -0400 |
parents | a61af66fc99e |
children | 5bba3366a9a2 |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/HSDB.java Fri Apr 11 09:56:35 2008 -0400 +++ b/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