String concatenation tweaks

Peter Levart peter.levart at gmail.com
Sun Jun 7 14:40:12 UTC 2015



On 06/05/2015 02:56 PM, Remi Forax wrote:
> There is another limitation, a method call can not have more than 255 
> arguments, if there are a lot of '+', the invokedynamic translation 
> may fail too.
>
> Maybe, the compiler should use the old strategy if there are too many 
> arguments. 


...or do a decomposition:

s1 + s2 + .... + sN  ==  s1 + s2 + ... + s254 + (s255 + s256 + ... + sN)

... so a string concatenation expression is converted to (int)((N + 254) 
/ 255) invokedynamic calls...

Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20150607/772bdff7/attachment.html>


More information about the compiler-dev mailing list