JEP 348 provides a way to replace a method call with a ldc/indy,
so it's another way to implement JEP 303 (the intrinsification part) given that 
an Intrinsics. (resp a ldc.invokedynamic) is just a method annotated with both 
PolymorphicSignature and CompilerIntrinsicCandidate.

class Intrinsics {
    @CompilerIntrinsicCandidate
    @PolymorphicSignature
    public static Object invokedynamic(BootstrapSpecifier indy, Object... args) 
{ return null; }
}

So in my opinion, we should withdraw JEP 303, adds a new JEP only about the 
constant propagation + mirroring of ConstantDesc and add Intrinsics.ldc and 
Intrinsic.invokedynamic as part of JEP 348.

Rémi

Reply via email to