-
Notifications
You must be signed in to change notification settings - Fork 706
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
Errors in CRC-32C accleration on Z #16560
Comments
Here is the full jitdump from the segfault corresponding to the disassembly above: jitdump.20230113.134230.57555.0004.txt |
Spencer-Comin
added a commit
to Spencer-Comin/openj9
that referenced
this issue
Jan 19, 2023
The first branch to OOL of the acceleration implementation and the merge point from OOL were not included in the ICF, and the correct dependencies were not attached to the merge point. This opened up the possibility of register spills being inserted that would be missed if the first branch to OOL is taken. This patch resolves this issue by wrapping the acceleration implementation from the first branch to OOL to the end in an outer ICF with the appropriate dependencies attached at the end. Fixes: eclipse-openj9#16560 Signed-off-by: Spencer Comin <spencer.comin@ibm.com>
Spencer-Comin
added a commit
to Spencer-Comin/openj9
that referenced
this issue
Jan 30, 2023
The first branch to OOL of the acceleration implementation and the merge point from OOL were not included in the ICF, and the correct dependencies were not attached to the merge point. This opened up the possibility of register spills being inserted that would be missed if the first branch to OOL is taken. This patch resolves this issue by extending the ICF from the first branch to OOL to the merge point and moving all the dependencies to the merge point. Fixes: eclipse-openj9#16560 Signed-off-by: Spencer Comin <spencer.comin@ibm.com>
joransiu
added a commit
that referenced
this issue
Jan 31, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
While benchmarking (see benchmark below) the changes at #16379, I found a ~2.5% error rate in my 15B testcase. Out of 200 tests, I got 3
NullPointerException
s and 2 segfaults. Looking into the coredumps produced @r30shah and I were able to isolate the cause of the segfaults (both segfaults failed identically). I've annotated the disassembly to illustrate the problem:It looks like it should be a matter of fixing some register dependencies and internal control flow to prevent the problematic spill from happening where it does. Hopefully resolving the segfaults will also resolve the
NullPointerException
s as well.Here is the benchmark I used:
The text was updated successfully, but these errors were encountered: