Skip to content

[multibyte] Disable multibyte load/store until interpreter is ready. - #8938

Merged
brendandahl merged 1 commit into
WebAssembly:mainfrom
brendandahl:multbyte-disable-extra-types
Jul 28, 2026
Merged

[multibyte] Disable multibyte load/store until interpreter is ready.#8938
brendandahl merged 1 commit into
WebAssembly:mainfrom
brendandahl:multbyte-disable-extra-types

Conversation

@brendandahl

Copy link
Copy Markdown
Collaborator

No description provided.

@brendandahl
brendandahl requested a review from kripken July 24, 2026 22:34
@brendandahl
brendandahl requested a review from a team as a code owner July 24, 2026 22:34
@brendandahl

Copy link
Copy Markdown
Collaborator Author

It may be a bit before I can land the interpreter support, so probably good to disable for now.

Comment thread src/wasm/wasm-validator.cpp Outdated
return element.packedType == Field::i8 || element.packedType == Field::i16 ||
(element.packedType == Field::NotPacked && element.type.isNumber());
// TODO: Expand once interpreter supports additional numeric types.
return element.packedType == Field::i8;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Another option is to disable this feature in the fuzzer? See DISALLOWED_FEATURES_IN_V8 in scripts/fuzz_opt.py.

But I don't feel strongly if this PR is simpler for you.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

multibyte is already in DISALLOWED_FEATURES_IN_V8. I guess I'd need to put i--disable-fp16 in CONSTANT_FEATURE_OPTS to not allow it at all in binaryen?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yes, I think that's right - the error is in binaryen's interpreter, not v8. But maybe run the fuzzer a little locally to verify that it fixes that? It doesn't take very long to find an error.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I.e. I would recommend running until you see an error, then apply the fix, then run that seed again with the fix to see it passes.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

On upstream/main, I see an error very quickly that doesn't look related to multibyte. I checked out my multibyte-array-expanded-types branch and it has been running for 20 minutes without an error. I'd say we just land the '--disable-multibyte' flag for now.

@brendandahl
brendandahl force-pushed the multbyte-disable-extra-types branch from 975a7e2 to 1f8c6a0 Compare July 28, 2026 18:40
@brendandahl brendandahl changed the title [multibyte] Disable expanded array types until interpreter is ready. [multibyte] Disable multibyte arrays until interpreter is ready. Jul 28, 2026
@brendandahl brendandahl changed the title [multibyte] Disable multibyte arrays until interpreter is ready. [multibyte] Disable multibyte load/store until interpreter is ready. Jul 28, 2026

@kripken kripken left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

sgtm

@brendandahl
brendandahl enabled auto-merge (squash) July 28, 2026 18:55
@brendandahl
brendandahl merged commit a570236 into WebAssembly:main Jul 28, 2026
16 checks passed
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