I'm getting back into invokedynamic stuff (in between conferencing...whew!). Perf reports are coming soon, but in the interim....
I was playing with implementing "loops" using the trick Ola showed me of binding a call site in the chain and having it circle back to the top. Fun, cute, etc. https://gist.github.com/1109021 (might be interesting for cookbook?) However I realized while implementing it that it kinda blurs the lines between recursive and iterative. Logically, the rebound call site should act like a backward branch to another iteration. That's what I'd expect to happen if everything compiles and inlines together; the MH chain would see that the call site is bound to an already-encountered handle higher up in the chain and treat it as a branching operation. It does seem to work fine for low values, but for high values I got a crash (on openjdk-osx-build probably equivalent to b146 or *maybe* b147): "Illegal instruction" Here's the full session. What sayeth ye all? https://gist.github.com/1109026 I've pushed the code here: https://github.com/headius/indy-examples - Charlie _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev