Skip to content

Conversation

@egrimley-arm
Copy link
Contributor

In mangling instrs that use the stolen register, mark the instrs that restore the register state as mangling epilogue.

In recreate_app_state_from_ilist emulate those instructions to advance the app state to after the app instr.

This fixes #5426, for which a test is added, but there are probably other translation failures on AArch64, and similar failures on other architectures.

The test uses a new function in tools.c, adaptive_retry, which is abstracted from signal_pre_syscall.c.

Issue: #3307, #3329, #5426.
Fixes #5426

In mangling instrs that use the stolen register, mark the instrs
that restore the register state as mangling epilogue.

In recreate_app_state_from_ilist emulate those instructions to
advance the app state to after the app instr.

This fixes #5426, for which a test is added, but there are probably
other translation failures on AArch64, and similar failures on other
architectures.

The test uses a new function, adaptive_retry, in tools.c, which
is abstracted from signal_pre_syscall.c.

Issue: #3307, #3329, #5426.
Fixes #5426

Change-Id: I825dfbe7188625777abf7b2f26e7170ec7ed2601
@egrimley-arm egrimley-arm self-assigned this Oct 21, 2025
Change-Id: I5544deeaa2dafdc8eeed094291796a118f112a81
Change-Id: I3f0b12b7be47751f5751a883fb57de8016ee9b3c
…ing(...))

Change-Id: I0ea30133c9c7f34797f6d688beefebfe5829d6ab
Change-Id: Id028f0343ef97404823b9b70769a16f7c66608e6
Change-Id: If2ff8a8b2410c2827e7617c9daf1628681419817
Copy link
Contributor

@derekbruening derekbruening left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The translation pointing to the instr instead of post-instr seems the main issue: not sure how x86 gets it to the post instr.

Change-Id: I9b4257da1e72252c71d5c2f052b81f7f8445b49f
Change-Id: Iaac6f5bdd4af6386d64d8ab62b1dbfe1a6c1b728
Change-Id: Ic23f090639e060033d24b74248378f7d35dba180
Change-Id: I4a22d7563b60d0d19203fcf868d07e6a7d473e82
Change-Id: Ica9217176fb8367ce03ba2b96e5541e6f37aef22
@derekbruening
Copy link
Contributor

Sorry for the delay, I was out all last week.

@egrimley-arm egrimley-arm merged commit 8b2ab10 into master Nov 18, 2025
30 of 32 checks passed
@egrimley-arm egrimley-arm deleted the i5426-aarch64-translate branch November 18, 2025 16:29
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.

[AArch64][jdk8] Incorrect handling synchro signal in case mangling epilogue pc

3 participants