[10] RFR: 8178384: Reduce work in java.lang.invoke initializers

Claes Redestad claes.redestad at oracle.com
Tue Apr 11 08:37:45 UTC 2017


Sounds like you want https://bugs.openjdk.java.net/browse/JDK-8061402 - 
which was originally filed back in 2002 but was closed since it got 
filed on the wrong component or something... ¯\_(ツ)_/¯

There's still a number of char[] foo = "FOO".toCharArray() in the JDK 
since this allows for a more compact representation in bytecode (but is 
likely a bit slower during startup, especially since compact strings).

/Claes

On 04/10/2017 06:32 PM, Remi Forax wrote:
> Currently playing with a pattern matching representation for Amber, if 
> think we need a form of array constant that does not require a 
> bootstrap method.
> Afaik, an array of any existing constants does not need a Java code to 
> construct itself.
>
> Rémi
>
>
> On April 10, 2017 6:18:07 PM GMT+02:00, Paul Sandoz 
> <paul.sandoz at oracle.com> wrote:
>
>     +1
>
>     These named functions really wanna be LDC’ed but i suspect using constant dynamic + representation in source (when available) might result in it’s own bootstrap issues, still it would be interesting to try when available.
>
>     Paul.
>
>         On 10 Apr 2017, at 07:09, Claes Redestad
>         <claes.redestad at oracle.com> wrote: Hi, profiling initializers
>         in java.lang.invoke shows we're still doing various things
>         during class initialization which could be done lazily or not
>         at all. The proposed patch reduce bytecode executed, memory
>         churn and retained heap footprint when initializing
>         java.lang.invoke: Webrev:
>         http://cr.openjdk.java.net/~redestad/8178384/jdk.01
>         <http://cr.openjdk.java.net/%7Eredestad/8178384/jdk.01>/ Bug:
>         https://bugs.openjdk.java.net/browse/JDK-8178384 Testing:
>         java.lang.invoke jtreg tests, sanity performance testing
>         Thanks! /Claes 
>
>
>
>
> -- 
> Sent from my Android device with K-9 Mail. Please excuse my brevity. 



More information about the core-libs-dev mailing list