Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

In order to implement JSR 292, a.k.a. invoke dynamic, something called richochet frames is introduced into the hotspot vm. I'd like to know more about it, such as invoke dynamic itself, how richochet frames implements it, where the name richochet comes from, etc.

Google seems to be not very helpful here. Any pointers would be appreciated. Or better, someone please writes blogs about it :)

share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

Basically you want to join the mlvm-dev mailing list at openjdk.java.net - here are their archives. You'll also want to join the JVM Languages Google group.

Please do peruse the archives before posting, you'll get a much better reception if you've shown that you did some of your own research first :-)

From John Rose:

The most complicated bit of assembly code in the HotSpot method handle implementation is "ricochet frames", which natively implement foldArguments. But it was a good investment, because this particular pattern of MH combination is a sort of universal glue for making every other kind of recursive combination.

share|improve this answer
    
Thanks for your answer. I did do some google searches but it didn't show anything useful. I even dig into JSR 272 specification but it has nothing to say about implementation details. Anyway, thanks for the pointers. –  edwardw Dec 6 '11 at 10:04
    
Yeah it's not well documented and it's stuff at a level where I'm just glad there are people a lot smarter than me working on this stuff :-). Do ask your Q on those mailing lists though, they're a great bunch of people and always willing to help out a new person. –  Martijn Verburg Dec 6 '11 at 13:02
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.