Skip to content
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

Graal support - Simplifies native image manipulation when bytebuddy as a dependency #1586

Merged
merged 1 commit into from
Jan 31, 2024

Conversation

dreamlike-ocean
Copy link
Contributor

When a library A depends on bytebuddy and a program B depends on A, before compiling B with graalvm's native image, the user needs to use the java agent to generate predefined classes files to support the dynamic class generation in the JavaDispatcher of bytebuddy in A. Then the user needs to ensure that Runtime $Version is initialized during build time to ensure that the predefined classes of graal function normally.
If any step is missing, it will start generating the java5 version of the proxy class after native without corresponding to the product of predefined classes.
Even after successfully native according to the above process, when the user upgrades the jdk, they have to regenerate the predefined classes that A depends on. I think this should be the responsibility of the author of library A.

Therefore, this PR will fix the corresponding bytecode generated version to jdk5, so that the author of lib A can directly package the corresponding'net/bytebuddy/utility/Invoker $Dispatcher ' `s predefined classes files into the jar, thus reducing the difficulty of native

… java5 to support the prefined classed feature of native-image
@dreamlike-ocean dreamlike-ocean changed the title To enhance the prefined classed feature of native-image Graal support - Simplifies native image manipulation when bytebuddy as a dependency Jan 30, 2024
@raphw
Copy link
Owner

raphw commented Jan 31, 2024

Good point and there's nothing in the dispatcher class files that would need a different version.

@raphw raphw merged commit 1f582c9 into raphw:master Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants