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

Add java option to ensure classes are hashed #14042

Merged
merged 2 commits into from
Dec 2, 2021

Conversation

EricYangIBM
Copy link
Contributor

  • Introduce java option -XX:[+|-]EnsureHashed:<class>,...
  • Store classes in table, tag them upon load
  • Inline allocator sets "has been hashed" bit for objects allocated of
    these classes
  • OOL allocator allocates and initializes the hash slot

Closes: #13029
Signed-off-by: Eric Yang eric.yang@ibm.com

* Introduce java option `-XX:[+|-]EnsureHashed:<class>,...`
* Store classes in table, tag them upon load
* Inline allocator sets "has been hashed" bit for objects allocated of
these classes
* OOL allocator allocates and initializes the hash slot

Closes: eclipse-openj9#13029
Signed-off-by: Eric Yang <eric.yang@ibm.com>
@EricYangIBM
Copy link
Contributor Author

The crash in #13939 appears to be fixed with the second commit. Investigation is still underway to determine the reason.

@tajila
Copy link
Contributor

tajila commented Nov 30, 2021

Can you open a new issue for the J9CLASS_IS_ENSUREHASHED change. And also put the issue in the comment.

@EricYangIBM
Copy link
Contributor Author

#14043 tracks the investigation

@EricYangIBM
Copy link
Contributor Author

Ran zOS and windows sanity.functional builds and all passed (tests that previously would have failed have passed). https://hyc-runtimes-jenkins.swg-devops.com/job/jvm.29.personal/30157/

@@ -3224,6 +3225,9 @@ typedef struct J9Class {
#define J9CLASS_PREPADDING_SIZE(clazz) 0
#endif /* defined(J9VM_OPT_VALHALLA_VALUE_TYPES) */

/* For the following, J9_ARE_ANY_BITS_SET fails on zOS, currently under investigation */
Copy link
Contributor

Choose a reason for hiding this comment

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

can you add the issue number to this comment

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@tajila
Copy link
Contributor

tajila commented Dec 1, 2021

Jenkins test sanity win jdk8

@tajila
Copy link
Contributor

tajila commented Dec 1, 2021

Jenkins test sanity,extended plinux jdk17

@tajila tajila merged commit d80f4de into eclipse-openj9:master Dec 2, 2021
@tajila
Copy link
Contributor

tajila commented Dec 2, 2021

@EricYangIBM Please make a PR for the 0.30 branch

@pshipton
Copy link
Member

pshipton commented Dec 2, 2021

We need the documentation PRs created for this. Both for https://github.com/eclipse-openj9/openj9-docs, including the release notes for 0.30.0, and also in https://github.com/eclipse-openj9/openj9/blob/master/doc/release-notes/0.30/0.30.md

@tajila
Copy link
Contributor

tajila commented Dec 2, 2021

The docs PR is here, eclipse-openj9/openj9-docs#827

@tajila
Copy link
Contributor

tajila commented Dec 2, 2021

@EricYangIBM Can you open a PR to add this to the release notes

EricYangIBM added a commit to EricYangIBM/openj9 that referenced this pull request Dec 2, 2021
@EricYangIBM
Copy link
Contributor Author

PR created

pshipton pushed a commit to pshipton/openj9 that referenced this pull request Jan 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

IsObjectHashed SCC entries
3 participants