comparison c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypeResolved.java @ 2055:99ad52189524

Refactorings to get towards less CRI overhead.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Thu, 13 Jan 2011 17:45:17 +0100
parents 177398c6147d
children 8f033d37798a
comparison
equal deleted inserted replaced
2054:3c0a889a176b 2055:99ad52189524
30 /** 30 /**
31 * Implementation of RiType for resolved non-primitive HotSpot classes. 31 * Implementation of RiType for resolved non-primitive HotSpot classes.
32 * 32 *
33 * @author Thomas Wuerthinger, Lukas Stadler 33 * @author Thomas Wuerthinger, Lukas Stadler
34 */ 34 */
35 public class HotSpotTypeResolved implements HotSpotType { 35 public class HotSpotTypeResolved extends HotSpotType {
36 36
37 private Class javaMirror; 37 private Class javaMirror;
38 private String name; 38 private String simpleName;
39 private int accessFlags; 39 private int accessFlags;
40 private boolean hasFinalizer; 40 private boolean hasFinalizer;
41 private boolean hasSubclass; 41 private boolean hasSubclass;
42 private boolean hasFinalizableSubclass; 42 private boolean hasFinalizableSubclass;
43 private boolean isInitialized; 43 private boolean isInitialized;
53 return accessFlags; 53 return accessFlags;
54 } 54 }
55 55
56 @Override 56 @Override
57 public RiType arrayOf() { 57 public RiType arrayOf() {
58 Logger.log("arrayOf " + name); 58 Logger.log("arrayOf " + simpleName);
59 return null; 59 return null;
60 //return Compiler.getVMEntries().RiType_arrayOf(vmId); 60 //return Compiler.getVMEntries().RiType_arrayOf(vmId);
61 } 61 }
62 62
63 @Override 63 @Override
162 public CiKind kind() { 162 public CiKind kind() {
163 return CiKind.Object; 163 return CiKind.Object;
164 } 164 }
165 165
166 @Override 166 @Override
167 public String name() {
168 return "L" + name + ";";
169 }
170
171 @Override
172 public String simpleName() {
173 return name;
174 }
175
176 @Override
177 public RiMethod resolveMethodImpl(RiMethod method) { 167 public RiMethod resolveMethodImpl(RiMethod method) {
178 assert method instanceof HotSpotMethod; 168 assert method instanceof HotSpotMethod;
179 return Compiler.getVMEntries().RiType_resolveMethodImpl(this, method.name(), method.signature().asString()); 169 return Compiler.getVMEntries().RiType_resolveMethodImpl(this, method.name(), method.signature().asString());
180 } 170 }
181 171
182 @Override 172 @Override
183 public String toString() { 173 public String toString() {
184 return "HotSpotType<" + name + ", resolved>"; 174 return "HotSpotType<" + simpleName + ", resolved>";
185 } 175 }
186 176
187 public RiConstantPool constantPool() { 177 public RiConstantPool constantPool() {
188 return Compiler.getVMEntries().RiType_constantPool(this); 178 return Compiler.getVMEntries().RiType_constantPool(this);
189 } 179 }