Here's link to the backport code: http://code.google.com/p/jvm-language-runtime/source/browse/#svn/trunk/invokedynamic-backport
Cheers, Chanwit On Wed, May 6, 2009 at 7:52 PM, Robert Fischer <[email protected]> wrote: > > Where can I find documentation on the JDK 7 changes to bytecodes and the > backport project? > > ~~ Robert. > > John Rose wrote: >> On May 6, 2009, at 8:26 AM, John Cowan wrote: >> >>> In my language, I need objects which represent Java static methods. >> >> That's what method handles are for; from a JDK 7 viewpoint you are >> asking what is the best pre-JDK7 way to emulate method handles. >> >> Rémi Forax has a backport project which will reweave your JDK7 >> bytecodes into a form suitable for pre-7 JVMs. >> >> That pre-7 form generated by the backport uses about the same >> expedients you are currently using. The nice thing about that is it >> can serve as a collection point for best practices. I think grouping >> methods in a switch is the state of the art before JDK 7. >> >> Depending on your schema of call types, you'll want to choose between >> grouping call types on interface types vs. one call type per interface >> type. Interface types can be true Java interfaces, or Java abstract >> classes with factored default error-reporting or adapting behaviors. >> >> Any of those choices is usually preferable to plain reflection, >> because the semantics of reflective invocation is very complex, as it >> includes: >> - wrapped individual arguments and return values >> - wrapped varargs list >> - wrapped exceptions >> - per-call access checks with associated exceptions >> >> Also, reflection does not support the semantics of invokespecial. And >> there may be a footprint cost, as reflective objects are not mere >> invocation capabilities (like method handles). They carry extra >> baggage around to support symbol table queries such as annotations, >> throws clauses, and Java generic signatures. >> >> I hope this helps. >> -- John >> >> > >> > > -- > ~~ Robert Fischer. > Grails Training http://GroovyMag.com/training > Smokejumper Consulting http://SmokejumperIT.com > Enfranchised Mind Blog http://EnfranchisedMind.com/blog > > Check out my book, "Grails Persistence with GORM and GSQL"! > http://www.smokejumperit.com/redirect.html > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---
