comparison c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java @ 1465:2c754f3a2722

Inlining of static final field values. Java mirror instead of VmID. Support for PrintMetrics option.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Thu, 18 Nov 2010 17:27:43 +0100
parents 1845386f5403
children e4cd5d2de7e1
comparison
equal deleted inserted replaced
1463:7bc14f75a077 1465:2c754f3a2722
47 C1XOptions.setOptimizationLevel(3); 47 C1XOptions.setOptimizationLevel(3);
48 C1XOptions.OptInlineExcept = false; 48 C1XOptions.OptInlineExcept = false;
49 C1XOptions.OptInlineSynchronized = false; 49 C1XOptions.OptInlineSynchronized = false;
50 C1XOptions.UseDeopt = false; 50 C1XOptions.UseDeopt = false;
51 C1XOptions.IRChecking = false; 51 C1XOptions.IRChecking = false;
52 C1XOptions.DetailedAsserts = false;
52 } 53 }
53 54
54 @Override 55 @Override
55 public boolean setOption(String option) { 56 public boolean setOption(String option) {
56 if (option.length() == 0) { 57 if (option.length() == 0) {
149 Logger.info(String.format("%-10s %3d %s", type, e.getLineNumber(), current)); 150 Logger.info(String.format("%-10s %3d %s", type, e.getLineNumber(), current));
150 } 151 }
151 } 152 }
152 Compiler.getVMEntries().recordBailout(result.bailout().getMessage()); 153 Compiler.getVMEntries().recordBailout(result.bailout().getMessage());
153 } else { 154 } else {
154 Logger.log("Compilation result: " + result.targetMethod());
155 HotSpotTargetMethod.installMethod(riMethod, result.targetMethod()); 155 HotSpotTargetMethod.installMethod(riMethod, result.targetMethod());
156 } 156 }
157 } catch (Throwable t) { 157 } catch (Throwable t) {
158 StringWriter out = new StringWriter(); 158 StringWriter out = new StringWriter();
159 t.printStackTrace(new PrintWriter(out)); 159 t.printStackTrace(new PrintWriter(out));
233 public RiConstantPool createRiConstantPool(long vmId) { 233 public RiConstantPool createRiConstantPool(long vmId) {
234 return new HotSpotConstantPool(vmId); 234 return new HotSpotConstantPool(vmId);
235 } 235 }
236 236
237 @Override 237 @Override
238 public CiConstant createCiConstantInt(int value) {
239 return CiConstant.forInt(value);
240 }
241
242 @Override
243 public CiConstant createCiConstantLong(long value) { 238 public CiConstant createCiConstantLong(long value) {
244 return CiConstant.forLong(value); 239 return new CiConstant(CiKind.Long, value);
245 } 240 }
246 241
247 @Override 242 @Override
248 public CiConstant createCiConstantFloat(float value) { 243 public CiConstant createCiConstantFloat(float value) {
249 return CiConstant.forFloat(value); 244 return CiConstant.forFloat(value);
253 public CiConstant createCiConstantDouble(double value) { 248 public CiConstant createCiConstantDouble(double value) {
254 return CiConstant.forDouble(value); 249 return CiConstant.forDouble(value);
255 } 250 }
256 251
257 @Override 252 @Override
258 public CiConstant createCiConstantObject(long vmId) { 253 public CiConstant createCiConstantObject(Object object) {
259 return CiConstant.forObject(vmId); 254 return CiConstant.forObject(object);
260 } 255 }
261 } 256 }