--- old/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Type.java 2018-11-26 16:24:55.000000000 -0800 +++ new/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Type.java 2018-11-26 16:24:55.000000000 -0800 @@ -728,20 +728,7 @@ * @return the internal name of the given class. */ public static String getInternalName(final Class c) { - return getClassName(c).replace('.', '/'); - } - - /* - * Returns the class name of the given box type. - * i.e. Class.asBoxType().getName() - * - * nasgen depends on ASM and compiled with the bootstrap JDK and - * hence can't use new API. This method workarounds the build issue. - */ - private static String getClassName(Class type) { - String cn = type.getName(); - int i = cn.lastIndexOf("/val"); - return i == -1 ? cn : cn.substring(0, i); + return c.getName().replace('.', '/'); } /** @@ -832,11 +819,11 @@ d = d.getComponentType(); } else { String name = d.getName(); - int index = name.lastIndexOf("/val"); + // Workarounds nasgen build that depends on ASM but compiled with + // the bootstrap JDK. Can't use Class::isValue and Class::asValueType + int index = d.getTypeName().lastIndexOf("/val"); if (index > 0) { - // if (c.isValue() && c == c.asValueType()) { buf.append('Q'); - name = name.substring(0, index); } else { buf.append('L'); }