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

[GR-53920] Use hashed lookup in the secondary supers array. #8934

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

graalvmbot
Copy link
Collaborator

This PR

  1. removes update of secondary supers cache. Now the only usage is comparing the offset of the cache field against _super_check_offset to determine if it is primary super or secondary super; https://github.com/openjdk/jdk/blob/4083255440cfbf39b9683ea88a433d71ec6111e7/src/hotspot/share/oops/klass.hpp#L132-L134
  2. ports hashed lookup in the secondary supers array;
  3. introduces an AMD64 match rule that replaces test with bit test to reduce size;
  4. depends on upstream PR 8331429: [JVMCI] Cleanup JVMCIRuntime allocation routines openjdk/jdk#19176

See TypeCheckSnippetUtils#checkSelfAndSupers for a summary of the hashed lookup
Original HotSpot PR openjdk/jdk#18309

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label May 16, 2024
@mur47x111
Copy link
Member

In preparation of secondary_super_cache removal, we are adapting the hashed lookup in the secondary supers array. Still, we have some code checking if super_check_offset is equal to offset of _secondary_super_cache.

@theRealAph It would be great if you could share your plan regarding the following 2 items:

In the future I'd like to delete the secondary super cache

  1. If this is not gonna happen in the foreseeable future, we will merge as is.

  2. Is there a plan to backport to 21u? We will maintain both versions if not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants