Fix acquireVMaccessIfNeeded for Non-Compiler Threads - #19260
Conversation
|
@mpirvu Could you please review? |
is one legimate place where the app thread does not have VMAccess, but startPCIfAlreadyCompiled tries to acquire VMAccess via TR::VMAccessCriticalSection.
|
mpirvu
left a comment
There was a problem hiding this comment.
The code needs to take into the account the fact that TR_DisableNoVMAccess is an option that only applies to compilation threads. Looks good otherwise.
Whena a non-comp thread invokes acquireVMaccessIfNeeded, the function silently returns, because it assumes that a non-comp thread should already have had VMAccess. This is particularly problematic when using TR::VMAccessCriticalSection, as it is not at all obvious that the current thread may not actually have VMAccess. Furthermore, there are legitmate circusmtances when a non-comp thread will not have VMAccess and will need to use this API to acquire it. Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
|
jenkins test sanity all jdk17 |
|
zlinux failure due to #17474 |
|
xlinux errors are due to #19114 |
|
aarch64 tests aborted for no apparent reason: |
|
The build failed because |
|
jenkins test sanity alinux64 jdk17 |
|
Test failure on aarch64: |
Not sure if these are hangs, or the machine is just too slow. |
|
For aarch64 cent8, it seems like these machines became slow. These are the aarch64 jobs |
|
It's a network problem and I've disabled the problematic machines for now. jenkins test sanity alinux64 jdk17 |
|
Merging since there are no issues cause this PR. |
When a non-comp thread invokes
acquireVMaccessIfNeeded, the functionsilently returns, because it assumes that a non-comp thread should
already have had VMAccess. This is particularly problematic when using
TR::VMAccessCriticalSection, as it is not at all obvious that thecurrent thread may not actually have VMAccess. Furthermore, there are
legitmate circusmtances when a non-comp thread will not have VMAccess
Additionally, this PR includes:
compileMethodTR::VMAccessCriticalSectionindumpIPBCDataCallGraphEnables #18982