--- old/src/java.base/share/classes/sun/invoke/util/BytecodeDescriptor.java 2019-05-15 13:57:59.835815358 -0400 +++ new/src/java.base/share/classes/sun/invoke/util/BytecodeDescriptor.java 2019-05-15 13:57:59.475813573 -0400 @@ -93,7 +93,7 @@ Class clz = (loader == null) ? Class.forName(name, false, null) : loader.loadClass(name); - return c == 'Q' ? clz.asValueType() : clz.asBoxType(); + return c == 'Q' ? clz.asPrimaryType() : clz.asNullableType(); } catch (ClassNotFoundException ex) { throw new TypeNotPresentException(name, ex); } @@ -158,10 +158,11 @@ sb.append("Ljava/lang/Object;"); } else { boolean lsemi = (!t.isArray()); - if (t == t.asValueType()) + if (!t.isNullableType()) c = 'Q'; + String n = t.isInlineClass() ? t.asPrimaryType().getName() : t.getName(); if (lsemi) sb.append(c); - sb.append(t.getName().replace('.', '/')); + sb.append(n.replace('.', '/')); if (lsemi) sb.append(';'); } }