openj9
openj9 copied to clipboard
AArch64: Implement dual TLH
This commit implements dual TLH for AArch64.
Jenkins test sanity alinux64,amac jdk17
Jenkins test sanity alinux64 jdk17
Related PR in OMR: https://github.com/eclipse/omr/pull/7243
Jenkins test sanity alinux64,amac jdk17
Jenkins test sanity alinux64,amac jdk17 depends eclipse/omr#7243
FYI @0xdaryl
Jenkins test sanity alinux64,amac jdk17
Jobs for sanity.functional tests failed with the following error:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 502: unexpected char: '\' @ line 502, column 70.
ROR: Cannot delete workspace :\s?Unable
^
I opened Issue #19696.
If I read the code correctly, this effectively enables dual TLH on AArch64. The second TLH was being created before based on the logic in DLLMain, but it was never used because the inline allocator logic was not implemented. Is that right?
Jenkins test sanity alinux64,amac jdk17
@0xdaryl Correct. That is the reason why I disabled DualTLH by default on AArch64 in January with https://github.com/eclipse/omr/pull/7243.
I changed this PR to the draft state because some tests in sanity.functional failed with this PR and with the -Xjit:enableDualTLH option.
https://openj9-jenkins.osuosl.org/job/Grinder/3666/
DualTLH used to work when I tested in January.
Jenkins test sanity alinux64,amac jdk11,jdk17
I ran sanity.functional jobs with Dual TLH enabled on internal servers, and they were all successful. This PR is ready for review.
- Java 11/17
- AArch64 Linux/macOS
I keep Dual TLH turned off by default on AArch64. You can enable it with -Xjit:enableDualTLH after this PR is merged.