JEP 303 vs JEP 348

Remi Forax forax at
Wed Feb 13 00:15:39 UTC 2019

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 {
    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.


More information about the amber-spec-experts mailing list