[webkit-changes] [WebKit/WebKit] 2ffa18: [JSC] Catch should preserve top expression stack o...

David Degazio noreply at github.com
Fri May 24 07:10:34 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2ffa1875acb5dd36fe6cd44c1636795e017b7731
      https://github.com/WebKit/WebKit/commit/2ffa1875acb5dd36fe6cd44c1636795e017b7731
  Author: David Degazio <d_degazio at apple.com>
  Date:   2024-05-24 (Fri, 24 May 2024)

  Changed paths:
    A JSTests/wasm/stress/catch-should-keep-alive-inline-parent-expression-stack.js
    M Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp

  Log Message:
  -----------
  [JSC] Catch should preserve top expression stack of inline parents in OMG
https://bugs.webkit.org/show_bug.cgi?id=271987
rdar://125145754

Reviewed by Justin Michaud.

This patch makes it so we include the top-level expression stack
(m_parser->expressionStack()) among the values we consider live when figuring
out which values need to be reloaded at a catch entrypoint. Previously, we only
considered the enclosed expression stacks buried in the control entries for
each inline parent, which only captures values live in enclosing blocks and not
the current block being executed.

* JSTests/wasm/stress/catch-should-keep-alive-inline-parent-expression-stack.js: Added.
(async test):
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::preparePatchpointForExceptions):
(JSC::Wasm::B3IRGenerator::emitCatchImpl):

Originally-landed-as: 272448.849 at safari-7618-branch (0b59e3f5e9ff). rdar://128550624
Canonical link: https://commits.webkit.org/279265@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list