-
Notifications
You must be signed in to change notification settings - Fork 738
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
Move location of incGlobalClassUnloadID() #21167
base: master
Are you sure you want to change the base?
Conversation
incGlobalClassUnloadID() function is used to increment a counter every time a class unload event happens. This is used by the interpreter profiler to determine if it needs to re-examine the validity of the entries it looks at. If there was no class unload operation since the last time it looked at an entry, it doesn't have to check again. Currently, incGlobalClassUnloadID() is called in jitHookAnonClassesUnload() and jitHookClassLoaderUnload(), but we only have to do it once per class unload cycle. This commit moves the location of incGlobalClassUnloadID() to jitHookClassesUnload() which is called only once per class unload cycle. Signed-off-by: Marius <[email protected]>
jenkins test sanity all jdk21 |
Given the code in https://github.com/eclipse-openj9/openj9/blob/master/runtime/gc_base/ClassLoaderManager.cpp#L350-L366, is there a risk we won't increment the counter if only say anonymous classes are unloaded? |
classUnloadCount includes anonymousClassUnloadCount, so hook is triggered regardless |
On alinux64 we have a JITServer test failure:
We tried to destroy the server, but it didn't go away. Strange. For openjdk tests on xlinux we have a failure for
A repeat of the failing test here: https://openj9-jenkins.osuosl.org/job/Grinder/4118/ passed |
Windows failed:
14:13:51 jdk_lang_1 - Test results: passed: 785; failed: 5; error: 146 14:13:51 jdk_security1_1 - Test results: passed: 215; failed: 1 |
jenkins test openjdk win64 jdk21 |
jenkins test sanity.openjdk win64 jdk21 |
jenkins test sanity.openjdk win jdk21 |
All openjdk win64 tests passed on retrial. |
incGlobalClassUnloadID() function is used to increment a counter every time a class unload event happens. This is used by the interpreter profiler to determine if it needs to re-examine the validity of the entries it looks at. If there was no class unload operation since the last time it looked at an entry, it doesn't have to check again.
Currently, incGlobalClassUnloadID() is called in jitHookAnonClassesUnload() and jitHookClassLoaderUnload(), but we only have to do it once per class unload cycle. This commit moves the location of incGlobalClassUnloadID() to jitHookClassesUnload() which is called only once per class unload cycle.