Skip to content

(0.54) Add spill registers in walkTransitionFrame() #22333

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

Merged

Conversation

ehsankianifar
Copy link
Contributor

@ehsankianifar ehsankianifar commented Jul 30, 2025

There are cases that the stack walker walk jit frames in transition frame e.g. when a virtual thread fails to enter a synchronized method. We still walk the register map in transition frame if there are object slots in registers but we don't update the register table with spilled registers which is causing failure.
This PR add procedure to update register table with spilled register when it is in method prologue for synchronized method cases.

Closes: #22079
Backport of #22303

@ehsankianifar ehsankianifar requested a review from dsouzai as a code owner July 30, 2025 13:31
@tajila
Copy link
Contributor

tajila commented Jul 30, 2025

@ehsankianifar You need to rebase your changes on the 0.54 branch. Also please add a link to the original change in your commit message.

@tajila tajila changed the title Update spill registers (0.54) Update spill registers Jul 30, 2025
@ehsankianifar ehsankianifar force-pushed the UpdateSpillRegisters branch from 4ab7d0e to 7c02e15 Compare July 30, 2025 13:36
@ehsankianifar ehsankianifar force-pushed the UpdateSpillRegisters branch from 7c02e15 to f8df009 Compare July 30, 2025 13:41
@ehsankianifar ehsankianifar reopened this Jul 30, 2025
@ehsankianifar ehsankianifar changed the title (0.54) Update spill registers (0.54) Add spill registers in walkTransitionFrame() Jul 30, 2025
@ehsankianifar ehsankianifar force-pushed the UpdateSpillRegisters branch from 0f69090 to fac3ca0 Compare July 30, 2025 13:51
@ehsankianifar
Copy link
Contributor Author

This PR fix #22079 issue.
The change was merged in master in #22303

@ehsankianifar
Copy link
Contributor Author

@tajila thanks for your comment.
I rebased and added the link in the commit message.

There are cases that the stack walker walk jit frames in transition
frame e.g. when a virtual thread fails to enter a synchronized method.
We still walk the register map in transition frame if there are object
slots in registers but we don't update the register table with spilled
registers which is causing failure.
This PR add procedure to update register table with spilled register
when it is in method prologue for synchronized method cases.

Closes: eclipse-openj9#22079
Backport of: eclipse-openj9#22303
Signed-off-by: Ehsan Kiani Far <[email protected]>
@ehsankianifar ehsankianifar force-pushed the UpdateSpillRegisters branch from fac3ca0 to c248dd8 Compare July 30, 2025 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants