On Nov 13, 2019, at 11:24 AM, Claes Redestad <claes.redes...@oracle.com> wrote: > >> Thanks for suggesting that Vladimir. That indeed is how the existing code >> is organized. > > Yes, not very startup friendly... ;-)
No, but it’s maintainer friendly. We can walk and chew gum at the same time. Is it time to think about a jlink plugin which inlines simple method calls? Perhaps we need to wait until we understand (semi-)closed-world packaging. Long, long ago, a very early version of javac did inlining of simple method calls. That functionality was removed when we realized that this was placing “getfield” instructions in classes which didn’t have access to the referenced private fields, causing code to break. It also messed up the binary compatibility story required to make sense of independently recompiled class files. How innocent we were back then. We won’t make those same mistakes again, but we could try the same trick again, more carefully, in jlink or some other static packaging workflow. — John