String concatenation tweaks

Maurizio Cimadamore maurizio.cimadamore at
Thu Jun 4 09:46:09 UTC 2015

Cool stuff!
I've looked at your benchmarks in here:

If I parse correctly, in the string_string_long case the MH version 
(either plain or sized) is slower than baseline with size 100? Why is so?


On 04/06/15 10:21, Aleksey Shipilev wrote:
> On 06/02/2015 05:39 AM, John Rose wrote:
>> On Jun 1, 2015, at 7:52 AM, Aleksey Shipilev <aleksey.shipilev at> wrote:
>> Void is the convention used by MH.invoke and it works here too. The only ref of that type is null.
> Good, thanks! Using Void.class now.
>>> (Note to self: current prototype collapses the types *after* checking
>>> with cache, need to fix that possible class leak, thanks!
>> Yep. A late asType call will fix things up. We can optimize the pattern more if needed.
> Plus, we need to adjust the MethodType accordingly, since it is a key in
> our cache. Done as well.
> I have submitted a draft JEP for this:
> Please take a look, and we will submit it.
> The patches, notes, benchmarks are moved under the appropriate bug ID:
> The patches now have a complete support in javac (implemented the "s +=
> <string> concat part as well), passes jtreg and other smoke tests [*],
> plus newly developed regression tests. I think this gives us enough
> confidence with going forward.
> Thanks,
> -Aleksey
> [*] There are few regression tests that start to fail with the change:
> one seems Indify-specific, and another is a javac-specific regression
> test. Current patches work that around, and we will probably have to fix
> these properly before integration.

More information about the compiler-dev mailing list