Mercurial > hg > truffle
comparison agent/src/share/classes/sun/jvm/hotspot/oops/java_lang_Class.java @ 6848:8e47bac5643a
7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
author | roland |
---|---|
date | Tue, 09 Oct 2012 10:11:38 +0200 |
parents | da91efe96a93 |
children |
comparison
equal
deleted
inserted
replaced
6847:65d07d9ee446 | 6848:8e47bac5643a |
---|---|
61 oopSizeField = new IntField(new NamedFieldIdentifier("oop_size"), oopSizeOffset, true); | 61 oopSizeField = new IntField(new NamedFieldIdentifier("oop_size"), oopSizeOffset, true); |
62 } | 62 } |
63 | 63 |
64 /** get Klass* field at offset hc_klass_offset from a java.lang.Class object */ | 64 /** get Klass* field at offset hc_klass_offset from a java.lang.Class object */ |
65 public static Klass asKlass(Oop aClass) { | 65 public static Klass asKlass(Oop aClass) { |
66 if (VM.getVM().isCompressedHeadersEnabled()) { | 66 return (Klass)Metadata.instantiateWrapperFor(aClass.getHandle().getAddressAt(klassOffset)); |
67 throw new InternalError("unimplemented"); | |
68 } else { | |
69 return (Klass)Metadata.instantiateWrapperFor(aClass.getHandle().getAddressAt(klassOffset)); | |
70 } | |
71 } | 67 } |
72 | 68 |
73 /** get oop_size field at offset oop_size_offset from a java.lang.Class object */ | 69 /** get oop_size field at offset oop_size_offset from a java.lang.Class object */ |
74 public static long getOopSize(Oop aClass) { | 70 public static long getOopSize(Oop aClass) { |
75 return java_lang_Class.oopSizeField.getValue(aClass); | 71 return java_lang_Class.oopSizeField.getValue(aClass); |