New draft JEP: intrinsics for String::format and Objects::hash (among others)

Brian Goetz brian.goetz at
Mon Oct 22 19:45:00 UTC 2018

For those of you following the saga of improved constant folding, which 
includes JEPs 334 and 303 (see, another installment of the 
story ...

While JEP 303 provides intrinsics for pseudo-methods (ldc, 
invokedynamic) whose semantics will be spelled out in the JLS, this JEP 
provides for more ad-hoc transformation of method invocations to 
LDC/indy, and outlines the initial candidate for this treatment 
String::format and Objects::hash.  (It does not rely on the constant 
folding and propagation that JEP 303 relies on, and so can be delivered 
before those are.)  The initial scope is deliberately limited; it can be 
expanded later.

We're working on some performance numbers that will provide the context 
on why we chose these particular methods -- these will be added to the 
JEP when ready.

More information about the amber-dev mailing list