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

waffle: initial Bytecode Alliance-hosted version. #1

Merged
merged 382 commits into from
Sep 12, 2024
Merged
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Nov 22, 2022

  1. WIP.

    cfallin committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    32e5eb2 View commit details
    Browse the repository at this point in the history
  2. WIP.

    cfallin committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    15d45e1 View commit details
    Browse the repository at this point in the history
  3. WIP.

    cfallin committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    9e5d2fa View commit details
    Browse the repository at this point in the history
  4. WIP.

    cfallin committed Nov 22, 2022
    Configuration menu
    Copy the full SHA
    7b804b0 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2022

  1. WIP.

    cfallin committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    d954fa9 View commit details
    Browse the repository at this point in the history
  2. WIP.

    cfallin committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    abc46f1 View commit details
    Browse the repository at this point in the history
  3. WIP.

    cfallin committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    1fbbbc9 View commit details
    Browse the repository at this point in the history
  4. WIP.

    cfallin committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    6bb8a01 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2022

  1. Configuration menu
    Copy the full SHA
    04ecdb1 View commit details
    Browse the repository at this point in the history
  2. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    539af66 View commit details
    Browse the repository at this point in the history
  3. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    3bde79a View commit details
    Browse the repository at this point in the history
  4. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    e6963b8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1892d62 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3f8d424 View commit details
    Browse the repository at this point in the history
  7. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    a676310 View commit details
    Browse the repository at this point in the history
  8. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    5859930 View commit details
    Browse the repository at this point in the history
  9. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    d0ecd12 View commit details
    Browse the repository at this point in the history
  10. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    8744965 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    e9d4fe8 View commit details
    Browse the repository at this point in the history
  12. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    61105ea View commit details
    Browse the repository at this point in the history
  13. Upgrade fuzz-targets' deps

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    88bcc3d View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    26e7c7a View commit details
    Browse the repository at this point in the history
  15. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    6273e39 View commit details
    Browse the repository at this point in the history
  16. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    6373cfd View commit details
    Browse the repository at this point in the history
  17. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    a053396 View commit details
    Browse the repository at this point in the history
  18. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    349032b View commit details
    Browse the repository at this point in the history
  19. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    35ecc79 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    232b34f View commit details
    Browse the repository at this point in the history
  21. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    e549152 View commit details
    Browse the repository at this point in the history
  22. WIP.

    cfallin committed Nov 29, 2022
    Configuration menu
    Copy the full SHA
    5ee73ea View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. WIP.

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    9ce0d25 View commit details
    Browse the repository at this point in the history
  2. WIP.

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    5a6177b View commit details
    Browse the repository at this point in the history
  3. WIP.

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    2ec2de1 View commit details
    Browse the repository at this point in the history
  4. WIP.

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    4e3fb51 View commit details
    Browse the repository at this point in the history
  5. WIP.

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    8caba23 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    eafb4dc View commit details
    Browse the repository at this point in the history
  7. Bugfix: drop unused values.

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    3d102ac View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    52013a7 View commit details
    Browse the repository at this point in the history
  9. WIP: fuzz with loops too

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    dcc8148 View commit details
    Browse the repository at this point in the history
  10. Reachability bugfix.

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    0966fdf View commit details
    Browse the repository at this point in the history
  11. Bugfix in SSA construction.

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    7da027a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    50b8352 View commit details
    Browse the repository at this point in the history
  13. Bugfix

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    52db5b4 View commit details
    Browse the repository at this point in the history
  14. rm old binaryen stuff

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    bc53233 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    92a7486 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    1862a4c View commit details
    Browse the repository at this point in the history
  17. rename straightline_differential fuzz target to differential (as it n…

    …ow supports/generates loops too)
    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    8246367 View commit details
    Browse the repository at this point in the history
  18. Working single-pass regalloc.

    cfallin committed Nov 30, 2022
    Configuration menu
    Copy the full SHA
    75d4323 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2022

  1. fix regalloc

    cfallin committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    38591d9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1788a42 View commit details
    Browse the repository at this point in the history
  3. regalloc bugfix

    cfallin committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    4c90c8a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    84e16a5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    284be86 View commit details
    Browse the repository at this point in the history
  6. Fix regalloc issue

    cfallin committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    4b40e52 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9730254 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ae091d5 View commit details
    Browse the repository at this point in the history
  9. Parallelize with rayon

    cfallin committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    f83420b View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7a3e9ce View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2022

  1. Configuration menu
    Copy the full SHA
    510f833 View commit details
    Browse the repository at this point in the history
  2. Validator.

    cfallin committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    77141d2 View commit details
    Browse the repository at this point in the history
  3. WIP.

    cfallin committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    4140ed9 View commit details
    Browse the repository at this point in the history
  4. WIP.

    cfallin committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    5bdb4a1 View commit details
    Browse the repository at this point in the history
  5. Add maximal-SSA mode.

    cfallin committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    b6ce3ab View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2022

  1. README update.

    cfallin committed Dec 4, 2022
    Configuration menu
    Copy the full SHA
    77e053a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e83570d View commit details
    Browse the repository at this point in the history
  3. README update.

    cfallin committed Dec 4, 2022
    Configuration menu
    Copy the full SHA
    b76ffd5 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2023

  1. Configuration menu
    Copy the full SHA
    b35e083 View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2023

  1. cargo-fmt.

    cfallin committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    32a6cd2 View commit details
    Browse the repository at this point in the history
  2. Version 0.0.2.

    cfallin committed Feb 3, 2023
    Configuration menu
    Copy the full SHA
    56fa630 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2023

  1. Configuration menu
    Copy the full SHA
    c908463 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5b4279f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    eaa1f76 View commit details
    Browse the repository at this point in the history
  4. misc API updates

    cfallin committed Feb 7, 2023
    Configuration menu
    Copy the full SHA
    fd748dd View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2023

  1. Fix waffle-util build.

    cfallin committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    2d7e02d View commit details
    Browse the repository at this point in the history
  2. Version 0.0.2.

    cfallin committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    8f75137 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    332c0c6 View commit details
    Browse the repository at this point in the history
  4. Version 0.0.3.

    cfallin committed Feb 8, 2023
    Configuration menu
    Copy the full SHA
    6f3d04d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8d0dc93 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2023

  1. Configuration menu
    Copy the full SHA
    ceaa8ac View commit details
    Browse the repository at this point in the history
  2. Add missing ir/debug.rs.

    cfallin committed Feb 11, 2023
    Configuration menu
    Copy the full SHA
    75a6f9a View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2023

  1. Configuration menu
    Copy the full SHA
    0e958f5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f17164f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ec2a999 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2023

  1. Configuration menu
    Copy the full SHA
    5086202 View commit details
    Browse the repository at this point in the history
  2. Use patched version of gimli

    cfallin committed Feb 13, 2023
    Configuration menu
    Copy the full SHA
    19fc22d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    aac4666 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2023

  1. Add debug-loc info

    cfallin committed Feb 14, 2023
    Configuration menu
    Copy the full SHA
    19392d0 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'addr2line'

    cfallin committed Feb 14, 2023
    Configuration menu
    Copy the full SHA
    b24ca8d View commit details
    Browse the repository at this point in the history
  3. WIP.

    cfallin committed Feb 14, 2023
    Configuration menu
    Copy the full SHA
    ebfd420 View commit details
    Browse the repository at this point in the history
  4. WIP.

    cfallin committed Feb 14, 2023
    Configuration menu
    Copy the full SHA
    cfc7589 View commit details
    Browse the repository at this point in the history
  5. Show srclocs

    cfallin committed Feb 14, 2023
    Configuration menu
    Copy the full SHA
    df19820 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e23d19b View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2023

  1. Configuration menu
    Copy the full SHA
    4bbeb84 View commit details
    Browse the repository at this point in the history
  2. Working debug-locs

    cfallin committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    c999f99 View commit details
    Browse the repository at this point in the history
  3. DWARF addresses are relative to the start of the code section

    This partially reverts the previous commit.
    
    Also fix the logic in `DebugLocReader::get_loc`.
    philipc committed Feb 15, 2023
    Configuration menu
    Copy the full SHA
    5470e80 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1 from philipc/debug-loc

    DWARF addresses are relative to the start of the code section
    cfallin authored Feb 15, 2023
    Configuration menu
    Copy the full SHA
    d7c5dc9 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2023

  1. Configuration menu
    Copy the full SHA
    0e2e5bf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7d8017c View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2023

  1. Avoid recursion in stackify.

    This commit rewrites `stackify` (Ramsey control-flow algorithm) with
    explicit-stack control flow, using a state-machine stack, rather than
    direct recursion. This avoids stack overflow for large function bodies.
    cfallin committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    79b4e71 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    de5c990 View commit details
    Browse the repository at this point in the history
  3. Version 0.0.5.

    cfallin committed Feb 22, 2023
    Configuration menu
    Copy the full SHA
    e751174 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    928c43b View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2023

  1. WIP interpreter.

    cfallin committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    0d35c06 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    58c89bb View commit details
    Browse the repository at this point in the history
  3. Working interpreter

    cfallin committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    49a907d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c01e079 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d6dbc0e View commit details
    Browse the repository at this point in the history
  6. fix const_eval for opts

    cfallin committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    7614a38 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e73ce71 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    870244f View commit details
    Browse the repository at this point in the history
  9. fix min/max NaN behavior

    cfallin committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    95b0400 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0f42e16 View commit details
    Browse the repository at this point in the history
  11. Add some more WASI stubs

    cfallin committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    8600c1f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    6dbdefc View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    5c48a0a View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    20ea31c View commit details
    Browse the repository at this point in the history
  15. Add tracing.

    cfallin committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    055193e View commit details
    Browse the repository at this point in the history
  16. Version 0.0.6.

    cfallin committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    573667f View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2023

  1. Configuration menu
    Copy the full SHA
    2ff4d80 View commit details
    Browse the repository at this point in the history
  2. Fix opt_diff

    cfallin committed Feb 25, 2023
    Configuration menu
    Copy the full SHA
    ac2556a View commit details
    Browse the repository at this point in the history
  3. fix overflow

    cfallin committed Feb 25, 2023
    Configuration menu
    Copy the full SHA
    dc54149 View commit details
    Browse the repository at this point in the history
  4. fix opt_diff fuzzbugs

    cfallin committed Feb 25, 2023
    Configuration menu
    Copy the full SHA
    fb719ff View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8d0067e View commit details
    Browse the repository at this point in the history
  6. add missing fuzzing.rs

    cfallin committed Feb 25, 2023
    Configuration menu
    Copy the full SHA
    958269b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    63f5eca View commit details
    Browse the repository at this point in the history
  8. some tweaks to localify

    cfallin committed Feb 25, 2023
    Configuration menu
    Copy the full SHA
    9031e74 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f81b5bf View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2023

  1. Configuration menu
    Copy the full SHA
    9c84c7d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f18c624 View commit details
    Browse the repository at this point in the history
  3. WIP.

    cfallin committed Feb 26, 2023
    Configuration menu
    Copy the full SHA
    b76e775 View commit details
    Browse the repository at this point in the history
  4. bugfixes

    cfallin committed Feb 26, 2023
    Configuration menu
    Copy the full SHA
    ce09169 View commit details
    Browse the repository at this point in the history
  5. Version 0.0.7.

    cfallin committed Feb 26, 2023
    Configuration menu
    Copy the full SHA
    b675f04 View commit details
    Browse the repository at this point in the history
  6. Bugfix to localify: properly handle workqueue dedup (actually remove …

    …from set when popping from queue)
    cfallin committed Feb 26, 2023
    Configuration menu
    Copy the full SHA
    8145c6b View commit details
    Browse the repository at this point in the history
  7. Version 0.0.8.

    cfallin committed Feb 26, 2023
    Configuration menu
    Copy the full SHA
    233f88a View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2023

  1. Configuration menu
    Copy the full SHA
    816ed81 View commit details
    Browse the repository at this point in the history
  2. Fix fuzz build

    cfallin committed Feb 28, 2023
    Configuration menu
    Copy the full SHA
    02795d7 View commit details
    Browse the repository at this point in the history
  3. Version 0.0.9

    cfallin committed Feb 28, 2023
    Configuration menu
    Copy the full SHA
    8e86312 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2023

  1. Support expanded but not modified (dirty) functions.

    This allows using a function body as a source for a transform without
    necessarily requiring a recompilation as well.
    cfallin committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    610c971 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2713240 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1c0b296 View commit details
    Browse the repository at this point in the history
  4. Format.

    cfallin committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    6508cc9 View commit details
    Browse the repository at this point in the history
  5. add check script.

    cfallin committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    93fecce View commit details
    Browse the repository at this point in the history
  6. Version 0.0.10.

    cfallin committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    2d5d327 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2023

  1. Configuration menu
    Copy the full SHA
    ce333b3 View commit details
    Browse the repository at this point in the history
  2. Version 0.0.11.

    cfallin committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    21b2907 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2023

  1. Configuration menu
    Copy the full SHA
    9f4310f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9c838dc View commit details
    Browse the repository at this point in the history
  3. Version 0.0.12.

    cfallin committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    6623c8f View commit details
    Browse the repository at this point in the history
  4. Support for edge-splitting.

    cfallin committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    b198c65 View commit details
    Browse the repository at this point in the history
  5. Version 0.0.13.

    cfallin committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    e84a536 View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2023

  1. Configuration menu
    Copy the full SHA
    1311069 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2023

  1. Configuration menu
    Copy the full SHA
    9dde72e View commit details
    Browse the repository at this point in the history
  2. Version 0.0.14.

    cfallin committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    0e2ec8c View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2023

  1. Configuration menu
    Copy the full SHA
    dc177bf View commit details
    Browse the repository at this point in the history
  2. Version 0.0.15.

    cfallin committed Apr 9, 2023
    Configuration menu
    Copy the full SHA
    1f2c931 View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2023

  1. Support compilation of individual functions before serializing whole …

    …module, to keep memory usage down
    cfallin committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    e4da0ca View commit details
    Browse the repository at this point in the history
  2. Version 0.0.15.

    cfallin committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    9d1ef7f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8759659 View commit details
    Browse the repository at this point in the history
  4. Version 0.0.16.

    cfallin committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    c70bfa2 View commit details
    Browse the repository at this point in the history
  5. Fix "already-compiled function" functionality: avoid mismatch in whet…

    …her length field is included between CodeSection::raw() and function().
    cfallin committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    73d8789 View commit details
    Browse the repository at this point in the history
  6. Version 0.0.17.

    cfallin committed Apr 14, 2023
    Configuration menu
    Copy the full SHA
    d544bf0 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2023

  1. Configuration menu
    Copy the full SHA
    9f6f0cf View commit details
    Browse the repository at this point in the history
  2. Version 0.0.18.

    cfallin committed Apr 15, 2023
    Configuration menu
    Copy the full SHA
    fa228fd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0e0d330 View commit details
    Browse the repository at this point in the history
  4. Version 0.0.19.

    cfallin committed Apr 15, 2023
    Configuration menu
    Copy the full SHA
    b9e1f54 View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2023

  1. Configuration menu
    Copy the full SHA
    b9b02ee View commit details
    Browse the repository at this point in the history
  2. Version 0.0.20.

    cfallin committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    174ca4c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2c84906 View commit details
    Browse the repository at this point in the history
  4. Version 0.0.21.

    cfallin committed Apr 17, 2023
    Configuration menu
    Copy the full SHA
    4fd635e View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2023

  1. Configuration menu
    Copy the full SHA
    dab1810 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d710719 View commit details
    Browse the repository at this point in the history
  3. Version 0.0.22.

    cfallin committed Apr 19, 2023
    Configuration menu
    Copy the full SHA
    1878db1 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. Configuration menu
    Copy the full SHA
    cea6e7a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aaaf725 View commit details
    Browse the repository at this point in the history
  3. Version bump to 0.0.23.

    cfallin committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    6603189 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. Configuration menu
    Copy the full SHA
    8e42abe View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0691e48 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e567f0d View commit details
    Browse the repository at this point in the history
  4. Bump to v0.0.24.

    cfallin committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    11992bb View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fcbd32e View commit details
    Browse the repository at this point in the history
  6. Handle typed funcrefs.

    cfallin committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    f0b378a View commit details
    Browse the repository at this point in the history
  7. Handle typed funcrefs.

    cfallin committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    86be4c0 View commit details
    Browse the repository at this point in the history
  8. Version 0.0.25.

    cfallin committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    d258d6a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b2967e0 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2024

  1. Fuzzing: upgrade to latest deps and fix build.

    Fixes #7.
    cfallin committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    213edc1 View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2024

  1. Configuration menu
    Copy the full SHA
    43da507 View commit details
    Browse the repository at this point in the history
  2. Version bump to 0.0.26.

    cfallin committed Apr 1, 2024
    Configuration menu
    Copy the full SHA
    fbb0a34 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2024

  1. Support RefIsNull operator.

    cfallin committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    4eaf0ce View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7b297b5 View commit details
    Browse the repository at this point in the history
  3. Version 0.0.27.

    cfallin committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    ab0cc59 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2024

  1. Configuration menu
    Copy the full SHA
    70ca5d2 View commit details
    Browse the repository at this point in the history
  2. Version 0.0.28.

    cfallin committed Apr 13, 2024
    Configuration menu
    Copy the full SHA
    9ee25e8 View commit details
    Browse the repository at this point in the history
  3. Add support for ref.null.

    cfallin committed Apr 13, 2024
    Configuration menu
    Copy the full SHA
    8b1e77a View commit details
    Browse the repository at this point in the history
  4. v0.0.29.

    cfallin committed Apr 13, 2024
    Configuration menu
    Copy the full SHA
    b7fac20 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6ebdd7e View commit details
    Browse the repository at this point in the history
  6. Version 0.0.30.

    cfallin committed Apr 13, 2024
    Configuration menu
    Copy the full SHA
    fc95fd1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    caa588e View commit details
    Browse the repository at this point in the history
  8. v0.0.31.

    cfallin committed Apr 13, 2024
    Configuration menu
    Copy the full SHA
    6c49d7c View commit details
    Browse the repository at this point in the history

Commits on May 7, 2024

  1. Configuration menu
    Copy the full SHA
    cfbd3e4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    780fdee View commit details
    Browse the repository at this point in the history

Commits on May 9, 2024

  1. Version 0.0.32.

    cfallin committed May 9, 2024
    Configuration menu
    Copy the full SHA
    d6c2dc7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bde6286 View commit details
    Browse the repository at this point in the history
  3. Version 0.0.33.

    cfallin committed May 9, 2024
    Configuration menu
    Copy the full SHA
    da95682 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2024

  1. Configuration menu
    Copy the full SHA
    58b326f View commit details
    Browse the repository at this point in the history

Commits on May 14, 2024

  1. Configuration menu
    Copy the full SHA
    d14b124 View commit details
    Browse the repository at this point in the history
  2. Version 0.0.34.

    cfallin committed May 14, 2024
    Configuration menu
    Copy the full SHA
    2155cf2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    941dfe0 View commit details
    Browse the repository at this point in the history
  4. Version 0.0.35.

    cfallin committed May 14, 2024
    Configuration menu
    Copy the full SHA
    a1607c2 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2024

  1. Configuration menu
    Copy the full SHA
    a656246 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #9 from primoly/end-endless

    Prevent const prop of const op
    cfallin authored May 18, 2024
    Configuration menu
    Copy the full SHA
    670c7cf View commit details
    Browse the repository at this point in the history
  3. Version 0.0.36.

    cfallin committed May 18, 2024
    Configuration menu
    Copy the full SHA
    5becafa View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2024

  1. Configuration menu
    Copy the full SHA
    b9087f0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7314bc6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    59101d7 View commit details
    Browse the repository at this point in the history
  4. Merge.

    cfallin committed Jun 22, 2024
    Configuration menu
    Copy the full SHA
    3ea971a View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2024

  1. Configuration menu
    Copy the full SHA
    79729e0 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. Configuration menu
    Copy the full SHA
    03e9eea View commit details
    Browse the repository at this point in the history
  2. Merge pull request #12 from bjorn3/misc_changes

    Add memory.copy and memory.fill support
    cfallin authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    1ed5504 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a31efd9 View commit details
    Browse the repository at this point in the history
  4. Version 0.0.37.

    cfallin committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    327b9da View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. Configuration menu
    Copy the full SHA
    17e6e15 View commit details
    Browse the repository at this point in the history
  2. Version 0.0.38.

    cfallin committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    38ccf40 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    07f6051 View commit details
    Browse the repository at this point in the history
  4. Version 0.0.39.

    cfallin committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    348a325 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2024

  1. Support irreducible control flow by converting it to reducible contro…

    …l flow.
    
    Wasm supports expressing only reducible control flow via its structured
    control flow mechanisms (forward-branches out of blocks and
    backward-branches to loop headers, in addition to structured if/else
    diamonds).
    
    waffle accepts an arbitrary CFG as its IR, and this CFG is perfectly
    capable of expressing irreducible CFGs. For example, the canonical
    irreducible CFG
    
    ```plain
          1
        /   \
       /     \
      2 ----> 3
        <---
    ```
    
    (that is, the graph with edges 1->2, 1->3, 2->3, 3->2) cannot be
    expressed in Wasm as direct control flow. Instead, a compiler that
    targets Wasm needs to either use indirection -- `i32` values as target
    tags that are fed into switches (`br_table`s), usually -- or code
    duplication. For the former case, we could build a loop body out of
    blocks 2 and 3 that accepts a header parameter that selects between 2 or
    3; this "lowered loop" iterates twice as many times as the original
    loop. For the latter case, we could duplicate either block 2 or 3 and
    then "fall into" the main loop, for example by doing:
    
    ```plain
             1
        _  /   \
       | \/     \
       | 2 <---- 3'
       | |
       | |
       | 3
       \_/
    
    ```
    
    The advantage of the label-variable approach is that it does not
    duplicate code; it adds a small constant overhead to code size per
    irreducible loop instead. The disadvantage is that it adds runtime cost,
    which is a potentially significant performance cliff if an unexpected
    irreducible side-edge is added for some reason. In addition, it has some
    significant implementation complexity:
    
    - All entrances to a loop are indirected through the one header block.
      When we support blockparams and perform the reducibility transform on
      the CFG, we need to find the *union* of all blockparam signatures of
      all side-entrances and rewrite block targets to use "default"
      zero-values for the gaps (unused parameters for the
      dynamically-selected target). This is very awkward, and potentially
      impossible when we have non-nullable values (e.g. GC refs) in the
      future.
    
    - When a side-entrance to a *nested* loop occurs, we need to indirect
      through multiple header blocks. This adds complexity to the transform
      too because we need to "fixpoint" the transform somehow: the branch
      targets of the header block's `br_table` also need to be transformed.
    
    In this PR, instead, I opted for the code-duplication approach. It has
    at most 2x code-size overhead (duplicate all but the header block in a
    loop, if we have a side-entrance one block later in the loop body), but
    has zero runtime overhead. In addition, it avoids the complexities
    above.
    
    This PR adds the Reducifier, a transform whose approach is described in
    a module-level comment in `backend/reducify.rs`. In brief, the idea is
    to:
    
    1. Compute an approximate loop-nest over the CFG, computing "header
       sets" for every block that describe the loops the blocks belong to.
       We do this by first computing a reverse postorder, then finding RPO
       backedges (edges from rpo-index `i` to rpo-index `j` such that `j <=
       i`), adding the header (target with lower RPO index) to all
       header-sets "under" the edge (rpo-indices from `i` to `j` inclusive),
       then fixing up loop nesting in one final pass over the header-sets in
       RPO order with a stack that tracks the nest, "pushing out" the extent
       of outer loops to cover inner loops that start within their extent.
    
       In the above canonical irreducible CFG, blocks 2 and 3 will have
       header-sets of either `{2}` or `{3}`, depending on which of the two
       valid reverse postorders the initial RPO computation chose (which
       depends on which out-edges are visited first).
    
    2. Find irreducible edges given these header sets: these are edges from
       `B1` to `B2` such that header `H` is in `headers(B2)` but not
       `headers(B1)`, and `H != B2`. (Intuitively, a "side-entrance".) If no
       such edges exist, the CFG is reducible; early-out without
       modifications.
    
    3. Perform a context-sensitive code-duplication pass. We define a
       *context set* per block that is like the header set, but the dual: it
       denotes "side-entered loops". (Formally, moving across an edge
       `(From, To)`, we compute `ToContext = headers(To) & !{To} &
       (FromContext U !headers(From))`: this adds to the context when we
       side-enter a loop, and removes from the context when we jump back to
       the loop header or leave the loop.)
    
       As part of this, we perform a limited "max-SSA" pass on a set of
       cut-blocks computed as side-entrances and exits (that is, exactly
       blocks where we change context), so that when we duplicate code, we
       don't have to reason about fixing up SSA across stapled-together
       duplicated code fragments.
    
    This results in a reducible CFG, which we can then compile with the rest
    of waffle's backend.
    cfallin committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    7b1764d View commit details
    Browse the repository at this point in the history
  2. Add fuzzing target.

    cfallin committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    e43f983 View commit details
    Browse the repository at this point in the history
  3. Add warning about code-size blowup in the worst case to doc-comment.

    Per @sunfishcode's offline comment -- the tradeoff makes sense for us
    for now but we should explicitly document / warn about it.
    cfallin committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    14ca4b9 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2024

  1. Review feedback on fuzzer.

    cfallin committed Aug 31, 2024
    Configuration menu
    Copy the full SHA
    cb208dd View commit details
    Browse the repository at this point in the history
  2. Merge pull request #13 from cfallin/reducifier

    Support irreducible control flow by converting it to reducible control flow.
    cfallin authored Aug 31, 2024
    Configuration menu
    Copy the full SHA
    704ff54 View commit details
    Browse the repository at this point in the history
  3. Version 0.0.40.

    cfallin committed Aug 31, 2024
    Configuration menu
    Copy the full SHA
    24dfa79 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2024

  1. Configuration menu
    Copy the full SHA
    3c4dd0c View commit details
    Browse the repository at this point in the history
  2. Version 0.0.41.

    cfallin committed Sep 3, 2024
    Configuration menu
    Copy the full SHA
    badae2e View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2024

  1. Configuration menu
    Copy the full SHA
    b69360a View commit details
    Browse the repository at this point in the history
  2. max-SSA: rewrite to explicit recursion stack.

    This avoids crashing on very long function bodies.
    cfallin committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    f76d2d9 View commit details
    Browse the repository at this point in the history
  3. Version 0.0.42.

    cfallin committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    df83b34 View commit details
    Browse the repository at this point in the history
  4. Interpreter: remove half-baked wasip1 implementation, and toplevel co…

    …mmand.
    
    "Every Wasm compiler library contains an incomplete, bug-ridden
    implementation of half of wasip1", the saying goes. (Or was that about
    Lisp implementations?) Let's remove the very hacky implementation
    here: it was only useful to debug waffle during bringup but shouldn't
    really exist as a user-facing functionality at this point.
    cfallin committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    2d873dc View commit details
    Browse the repository at this point in the history
  5. Remove trace-op functionality.

    This was useful to help debugging at one point, especially
    differential comparison of before- and after-transform function
    bodies, but it's an awkward way of doing it (with a new kind of value
    definition in the IR) and is largely unused at this point, so let's
    remove it.
    cfallin committed Sep 4, 2024
    Configuration menu
    Copy the full SHA
    25ec5e4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    fed4795 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. Configuration menu
    Copy the full SHA
    29dbe1a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    64ef2f8 View commit details
    Browse the repository at this point in the history
  3. Documentation updates.

    cfallin committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    b39ce42 View commit details
    Browse the repository at this point in the history
  4. Add basic GitHub CI config.

    cfallin committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    650ea0e View commit details
    Browse the repository at this point in the history
  5. README update.

    cfallin committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    20f97b5 View commit details
    Browse the repository at this point in the history
  6. Version 0.0.43.

    cfallin committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    3431896 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8cd949a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0824fcb View commit details
    Browse the repository at this point in the history
  9. Version 0.0.44.

    cfallin committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    aed0d36 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    a4d5aca View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. Review feedback.

    cfallin committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    47f507a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    662aa8e View commit details
    Browse the repository at this point in the history