John~ Given that you are generating code, do you generate java directly or generate an AST?
If you generate an AST, do you unparse that into java and run javac on it or do you generate bytecode directly from it? If you generate bytecode directly from it, what library or libraries do you use? Thanks, Matt On Tue, Feb 24, 2009 at 5:38 PM, John Cowan <[email protected]> wrote: > > On Tue, Feb 24, 2009 at 5:02 PM, Charles Oliver Nutter > <[email protected]> wrote: > > > Looking at this same statement from a different angle: write bytecode > > you'd like to maintain if it had started out as Java code. > > Fair enough. In my case, I'm generating Java code rather than > bytecode, so for me the rule is "Generate straightforward Java." > > > And as far as the "clever" thing goes, I can promise you that's true. A > > number of languages (including JRuby) have tried to work around > > "finally" being inlined everywhere by jumping to it. Unfortunately it > > turns out that the clever version is really hard to optimize in the best > > case (exceptional and non-exceptional paths sharing the same code) and > > can crash some JITs in the worst case (we saw crashes on both Java 5 and > > Java 6 client compilers until we fixed this). Since javac never emits > > this "clever" version, JVMs aren't tested or optimized for it. > > > > - Charlie > > > > > > > > > > > -- > GMail doesn't have rotating .sigs, but you can see mine at > http://www.ccil.org/~cowan/signatures<http://www.ccil.org/%7Ecowan/signatures> > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
