< prev index next >

jdk/src/java.base/share/classes/jdk/experimental/value/MethodHandleBuilder.java

Print this page

        

*** 316,330 **** } } @Override public int putValue(Object v) { ! if (v instanceof Class<?> || v instanceof MethodHandle || v instanceof MethodType) { ! return patchPoolEntry(v); ! } return basicPoolHelper.putValue(v); } int patchPoolEntry(Object v) { String cpPlaceholder = "CONSTANT_PLACEHOLDER_" + cph++; if (MinimalValueTypes_1_0.DUMP_CLASS_FILES) cpPlaceholder += " <<" + debugString(v) + ">>"; if (cpPatches.containsKey(cpPlaceholder)) { --- 316,331 ---- } } @Override public int putValue(Object v) { ! if (v instanceof String || v instanceof Integer || v instanceof Float || v instanceof Double || v instanceof Long) { return basicPoolHelper.putValue(v); } + assert (!v.getClass().isPrimitive()) : v; + return patchPoolEntry(v); // CP patching support + } int patchPoolEntry(Object v) { String cpPlaceholder = "CONSTANT_PLACEHOLDER_" + cph++; if (MinimalValueTypes_1_0.DUMP_CLASS_FILES) cpPlaceholder += " <<" + debugString(v) + ">>"; if (cpPatches.containsKey(cpPlaceholder)) {
< prev index next >