thinking about proper implementation of tail calls

Alexander Turner nerdscentral at gmail.com
Sun Sep 2 06:21:25 PDT 2012


It is dependant on the language. If the language paradigm is one of large
methods or large non method like systems then you will get mega methods at
the bytecode level. COBOL for example, can produce methods of arbitrary
size because it does not naturally have a method based syntax. I would
expect Fortran to have similar issues because, although it has subroutines,
they can become very big. Maybe some PHP pages would get that way as well.

Best wishes - AJ

On 2 September 2012 00:30, Mark Roos <mroos at 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 at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20120902/be4bd7d1/attachment-0001.html 


More information about the mlvm-dev mailing list