[webkit-changes] [WebKit/WebKit] c3a1ba: Enable wasm tail calls

Keith Miller noreply at github.com
Thu Aug 1 10:05:59 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c3a1babc1e75481763edce5a9e46cb66c15639b8
      https://github.com/WebKit/WebKit/commit/c3a1babc1e75481763edce5a9e46cb66c15639b8
  Author: Keith Miller <keith_miller at apple.com>
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
    A JSTests/wasm/stress/tail-call-indirect-parameters-on-stack.js
    A JSTests/wasm/stress/tail-call-parameters-on-stack.js
    M JSTests/wasm/stress/tail-call.js
    M Source/JavaScriptCore/runtime/OptionsList.h

  Log Message:
  -----------
  Enable wasm tail calls
https://bugs.webkit.org/show_bug.cgi?id=277445
rdar://131410516

Reviewed by Yusuke Suzuki.

This patch adds two new test files that were failing before. It also removes the testStackOverflow case from tail-call.js because
it incorrectly assumed that a tail call would always be possible even when at the soft stack limit.

* JSTests/wasm/stress/tail-call-indirect-parameters-on-stack.js: Added.
(from.string_appeared_here.import.as.assert.from.string_appeared_here.let.wat.module.type.f2_sig.func.param.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.result.i32.table.1.funcref.func.f1.export.string_appeared_here.param.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.result.i32.local.0.local.1.local.2.local.3.local.4.local.5.local.6.local.7.local.8.local.9.local.10.i32.const.100.i32.const.200.i32.const.300.i32.const.0.return_call_indirect.type.f2_sig.func.f2.type.f2_sig.local.0.local.1.local.2.local.3.local.4.local.5.local.6.local.7.local.8.local.9.local.10.local.11.local.12.local.13.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.elem.i32.const.0.f2.async test):
* JSTests/wasm/stress/tail-call-parameters-on-stack.js: Added.
(from.string_appeared_here.import.as.assert.from.string_appeared_here.let.wat.module.func.f1.export.string_appeared_here.param.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.result.i32.local.0.local.1.local.2.local.3.local.4.local.5.local.6.local.7.local.8.local.9.local.10.i32.const.100.i32.const.200.i32.const.300.return_call.f2.func.f2.param.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.i32.result.i32.local.0.local.1.local.2.local.3.local.4.local.5.local.6.local.7.local.8.local.9.local.10.local.11.local.12.local.13.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.i32.add.async test):
* JSTests/wasm/stress/tail-call.js:
(const.testStackOverflow): Deleted.

Canonical link: https://commits.webkit.org/281716@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