< prev index next >

src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java

Print this page
rev 52749 : Bootstrap method consolidation
* clean up and simplify JDK support code for BSM invocation
* simplify JVM bootstrap handshake: use BootstrapCallInfo only
* remove unused JVM paths and data fields
* move bootstrap argument processing from MethodHandleNatives to ConstantPool
* remove ConstantGroup; merge argument access into BootstrapCallInfo
* adjust BSM argument access: remove copyArguments, add argumentRef API
* add metadata-free BSM modes, including symbolic arguments from CP

*** 28,43 **** import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; import java.util.Objects; import java.util.Optional; - import static java.lang.constant.ConstantDescs.BSM_INVOKE; - import static java.lang.constant.ConstantDescs.BSM_METHODHANDLEDESC; import static java.lang.constant.ConstantDescs.CR_DirectMethodHandleDesc; import static java.lang.constant.ConstantDescs.DEFAULT_NAME; - import static java.lang.constant.ConstantDescs.MHR_METHODHANDLEDESC_FACTORY; - import static java.lang.constant.ConstantDescs.MHR_METHODTYPEDESC_FACTORY; import static java.lang.constant.ConstantUtils.validateClassOrInterface; import static java.lang.constant.ConstantUtils.validateMemberName; import static java.lang.constant.DirectMethodHandleDesc.Kind.CONSTRUCTOR; import static java.util.Objects.requireNonNull; --- 28,39 ----
*** 163,177 **** } } @Override public Optional<? extends ConstantDesc<ConstantDesc<MethodHandle>>> describeConstable() { ! return Optional.of(DynamicConstantDesc.of(BSM_INVOKE, MHR_METHODHANDLEDESC_FACTORY, ! kind.toString(), ! owner.descriptorString(), ! name, ! type.descriptorString())); } @Override public boolean equals(Object o) { if (this == o) return true; --- 159,169 ---- } } @Override public Optional<? extends ConstantDesc<ConstantDesc<MethodHandle>>> describeConstable() { ! return Optional.of(DynamicConstantDesc.ofSymbolic(this)); } @Override public boolean equals(Object o) { if (this == o) return true;
< prev index next >