Skip to content

Handle decompile paths when mounting a vthread #22191

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
merged 1 commit into from
Jul 9, 2025

Conversation

tajila
Copy link
Contributor

@tajila tajila commented Jul 7, 2025

When decompileing a blocked continuation, the return address will be patched to point to the decompile helper when we attempt to enter the continuation. This helper assumes the JIT resolve frame is still on the stack. Instead of popping the resolve frame just fetch the new address and leave the frame in place. The decompile helper will pop the frame.

@tajila tajila requested a review from gacholio July 7, 2025 20:47
@tajila
Copy link
Contributor Author

tajila commented Jul 7, 2025

jenkins test sanity amac jdk24

@tajila
Copy link
Contributor Author

tajila commented Jul 7, 2025

jenkins test sanity xlinux jdk24

@tajila
Copy link
Contributor Author

tajila commented Jul 8, 2025

@tajila
Copy link
Contributor Author

tajila commented Jul 8, 2025

jenkins test sanity amac jdk24

@tajila
Copy link
Contributor Author

tajila commented Jul 8, 2025

jenkins test sanity amac jdk24

@gacholio
Copy link
Contributor

gacholio commented Jul 8, 2025

I think this may be too specific - there could be reasons for decompile other than a decompile all.

@gacholio
Copy link
Contributor

gacholio commented Jul 8, 2025

I'm wondering if we could check the decompile stack on remount instead of using the flag. This would also handle the case of a decompile being added and removed before the continuation is remounted.

If the top of the decompile stack points to the resolve frame PC, then we are returning to a decompile.

@tajila tajila force-pushed the vt3 branch 6 times, most recently from 74fe811 to 095d605 Compare July 8, 2025 16:59
@tajila
Copy link
Contributor Author

tajila commented Jul 8, 2025

@gacholio changes ready for another look

@tajila tajila force-pushed the vt3 branch 2 times, most recently from 21a71ef to e19a89f Compare July 8, 2025 20:04
When decompileing a blocked continuation, the return address will be
patched to point to the decompile helper when we attempt to enter the
continuation. This helper assumes the JIT resolve frame is still on the
stack. Instead of popping the resolve frame just jump to the return
address and leave the frame in place. The decompile helper will pop the
frame.

Signed-off-by: tajila <[email protected]>
@gacholio
Copy link
Contributor

gacholio commented Jul 9, 2025

jenkins test sanity amac jdk24

@gacholio
Copy link
Contributor

gacholio commented Jul 9, 2025

@tajila I think this is ready to go.

@tajila tajila marked this pull request as ready for review July 9, 2025 18:58
@gacholio gacholio merged commit 15f9fbf into eclipse-openj9:master Jul 9, 2025
6 checks passed
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.

2 participants