CompilerConfiguration: clarify indy is always on#2319
CompilerConfiguration: clarify indy is always on#2319dilyanpalauzov wants to merge 1 commit intoapache:masterfrom
Conversation
|
"always enabled" should probably read "enabled by default" -- it is still possible to disable until all the call site code is removed (see #1934) |
|
At https://groovy-lang.org/releasenotes/groovy-4.0.html#Groovy4.0-indy-only is written:
For me this means that classic-site based bytecode cannot be generated and thus indy-generation is always enabled. (from the above hyperlink)
Is #1934 about removing support for interpreting files, compiled using Groovy 3 and utilizing call-site based bytecode? |
|
You can still set system property "groovy.target.indy" to false or you can set optimization option "indy" to false. This will enable the old call site code generation. These default to true in Groovy 4+ and no separate artifacts are created or tested. |
|
Is my reading of https://groovy-lang.org/releasenotes/groovy-4.0.html#Groovy4.0-indy-only correct, that (there is written) with Groovy 4.0 only indy-code can be generated, and call-site based code cannot be generated? If my reading of that text is correct, is the text at the hyperlink also correct? |
Thanks to @dilyanpalauzov for raising the documentation inconsistency in PR #2319
Thanks to @dilyanpalauzov for raising the documentation inconsistency in PR #2319
|
@dilyanpalauzov Thanks for your contribution on this topic. There was some confusion in the existing documentation. Some of it was written when we optimistically assumed removing the last remnants of callsite code would be easy. We wrote it for a future codebase than has not yet been realised. There are some bits of the callsite code that are tricky to fully remove, and other bits we don't want to remove yet since they offer a decent performance improvement for some very specific use cases. It is ongoing work. In any case, I have updated the Groovy 4 release notes (and legacy indy.html) page and the javadoc in various places to hopefully now be clear and consistent. Thanks again. |
Consider applying also this patch. I think it is useful in eliminating no-indy cases, but I am not going to validate myself this assumption.
I think when searching with
all occurences should be evaluated, whether they can be deleted.
This probably is also irrelevant now from subprojects/performance/README.adoc: