Bug 253457

Summary: Correctly discard stack values when adding else to unreachable in BBQ JIT
Product: WebKit Reporter: David Degazio <d_degazio>
Component: WebAssemblyAssignee: David Degazio <d_degazio>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

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.