Mercurial > hg > graal-jvmci-8
comparison 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 |
comparison
equal
deleted
inserted
replaced
1444:c0e244017dad | 1445:a7b84a5e16c6 |
---|---|
101 | 101 |
102 return true; | 102 return true; |
103 } | 103 } |
104 | 104 |
105 @Override | 105 @Override |
106 public void compileMethod(long methodVmId, String name, int entryBCI) { | 106 public void compileMethod(long methodVmId, String name, int entryBCI) throws Throwable { |
107 | 107 |
108 if (!compileMethods) { | 108 if (!compileMethods) { |
109 return; | 109 return; |
110 } | 110 } |
111 | 111 |
116 | 116 |
117 if (result.bailout() != null) { | 117 if (result.bailout() != null) { |
118 StringWriter out = new StringWriter(); | 118 StringWriter out = new StringWriter(); |
119 result.bailout().printStackTrace(new PrintWriter(out)); | 119 result.bailout().printStackTrace(new PrintWriter(out)); |
120 Logger.info("Bailout:\n" + out.toString()); | 120 Logger.info("Bailout:\n" + out.toString()); |
121 Compiler.getVMEntries().recordBailout(result.bailout().getMessage()); | |
121 } else { | 122 } else { |
122 Logger.log("Compilation result: " + result.targetMethod()); | 123 Logger.log("Compilation result: " + result.targetMethod()); |
123 HotSpotTargetMethod.installMethod(riMethod, result.targetMethod()); | 124 HotSpotTargetMethod.installMethod(riMethod, result.targetMethod()); |
124 } | 125 } |
125 } catch (Throwable t) { | 126 } catch (Throwable t) { |
126 StringWriter out = new StringWriter(); | 127 StringWriter out = new StringWriter(); |
127 t.printStackTrace(new PrintWriter(out)); | 128 t.printStackTrace(new PrintWriter(out)); |
128 Logger.info("Compilation interrupted:\n" + out.toString()); | 129 Logger.info("Compilation interrupted:\n" + out.toString()); |
130 throw t; | |
129 } | 131 } |
130 } | 132 } |
131 | 133 |
132 @Override | 134 @Override |
133 public RiMethod createRiMethodResolved(long vmId, String name) { | 135 public RiMethod createRiMethodResolved(long vmId, String name) { |