Bug 253457 - Correctly discard stack values when adding else to unreachable in BBQ JIT
Summary: Correctly discard stack values when adding else to unreachable in BBQ JIT
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebAssembly (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: David Degazio
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-03-06 13:44 PST by David Degazio
Modified: 2023-03-06 19:05 PST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Degazio 2023-03-06 13:44:38 PST
rdar://106292162

Currently in BBQ JIT, when we end an unreachable block with an else, we don't actually flush any values to the stack or prepare to enter another block, since that code cannot be entered and thus can never pass valid results to a successor. But, we do need to make sure we correctly destroy all the values on the stack before starting to generate the else, in order to restore the correct state of the register allocator.
Comment 1 David Degazio 2023-03-06 13:58:06 PST
Pull request: https://github.com/WebKit/WebKit/pull/11130
Comment 2 EWS 2023-03-06 19:05:41 PST
Committed 261304@main (95d4c84bd6e9): <https://commits.webkit.org/261304@main>

Reviewed commits have been landed. Closing PR #11130 and removing active labels.