On 12/21/2011 05:43 AM, Alex Miller wrote:
Video is up from Attila's Dynalink talk at Strange Loop if you're
interested:

http://www.infoq.com/presentations/Dynalink


Hi Alex, hi Attila,

Interesting, some remarks,
at 0:11:0, Atilla, you said it will not work with interpreter,
in fact it will work with interpreter because a CallSite can be a 'free' Callsite,
i.e. at CallSite not attached to a bytecode instruction but here attached to
an AST node. The interpreter of PHP.reboot does exactly that, so it share
the same dispatch code between the interpreter and the compiled code.
I've done that just because I'm lazy but I fact you can even reuse the free callsite
attached to AST node and the one attached to the bytecode because
the spec allow you to reuse the same CallSite object at several location.
After implementing sharing of CallSite in PHP.reboot, I've removed it,
it actually share the logic but not the data structure because I've found
that the interpreter callsites are polluted by profiled class that are
used only a few time so it was better to start with fresh callsite in the
compiled code. This is not far from the idea of Mark Roos that at some
point the callsite states should be flushed to remove info that aren't used anymore.

Rémi

--
You received this message because you are subscribed to the Google Groups "JVM 
Languages" group.
To post to this group, send email to jvm-languages@googlegroups.com.
To unsubscribe from this group, send email to 
jvm-languages+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/jvm-languages?hl=en.

Reply via email to