diff c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java @ 1445:a7b84a5e16c6

Remove caching for constant pool entries (same index can be used to retrieve e.g. type and field). Fast fail on bailout in C1X.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Tue, 09 Nov 2010 13:42:06 +0100
parents c0e244017dad
children 8cfe3537a0d3
line wrap: on
line diff
--- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java	Tue Nov 09 12:30:21 2010 +0100
+++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java	Tue Nov 09 13:42:06 2010 +0100
@@ -103,7 +103,7 @@
     }
 
     @Override
-    public void compileMethod(long methodVmId, String name, int entryBCI) {
+    public void compileMethod(long methodVmId, String name, int entryBCI) throws Throwable {
 
         if (!compileMethods) {
             return;
@@ -118,6 +118,7 @@
                 StringWriter out = new StringWriter();
                 result.bailout().printStackTrace(new PrintWriter(out));
                 Logger.info("Bailout:\n" + out.toString());
+                Compiler.getVMEntries().recordBailout(result.bailout().getMessage());
             } else {
                 Logger.log("Compilation result: " + result.targetMethod());
                 HotSpotTargetMethod.installMethod(riMethod, result.targetMethod());
@@ -126,6 +127,7 @@
             StringWriter out = new StringWriter();
             t.printStackTrace(new PrintWriter(out));
             Logger.info("Compilation interrupted:\n" + out.toString());
+            throw t;
         }
     }