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" <mr...@roos.com> 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
> mlvm-dev@openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>
>
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to