Feedback / query on jextract for Windows 10
John Rose
john.r.rose at oracle.com
Mon Feb 1 04:35:06 UTC 2021
On Jan 28, 2021, at 2:05 PM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
>
> This approach is fully lazy: the `x` constant is only initialized when
> the `get_x` method is called, because the constant is defined in its
> own holder class, and that holder class is only referenced by the
> getter method. So this is both lazy, and constant-friendly.
This is one of the use cases for lazy statics. IMO a compelling
compilation story would be a new mechanism for tying a
static final to a condy CP entry, sort of like they are tied to
CONSTANT_String and CONSTANT_Integer CP entries today.
But these changes are always expensive and difficult.
In the case of lazies, we would want to upgrade the JVM
and the language in tandem. And we’d want to put in a
story for lazy non-statics, which is a can of worms.
One limited way to begin could be to add just the JVM
feature, just for statics, so that bytecode generator tools
could use it. That’s the thrust of JDK-8209964.
A risk there is that what we would build would be
not-quite-right for an eventual build-out through
the language.
https://bugs.openjdk.java.net/browse/JDK-8209964
— John
More information about the panama-dev
mailing list