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

LUDCL refresh points #552

Merged
merged 1 commit into from
Aug 15, 2022
Merged

LUDCL refresh points #552

merged 1 commit into from
Aug 15, 2022

Conversation

rmnattas
Copy link
Contributor

@rmnattas rmnattas commented Jul 19, 2022

In ObjectInputStream, the latest user defined class loader (LUDCL) is cached. The cache is refreshed at different points in the code by walking the stack, some of the points are called more ofter than where the LUDCL is actually needed (in resolveClass()). This causes the cache to be refreshed and perform a stackWalk more times than LUDCL is used.

This fix removes the points of refresh outside resolveClass() so a stackWalk is performed at most as many times the LUDCL is needed, or less if already cached.

eclipse-openj9/openj9#15570

There exist different points where LUDCL is refreshed by a stackWalk
where it's not needed, this commit removes these cases and stackWalking
only when it needs to.
Also convert a couple of tap characters to spaces to stay consistent
with the rest of the project.

Signed-off-by: Abdulrahman Alattas <rmnattas@gmail.com>
@pshipton
Copy link
Member

What test suites have been run on this change already?

@rmnattas
Copy link
Contributor Author

rmnattas commented Jul 19, 2022

All sanity, currently running extended and special.(internal)
Anything else from my end?

Base sanity (before fix)
Fix sanity
Fix extended (extended.system passed all tests, failure is for some post tests activity)
Grinder for the one failure in sanity.(internal)

@pshipton pshipton merged commit 0a6330a into ibmruntimes:openj9 Aug 15, 2022
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.

2 participants