Skip to content

Set known object index for condy and method type table entry symrefs #22235

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

Merged
merged 1 commit into from
Jul 21, 2025

Conversation

jdmpapin
Copy link
Contributor

These symbols satisfy isFixedObjectRef(), allowing in some circumstances for the JIT to attempt to load and dereference them at compile time. Soon the compiler will start to keep track within each compilation of where each known object was found, and having known object indices for these symrefs will facilitate the tracking. The dereferencing paths also handle known objects. They need to be aware of isFixedObjectRef() only because there are some for which the known object index is missing. So setting known object indices on these symrefs as appropriate will allow that code to be simplified (as a follow-up).

@jdmpapin jdmpapin requested a review from hzongaro July 16, 2025 16:00
@jdmpapin
Copy link
Contributor Author

@hzongaro, could you please review?

@hzongaro hzongaro self-assigned this Jul 16, 2025
These symbols satisfy isFixedObjectRef(), allowing in some circumstances
for the JIT to attempt to load and dereference them at compile time.
Soon the compiler will start to keep track within each compilation of
where each known object was found, and having known object indices for
these symrefs will facilitate the tracking. The dereferencing paths also
handle known objects. They need to be aware of isFixedObjectRef() only
because there are some for which the known object index is missing. So
setting known object indices on these symrefs as appropriate will allow
that code to be simplified (as a follow-up).
@jdmpapin
Copy link
Contributor Author

Updated to use getOrCreateKnownObjectTable() instead of getKnownObjectTable() in findOrCreateConstantDynamicSymbol()

Copy link
Member

@hzongaro hzongaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks!

@hzongaro
Copy link
Member

Jenkins test sanity.functional,sanity.openjdk all jdk8,jdk17,jdk21

@jdmpapin
Copy link
Contributor Author

The 64-bit Windows JDK21 build failure is #17693

Jenkins test sanity.functional,sanity.openjdk win jdk21

@jdmpapin
Copy link
Contributor Author

jdmpapin commented Jul 17, 2025

Test_openjdk8_j9_sanity.functional_x86-32_windows_Personal: cmdLineTester_J9securityTests_SE80_0 failed with NoClassDefFoundError: org.objectweb.asm.ClassWriter in testJSR292Permissions. This has been reported with JITServer recently in #14538 (comment) and #14538 (comment)


Test_openjdk21_j9_sanity.functional_s390x_linux_Personal: Known issue #13684

+++ j9vm.test.jni.CriticalRegionTest: +++
...
Exception in thread "main" java.lang.RuntimeException: testAcquireAndSleep_Threads8: not all threads completed before the timeout (5/8)
...

@jdmpapin
Copy link
Contributor Author

All tests have passed except for the aforementioned known issues

@hzongaro hzongaro merged commit f4c006a into eclipse-openj9:master Jul 21, 2025
72 of 75 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants