Mercurial > hg > truffle
changeset 8576:916a1f1a96f0
Merge
author | Mick Jordan <mick.jordan@oracle.com> |
---|---|
date | Fri, 29 Mar 2013 09:39:43 -0700 |
parents | ea3ae49a7fa3 (current diff) b82ffd0c4ed2 (diff) |
children | 77970b4f131c |
files | |
diffstat | 4 files changed, 30 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.runtime/src/com/oracle/graal/api/runtime/Graal.java Thu Mar 28 21:01:48 2013 -0700 +++ b/graal/com.oracle.graal.api.runtime/src/com/oracle/graal/api/runtime/Graal.java Fri Mar 29 09:39:43 2013 -0700 @@ -36,26 +36,38 @@ try { runtime = initializeRuntime(); } catch (UnsatisfiedLinkError e) { - runtime = new GraalRuntime() { - - @Override - public String getName() { - return ""; - } - - @Override - public <T> T getCapability(Class<T> clazz) { - return null; - } - }; + runtime = new InvalidGraalRuntime(); } } public static <T> T getRequiredCapability(Class<T> clazz) { T t = getRuntime().getCapability(clazz); if (t == null) { - throw new IllegalAccessError("Runtime does not expose required capability " + clazz.getName()); + String javaHome = System.getProperty("java.home"); + String vmName = System.getProperty("java.vm.name"); + StringBuilder errorMessage = new StringBuilder(); + if (runtime.getClass() == InvalidGraalRuntime.class) { + errorMessage.append(String.format("The VM does not support the Graal API.\n")); + } else { + errorMessage.append(String.format("The VM does not expose required Graal capability %s.\n", clazz.getName())); + } + errorMessage.append(String.format("Currently used Java home directory is %s.\n", javaHome)); + errorMessage.append(String.format("Currently used VM configuration is: %s", vmName)); + throw new UnsupportedOperationException(errorMessage.toString()); } return t; } + + private static final class InvalidGraalRuntime implements GraalRuntime { + + @Override + public String getName() { + return ""; + } + + @Override + public <T> T getCapability(Class<T> clazz) { + return null; + } + } }
--- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/ConvertJTT.java Thu Mar 28 21:01:48 2013 -0700 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/ConvertJTT.java Fri Mar 29 09:39:43 2013 -0700 @@ -52,8 +52,7 @@ try { processFile(file.toPath(), new File(targetDir, file.getName()).toPath(), packageName); } catch (RuntimeException e) { - e.printStackTrace(); - System.out.println("in file " + file.getAbsolutePath()); + throw new RuntimeException(String.format("Exception while processing file %s", file.getAbsolutePath()), e); } } }
--- a/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/reflect/Field_get03.java Thu Mar 28 21:01:48 2013 -0700 +++ b/graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/reflect/Field_get03.java Fri Mar 29 09:39:43 2013 -0700 @@ -50,10 +50,8 @@ FloatField = Field_get03.class.getField("floatField"); DoubleField = Field_get03.class.getField("doubleField"); BooleanField = Field_get03.class.getField("booleanField"); - } catch (SecurityException e) { - e.printStackTrace(); - } catch (NoSuchFieldException e) { - e.printStackTrace(); + } catch (SecurityException | NoSuchFieldException e) { + throw new RuntimeException(e); } }
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectList.java Thu Mar 28 21:01:48 2013 -0700 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectList.java Fri Mar 29 09:39:43 2013 -0700 @@ -53,8 +53,8 @@ try { field.setAccessible(true); str.append(str.length() > 0 ? ", " : "").append(name).append("=").append(format(field.get(this))); - } catch (Exception e) { - e.printStackTrace(); + } catch (SecurityException | IllegalAccessException e) { + throw new RuntimeException(e); } } }