linghengqian / graalvm-trace-metadata-smoketest

This warehouse is my personal temporary warehouse so that I can record the dynamics of a series of issues in time. All unit test designs should be submitted to https://github.com/oracle/graalvm-reachability-metadata as much as possible.
0 stars 0 forks source link

Some plan to write additional unit tests for the class library need GraalVM Reachability Metadata #1

Open linghengqian opened 1 year ago

linghengqian commented 1 year ago
linghengqian commented 1 year ago
linghengqian commented 1 year ago
linghengqian commented 1 year ago
linghengqian commented 1 year ago
linghengqian commented 1 year ago
linghengqian commented 1 year ago

Yes, we're also looking into agent support. Agents that manipulate bytecode should be easy to support as NI operates on bytecode. Other agents may be harder, but not impossible to support. vojjovmay have more details.

And don't worry, I know you're supportive! I'd just like to make sure the community isn't misinformed: just because NI doesn't support something today doesn't mean it can't in the future.

There's still plenty of work ahead of us. I would say that JVMTI agents are unlikely in the near future. Also, it is questionable how much of the JVMTI would make sense in the case of Native Image as there are significant differences in behavior (e.g., class loading).

For Java agents, they should work now as long as you don't modify the code executed at build time (e.g., JDK and the Native Image itself) in ways that would not work on the machine that does the image build.

If we guard generated code that is executed at build time with ImageInfo.inImageRuntimeCode() all should work. Happy to help with concrete cases over our slack channel.

linghengqian commented 7 months ago