The is a command line flag to control the maximum size for the jitter . I blogged about it some years ago.
On Monday, 3 September 2012, Mark Roos wrote: > > So then the issue is making the methods small enough for HotSpot to > compile and not fall back to the interpreter. > If that is the case why not find the means to have Hotspot not do that? > It seems that would be less effort than > adding hard tail calls to the jvm. In other words is this really the test > case that John is looking for? > > by the way what do you use as the byte code size limit to prevent this > today? > > thanks > mark > > > > From: Charles Oliver Nutter <[email protected]<javascript:_e({}, > 'cvml', '[email protected]');> > > > To: Da Vinci Machine Project > <[email protected]<javascript:_e({}, 'cvml', > '[email protected]');> > > > Date: 09/02/2012 09:37 AM > Subject: Re: thinking about proper implementation of tail calls > Sent by: [email protected] <javascript:_e({}, > 'cvml', '[email protected]');> > ------------------------------ > > > > The classfile limit is only part of the problem. In JRuby we frequently > have larger Ruby methods fall over in the compilation process because > Hotspot bails out on the whole thing. If we could easily break it up, we > would at least get things to compile, even if they needed a CALL here and > there to stitch the bits together. But except for trivial cases (chaining > along root statements) we need tail calls for this to work well. > > - Charlie (mobile) > > On Sep 1, 2012 6:31 PM, "Mark Roos" <*[email protected]* <javascript:_e({}, > 'cvml', '[email protected]');>> wrote: > I am looking to learn something here that I haven't seen in my code yet. > > John mentioned > Suppose you are compiling your favorite high-level language to the > JVM, and you start > running into the various size limits in class files > > To which there seemed to be some agreement that this was an issue. > Running over my Smalltalk > code base my largest method is 12000 bytes with only about a dozen that > are more than > 10k bytes. The corresponding class file is 16k bytes ( I only do one > method + blocks per class file) > > So my question is what is causing these mega methods. Is it just an > artifact of the language being > implemented or is it from some language side optimization (such as trace > optimization)? Perhaps > I am just lucky to not see it yet. > > thanks > mark > _______________________________________________ > mlvm-dev mailing list* > **[email protected]* <javascript:_e({}, 'cvml', > '[email protected]');>* > **http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev*<http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev> > _______________________________________________ > mlvm-dev mailing list > [email protected] <javascript:_e({}, 'cvml', > '[email protected]');> > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > >
_______________________________________________ mlvm-dev mailing list [email protected] http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
