version_129
What's Changed
- [Stack Switching] Unsubtyping: Handle continuation subtyping by @kripken in #8463
- [StackSwitching] Implementing partial cont.bind-ing by @kripken in #8464
- Fix Unsubtyping on array and struct cmpxchg by @tlively in #8469
- Fix propagation bug in Unsubtyping by @tlively in #8468
- Fix effects for AtomicFence by @tlively in #8465
- Remove coverage builder from CI by @tlively in #8471
- Fix NaN handling for some instructions by @stevenfontanella in #8472
- Stack switching validation by @tlively in #8467
- Update RMW fields indices in GTO by @tlively in #8474
- Fuzzer: Log exported globals by @kripken in #8466
- [Stack Switching] Trap on cont.bind of a null continuation by @kripken in #8477
- Fix feature set checking for GC RMWs by @tlively in #8480
- [multibyte] Add multibyte array store instructions. by @brendandahl in #8059
- Skip a testcase with non-utf8 names in it that trips up the fuzzer by @kripken in #8483
- Fix assertion in br_on_cast finalization by @tlively in #8476
- Add type validations for function imports by @stevenfontanella in #8478
- Fix OptimizeInstructions on unreachable GC RMWs by @tlively in #8485
- Add RMW tests to fuzzer ignore list by @tlively in #8481
- [Fuzzing] Do not clusterfuzz multibyte by @kripken in #8488
- GUFA: Don't misoptimize struct/array atomics by @kripken in #8484
- [NFC] Remove TypeUpdating::canHandleAsLocal by @tlively in #8490
- [Stack Switching] Generate continuation types in the fuzzer, and cont.bind to test them by @kripken in #8486
- [NFC] Rename "calling" in the fuzzer to "export" by @kripken in #8479
- [wasm-split] Move exclusive items to secondary modules by @aheejin in #8441
- Print and compare prototypes in fuzzer interpreter by @tlively in #8457
- Add .github/CODEOWNERS by @tlively in #8492
- Fix OptimizeInstructions for general Cmpxchg expected types by @tlively in #8495
- Trap on atomic.wait on an unshared memory by @kripken in #8497
- [wasm-split] Split globals' transitive global dependencies by @aheejin in #8442
- [Shared Everything] struct.wait on unshared should trap by @kripken in #8498
- Handle StructCmpxchg::expected in Heap2Local by @tlively in #8491
- Fix TypeMapper::getNewHeapType() on types being rebuilt by @kripken in #8499
- Add and use readLE/writeLE helpers by @sertonix in #8470
- [wasm-split] Remove unnecessary trampolines for ref.func initializers by @aheejin in #8443
- Fix scratch local when optimizing cmpxchg in Heap2Local by @tlively in #8496
- [wasm-split] Remove dead globals by @aheejin in #8505
- Remove use of deprecated emscripten setting:
EXPORT_EXCEPTION_HANDLING_HELPERSby @sbc100 in #8507 - [Multibyte] Handle ArrayStore in Precompute by @kripken in #8511
- Do not copy function annotations when copying expressions by @tlively in #8512
- [Stack Switching] Improve cont.bind fuzzing by @kripken in #8500
- More unsubtyping for cont.bind by @tlively in #8506
- [NFC] Skip new intrinsic test in fuzzer by @kripken in #8516
- TypeRefiningGUFA: Avoid bottom continuation casts by @kripken in #8513
- [NFC] CtorEval fuzzing: skip export names that may need escaping by @kripken in #8502
- Do not precompute RMW ops on GC types by @tlively in #8517
- [emscripten] Fix handleFatalError to match recent emscripten changes by @sbc100 in #8521
- Validate global imports by @stevenfontanella in #8487
- [multibyte] Add multibyte array load instructions. by @brendandahl in #8504
- Make table subtyping invariant by @stevenfontanella in #8489
- Improve distinct rec groups error message by @tlively in #8522
- Fix up RMW operand types in TypeRefining by @tlively in #8525
- [StackSwitching] Prune continuations in LegalizeAndPruneJSInterface by @kripken in #8523
- third_party/setup.py: fix wabt platform detection on Linux by @BilelGho in #8526
- Add support for non-nullable tables and init expressions by @pufferfish101007 in #8405
- Fix CHANGELOG.md after #8405 by @pufferfish101007 in #8527
- [jspi] Remove module splitting changes. by @brendandahl in #8529
- [Multibyte] Fix GUFA on multibyte reads of different types by @kripken in #8531
- Enable conversions.wast spec test by @stevenfontanella in #8528
- Remove redundant spec tests by @stevenfontanella in #8533
- Handle sharedness in Heap2Local's Array2Struct by @tlively in #8515
- [NFC] Fix logging functions in tests by @kripken in #8538
- Add an option for wasm-merge to write a split manifest by @tlively in #8534
- Remove unused wasm::alignAddr by @sertonix in #8543
- Add readBinaryWithFeatures to JS API by @ospencer in #8541
- Generate Struct RMW operations in the fuzzer by @tlively in #8535
- GUFA: Fix indirect return-call subtyping by @kripken in #8536
- [NFC] Handle atomic arrays in Heap2Local by @tlively in #8549
- Add contains() to custom containers and use where possible. NFC by @sbc100 in #8547
- feat(C & JS API)!: Add
BinaryenHasMemorySegmentby @spotandjake in #8286 - Update from C++17 to C++20 by @sbc100 in #8218
- Handle ArrayCmpxchg in Heap2Local by @tlively in #8551
- Handle module name collisions in MinifyImportsAndExports using a new output format by @kripken in #8550
- Validate RMW field types by @tlively in #8554
- Version 129 by @kripken in #8555
- Generate atomic array operations in the fuzzer by @tlively in #8545
- [Stack Switching] Fix ctor-eval handling of unhandled resumes by @kripken in #8556
- Stub out llvm::sys::fs::detail::directory_iterator_destruct for GCC 16 by @stbergmann in #8559
- Skip f32.wast on linux due to Alpine issue + add testing by @kripken in #8558
New Contributors
- @BilelGho made their first contribution in #8526
- @pufferfish101007 made their first contribution in #8405
- @stbergmann made their first contribution in #8559
Full Changelog: version_128...version_129