Mercurial > hg > truffle
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; } }