Mercurial > hg > truffle
comparison agent/src/share/classes/sun/jvm/hotspot/oops/OopUtilities.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 | b9ebd46331d2 |
comparison
equal
deleted
inserted
replaced
110:a49a647afe9a | 113:ba764ed4b6f2 |
---|---|
279 hcKlassOffset += (db.lookupIntConstant("java_lang_Class::hc_klass_offset").intValue() * | 279 hcKlassOffset += (db.lookupIntConstant("java_lang_Class::hc_klass_offset").intValue() * |
280 db.getAddressSize()); | 280 db.getAddressSize()); |
281 } catch (RuntimeException re) { | 281 } catch (RuntimeException re) { |
282 // ignore, currently java_lang_Class::hc_klass_offset is zero | 282 // ignore, currently java_lang_Class::hc_klass_offset is zero |
283 } | 283 } |
284 | 284 if (VM.getVM().isCompressedOopsEnabled()) { |
285 hcKlassField = new OopField(new NamedFieldIdentifier("hc_klass"), hcKlassOffset, true); | 285 hcKlassField = new NarrowOopField(new NamedFieldIdentifier("hc_klass"), hcKlassOffset, true); |
286 } else { | |
287 hcKlassField = new OopField(new NamedFieldIdentifier("hc_klass"), hcKlassOffset, true); | |
288 } | |
286 } | 289 } |
287 } | 290 } |
288 | 291 |
289 /** get klassOop field at offset hc_klass_offset from a java.lang.Class object */ | 292 /** get klassOop field at offset hc_klass_offset from a java.lang.Class object */ |
290 public static Klass classOopToKlass(Oop aClass) { | 293 public static Klass classOopToKlass(Oop aClass) { |