Content-Length: 319881 | pFad | http://github.com/AssemblyScript/assemblyscript/pull/2927

B9 chore: update Binaryen by CountBleck · Pull Request #2927 · AssemblyScript/assemblyscript · GitHub
Skip to content

chore: update Binaryen #2927

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

CountBleck
Copy link
Member

Changes proposed in this pull request:
⯈ Updating Binaryen to v123

  • I've read the contributing guidelines
  • I've added my name and email to the NOTICE file

@CountBleck
Copy link
Member Author

CountBleck commented May 30, 2025

This is a draft because I need to update binaryen.js's types so that the code typechecks correctly. (Edit: I am stupid and only had to update the glue types.)
Also, some of the changes to *.release.wat should be looked over...

)
(func $start:function-call~anonymous|2 (param $0 i32) (param $1 i32) (result i32)
local.get $0
local.get $1
i32.add
)
(func $start:function-call~fn2|4 (param $0 i32) (result i32)
i32.const 1
local.get $0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, this definitely got worse.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe these two cases are caused by the same issue (the dae/DeadArgumentElimination pass not doing its job? I'm not fully sure).

I did a bisection to find the Binaryen commit that's responsible. (I tested on the call-optional WAT file in S-expr format, but the issue applies here as well.) It looks like WebAssembly/binaryen#7135 is the cause, as that PR treats any funcref as being possibly leaked to the outside world...

How should we proceed? I don't think marking the module as closed-world is accurate...

@CountBleck CountBleck marked this pull request as ready for review June 1, 2025 07:50
Some new features are being added, although only relaxed SIMD is in a
usable state. stringref has been almost obliterated, and only
functionality compatible with JS string builtins is being kept.

Binaryen also seems to be generating more nops and blocks than usual.
Also, due to WebAssembly/binaryen#7135, dead arguments aren't being
eliminated when a function reference is made (ref.func), which affects
the optimized output of call-optional, function-call, and other tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/AssemblyScript/assemblyscript/pull/2927

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy