changeset 57051:d14f456bfc24 lworld

8230961: [lworld] valhalla/valuetypes/QTypeDescriptorTest.java fails after merge
author mchung
date Mon, 16 Sep 2019 09:15:41 -0700
parents 8b8d547e453c
children 1b10d5ef4c74
files src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java	Mon Sep 16 10:01:01 2019 -0400
+++ b/src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java	Mon Sep 16 09:15:41 2019 -0700
@@ -813,7 +813,11 @@
                     throw new AssertionError();
                 }
             } else {
-                mv.visitTypeInsn(CHECKCAST, dotToSlash(type.getName()));
+                String internalName = dotToSlash(type.getName());
+                if (type.isInlineClass() && !type.isIndirectType()) {
+                    internalName = 'Q' + internalName + ";";
+                }
+                mv.visitTypeInsn(CHECKCAST, internalName);
                 mv.visitInsn(ARETURN);
             }
         }
@@ -865,7 +869,7 @@
         /**
          * Generate code to invoke the Class.forName with the name of the given
          * class to get its Class object at runtime.  And also generate code
-         * to invoke Class.asValueBox if the class is regular value type.
+         * to invoke Class.asPrimaryType if the class is regular value type.
          *
          * The code is written to the supplied stream.  Note that the code generated
          * by this method may caused the checked ClassNotFoundException to be thrown.