WebAssembly / WebAssembly/wabt

Enforce disabled features in WastParser for extended-const and memory64?

Open
#2,235 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
8.1k
Forks
827
Avg merge
4d 6h
Merged PRs (30d)
18

Description

In some cases, WastParser rejects constructs that use disabled features (e.g. multi-memory, exceptions) and in some cases it appears to allow them (e.g. extended-const, memory64) even if disabled. (As seen in https://github.com/WebAssembly/wabt/pull/2234 where the lack of --enable-extended-const didn't affect wast2json.)

Do we think it's important for wat2wasm to reject these constructs if disabled (and if so, should the spec testsuite or our regression tests include these kinds of negative examples)?

Related to https://github.com/WebAssembly/wabt/issues/1837

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with WastParser and the feature flags used by wat2wasm and wast2json, then compare handling of extended-const and memory64 with multi-memory and exceptions. Review the related issue and PR, and check the spec testsuite and regression-test options. Done means the intended disabled-feature behavior is decided, enforced consistently, and covered by negative tests if required.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, wasm
Domain
compilers, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.