changeset 21618:316f85995e6b

Fix for the method handle plugin.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sun, 31 May 2015 13:27:50 +0200
parents f2a6088ddebc
children b14a218c5471
files graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MethodHandlePlugin.java
diffstat 1 files changed, 3 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MethodHandlePlugin.java	Sat May 30 14:31:16 2015 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MethodHandlePlugin.java	Sun May 31 13:27:50 2015 +0200
@@ -57,11 +57,10 @@
             } else {
                 CallTargetNode callTarget = invoke.callTarget();
                 NodeInputList<ValueNode> argumentsList = callTarget.arguments();
-                ValueNode[] newArgs = argumentsList.toArray(new ValueNode[argumentsList.size()]);
-                for (ValueNode arg : newArgs) {
-                    b.recursiveAppend(arg);
+                for (int i = 0; i < argumentsList.size(); ++i) {
+                    argumentsList.initialize(i, b.recursiveAppend(argumentsList.get(i)));
                 }
-                b.handleReplacedInvoke(invoke.getInvokeKind(), callTarget.targetMethod(), newArgs);
+                b.handleReplacedInvoke(invoke.getInvokeKind(), callTarget.targetMethod(), argumentsList.toArray(new ValueNode[argumentsList.size()]));
             }
             return true;
         }