# HG changeset patch # User Doug Simon # Date 1417824843 -3600 # Node ID 56f806632622a8c6650276504ae11d468f6f0ca2 # Parent 0dac22d266d885682ce6acc5878be0160866f1f5 fixed bugs in support for arbitrary types in SubstitutionGuard constructors Contributed-by: Igor Veresov diff -r 0dac22d266d8 -r 56f806632622 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java --- 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);