-
Notifications
You must be signed in to change notification settings - Fork 5.3k
JIT: fix arm32 dump/disasm of references to async resume info #123814
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
Conversation
Co-authored-by: jakobbotsch <7887810+jakobbotsch@users.noreply.github.com>
Co-authored-by: jakobbotsch <7887810+jakobbotsch@users.noreply.github.com>
…s-table data Co-authored-by: jakobbotsch <7887810+jakobbotsch@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes an ARM32 JIT dump/disasm assertion failure that occurs when encountering async resume info references. The IF_T2_N2 instruction format is used for both block address tables (jump tables) and async resume info references, but the dump logic only expected block address tables.
Changes:
- Removes assertion that fails when
jdscis null (async resume info case) - Adds conditional logic to handle both block address tables and async resume info appropriately
- Updates NULL to nullptr for C++ style consistency
Description
ARM32 JIT dump/disasm asserts when encountering async resume info references. The
IF_T2_N2instruction format handles both block address tables and async resume info, but the dump logic only expected the former.Changes
emitarm.cpp:7308: Was failing whenjdscis null (async resume info case)jdscis nullnullptrinstead ofNULL: Modern C++ style throughout the code blockRWD%02zuformat for async resume info (whenjdscis null) andJ_M%03u_DS%02uformat for block address tables (whenjdscis not null)jdscis null vs non-nullThe fix preserves all existing dump behavior for block address tables while allowing async resume info to display properly without assertion.
Affects dump/disasm output only; no impact on code generation.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.