Hi jochen, ----- Mail original ----- > De: "Jochen Theodorou" <blackd...@gmx.org> > À: "dev" <dev@groovy.apache.org>, "Keegan Witt" <keeganw...@gmail.com> > Envoyé: Lundi 3 Septembre 2018 22:34:01 > Objet: Re: Old bytecode targets
> On 03.09.2018 14:33, Keegan Witt wrote: >> I'm working on adding Java 9, 10, and 11 bytecodes to the 2.5 branch, >> and 9, 10, and 11 bytecodes when using invokedynamic to master, when I >> noticed we allow the targets to go back quite a ways. >> >> Should we continue to let the Groovy compiler target Java 4, 5, 6, and 7 >> in master, given that master requires Java 8+? I can't think of a valid >> use case where this would be useful. What do you think of removing them? > > > nobody needs to target 4 or 5 really any more I think. 6 has the nice > advantage of not requiring the stack map frames. The stackmap frame > calculation support in asm is a bit.. lets say, it comes not for free. it's not free if you ask ASM (COMPUTE_FRAMES) to do the fix point algorithm (which is not linear) and to infer the common supertype, if you generate the StackFrames in the groovy compiler by calling explicitly visitFrame, the runtime cost is not big (but you need to modify your compiler backend which has development a cost). > > So otherwise I see no problem in targeting Java8 > > bye Jochen cheers, Rémi