-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate Native Image API changes in GraalVM 22.2+ #25943
Comments
There are two cases of internal API usage which recently popped up breaking a potential future API contract (worked-around for now by this PR):
|
Unless I'm mistaken,
Yeah, that's used to enable registering lambdas for serialization. I'll investigate these 2 use case to see if there are ways to do the same via public APIs, otherwise I'll create issue(s) in oracle/graal. |
I think these ^ fall within the "JNI / Resource / Proxy / Serialization registration" section in the discussion. A public API version to register resources, serialization and others are required. The discussion already highlights this issue, so it should be solved with the API work. |
oracle/graal#4783 has some more details about what replacements are for some currently internal API usage. Particularly: |
The annotations (except |
@jerboaa, @galderz while at it you could also remove |
Thanks for pointing this out @olpaw. #27267 takes care of it. |
Re: |
FYI I replied to this in #25944 (comment) to move the discussion under the more specific issue. |
With #27960 there would be no more usage of
|
@dmlloyd could you comment in regards to |
Yes, the semantics would not change so it is okay to remove. |
@galderz is it worth to work on "-H: options are not public API" in this cycle? As I commented above I see no big value in it - especially no need to rush it. I certainly don't mind if you all want to keep trying that but I'm wondering if it could be broken out into a separate issue, so to allow deferring it, or at least prioritize differently. |
It's not very realistic that this can be completed in it's entirety. For example |
+1 IMHO we should just try and minimize the use of |
I'll split the |
I've split |
I think this has been already handled. If there is remaining work, better open new issues as title would be misleading. |
Description
Adjust Quarkus to upcoming Native Image API changes. An initial discussion happened during the Native Image Committer Community Meeting on 2nd of June.
Analysis
The following required changes were noted during the discussion:
AutomaticFeature
toFeature
and then pass in features in use via--feature
.AlwaysInline
won't be exposed in the API so we should stop using it.io/quarkus/runtime/graal/ConfigurationSubstitutions
andio/quarkus/jdbc/h2/runtime/graal/RemoteOnly
are the only remaining users.[ ]Work split into Stop relying on-H:
options are not public API. During the meeting @christianwimmer said some of those should become API (e.g.--blah
option) and others might no longer be used (e.g. We should stop disablingParseOnce
with 22.2 because memory footprint there has been improved, see Remove use of-H:-ParseOnce
in GraalVM 22.2 #25944 for more details). He said he'd investigate Quarkus' use of those are create an issue with recommendations.native-image
's-H:
options #27784FYI @zakkak @jerboaa @n1hility @Sanne @geoand
The text was updated successfully, but these errors were encountered: