Hacker News new | ask | show | jobs
by perlgeek 4151 days ago
Not that I'm aware of, sorry.

Some of things it does:

* type specialization. It looks at repeated executions of a piece of code, and if the type of a variable or parameter is stable, it assumes it'll be always that way, and specializes the code for that (for example, always picks a method from the same class). And of course it inserts a guard clause to ensure that if the type should change, it takes the slow (but correct) path

* inlining

* container removal. In Perl 6, things generally become mutable by being inside a container (think pointer), and if the specializer finds cases where that's not needed, it generates better code for them

* reachability analysis and elimination of allocations are being worked on, iirc.

1 comments

Do you know who it might be best to talk to about the AST/bytecode specialisation? I work on a compiler with AST specialisations and I'm interested in their approach.
Check out #moarvm on irc.freenode.net.