Spread problem with > 10 arguments

Rémi Forax forax at univ-mlv.fr
Wed Jul 15 03:45:47 PDT 2009


Charles Oliver Nutter a écrit :
> On Tue, Jul 14, 2009 at 8:51 AM, Rémi Forax<forax at univ-mlv.fr> wrote:
>   
>> The problem is that for some adapters (by example collectArguments)
>> the bytecode size grow following a quadratic curve in relation to
>> the number of arguments.
>> This means that if you have more than let say 10 arguments the size of
>> bytecode for such adapters disable inlining which is the mother of all
>> optimisations.
>>     
>
> This is probably the case for the backport, since you are basically
> just hand-inlining the whole chain as bytecode into the original call
> site. But for the full 292 implementation, it doesn't have to be the
> case. The extra logic from the method handle chain can be excluded
> from the inlined size and as John Rose put it "given a platinum credit
> card" so any complexity of handle chain (perhaps with some platinum
> upper bound) does not count against your inlining budget.
>   

I don't feel comfortable with this kind of "platinum credit",
What I like in Java is the fact that the same rules applied to all 
classes, part of the JDK or not.

platinium credit inlining raises questions like :
If there is a way to get a platinium credit, why my application can't 
use it ?
Am I a second class citizen ?


> - Charlie
>   
Rémi



More information about the mlvm-dev mailing list