changeset 6068:a0513c13c10e

Lambda metafactory: Type conversion clean-up
author robert.field@oracle.com
date Mon, 08 Oct 2012 16:20:42 -0700
parents 2ec895d580e5
children 2e5b62d880a1
files src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java	Mon Oct 08 09:40:41 2012 -0700
+++ b/src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java	Mon Oct 08 16:20:42 2012 -0700
@@ -306,7 +306,7 @@
             // Convert the return value (if any) and return it
             // Note: if adapting from non-void to void, the 'return' instruction will pop the unneeded result
             Type samReturnType = Type.getReturnType(m);
-            convertType(implMethodReturnType.getDescriptor(), samReturnType.getDescriptor(), samReturnType.getDescriptor());
+            convertType(implMethodReturnType, samReturnType, samReturnType);
             areturn(samReturnType);
 
             visitMaxs(-1, -1); // Maxs computed by ClassWriter.COMPUTE_MAXS, these arguments ignored
@@ -324,7 +324,7 @@
 
                 load(lvIndex + 1, rcvrType);
                 lvIndex += rcvrType.getSize();
-                convertType(rcvrType.getDescriptor(), Type.getType(implDefiningClass).getDescriptor(), instantiatedRcvrType.getDescriptor());
+                convertType(rcvrType, Type.getType(implDefiningClass), instantiatedRcvrType);
             }
             int argOffset = implMethodArgumentTypes.length - samArgumentTypes.length;
             for (int i = samReceiverLength; i < samArgumentTypes.length; i++) {
@@ -334,7 +334,7 @@
 
                 load(lvIndex + 1, argType);
                 lvIndex += argType.getSize();
-                convertType(argType.getDescriptor(), targetType.getDescriptor(), instantiatedArgType.getDescriptor());
+                convertType(argType, targetType, instantiatedArgType);
             }
         }