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
-~----------~----~----~----~------~----~------~--~---

Reply via email to