again on megamorphic problems

Mark Roos mroos at roos.com
Thu Dec 20 19:33:01 PST 2012


>From Jochen
How many targets do you usually keep in the chain before dropping?

I currently set the max to 10.  As most( > 98%) of my callsites are 10 or 
less most of the
time there is no effect.  I have not looked into if this is too deep for 
the inliner or not.  I have
been told that between 5 and 10 should be OK.  I plan to look at this 
closer after the jvm
settles a bit.

ignoring that I cannot easily do that, this surely is an approach, but I 
am worried about memory here.

I worry as well.  And its not yet clear to me that this would be important 
in the long run.
A GWT should be nothing more than a test and branch so I would expect even 
deep chains
to be fast and inlined.  For those that get too deep dropping them should 
be fine.  In the
Smalltalk reference I am using they drop all of the JITed code when it 
gets to 1 meg and
just start over.  This seems to keep the code clean and only adds about 
10% to the start
up time. 

regards
mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20121220/a64c4fd0/attachment.html 


More information about the mlvm-dev mailing list