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

Brian Goetz brian.goetz at oracle.com
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 
https://www.youtube.com/watch?v=iSEjlLFCS3E), another installment of the 
story ...

     https://bugs.openjdk.java.net/browse/JDK-8205637

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