Skip to content
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

Implement 0-len/drop spec changes in bulk memory #2529

Merged
merged 5 commits into from
Dec 17, 2019

Commits on Dec 15, 2019

  1. Implement 0-len/drop spec changes in bulk memory

    This implements recent bulk memory spec changes
    (WebAssembly/bulk-memory-operations#126) in Binaryen. Now `data.drop` is
    equivalent to shrinking a segment size to 0, and dropping already
    dropped segments or active segments (which are thought to be dropped in
    the beginning) is treated as a no-op. And all bounds checking is
    performed in advance, so partial copying/filling/initializing does not
    occur.
    
    I tried to implement `visitDataDrop` in the interpreter as
    `segment.data.clear();`, which is exactly what the revised spec says. I
    didn't end up doing that because this also deletes all contents from
    active segments, and there are cases we shouldn't do that:
    - `wasm-ctor-eval` shouldn't delete active segments, because it will
      store the changed contents back into segments
    - When `--fuzz-exec` is given to `wasm-opt`, it runs the module and
      compare the execution call results before and after transformations.
      But if running a module will nullify all active segments, applying
      any transformation to the module or re-running it does not make any
      sense.
    
    Fixes WebAssembly#2528.
    aheejin committed Dec 15, 2019
    Configuration menu
    Copy the full SHA
    bd41a46 View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2019

  1. Fixes

    aheejin committed Dec 16, 2019
    Configuration menu
    Copy the full SHA
    0a2b805 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    806c8ba View commit details
    Browse the repository at this point in the history
  3. Typo fix

    aheejin committed Dec 16, 2019
    Configuration menu
    Copy the full SHA
    b73c0e9 View commit details
    Browse the repository at this point in the history
  4. Cosmetic change

    aheejin committed Dec 16, 2019
    Configuration menu
    Copy the full SHA
    635b874 View commit details
    Browse the repository at this point in the history