changeset 18639:56f806632622

fixed bugs in support for arbitrary types in SubstitutionGuard constructors Contributed-by: Igor Veresov <igor.veresov@oracle.com>
author Doug Simon <doug.simon@oracle.com>
date Sat, 06 Dec 2014 01:14:03 +0100
parents 0dac22d266d8
children e22a21b27036
files graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java	Fri Dec 05 19:24:09 2014 +0100
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java	Sat Dec 06 01:14:03 2014 +0100
@@ -315,10 +315,10 @@
             try {
                 Object[] args = new Object[constructor.getParameterCount()];
                 for (int i = 0; i < args.length; i++) {
-                    Object arg = snippetReflection.getSubstitutionGuardParameter(paramTypes[0]);
+                    Object arg = snippetReflection.getSubstitutionGuardParameter(paramTypes[i]);
                     if (arg != null) {
                         args[i] = arg;
-                    } else if (paramTypes[0].isInstance(target.arch)) {
+                    } else if (paramTypes[i].isInstance(target.arch)) {
                         args[i] = target.arch;
                     } else {
                         throw new GraalInternalError("Unsupported type %s in substitution guard constructor: %s", paramTypes[i].getName(), constructor);