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

[wasm] Add incremental build support #57113

Merged
merged 30 commits into from
Aug 17, 2021
Merged

Commits on Aug 10, 2021

  1. Update tasks to support incremental build

    MonoAOTCompiler:
    - Compiles assemblies to .bc files.
    - Hashes for the .bc files are stored in a json cache file.
    - And uses .depfile generated by mono-aot-cross, to figure out the
      if any of the dependencies have changed
    - Writes out the actual .bc file only if the assembly, or it's
      dependencies changed
    
    EmccCompile.cs: Support a `%(Dependencies)` metadata on the source
    files, to compile the files only when needed.
    radical committed Aug 10, 2021
    Configuration menu
    Copy the full SHA
    c3a8919 View commit details
    Browse the repository at this point in the history
  2. Update wasm targets

    radical committed Aug 10, 2021
    Configuration menu
    Copy the full SHA
    344deec View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b4c9083 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a795ef8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3658e9e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    85046e6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    af1c40a View commit details
    Browse the repository at this point in the history
  8. fix build

    radical committed Aug 10, 2021
    Configuration menu
    Copy the full SHA
    a4bc1eb View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2021

  1. Configuration menu
    Copy the full SHA
    c8b75fb View commit details
    Browse the repository at this point in the history
  2. Make the method used with MemberData, static

    otherwise xunit just shows a cryptic:
    ```
        Wasm.Build.Tests.RebuildTests.NoOpRebuild [STARTING]
        Wasm.Build.Tests.RebuildTests.NoOpRebuild [FAIL]
          System.NotSupportedException : Specified method is not supported.
    ```
    radical committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    f9aac56 View commit details
    Browse the repository at this point in the history
  3. add back builds

    radical committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    1d031c0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3835327 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    41976d7 View commit details
    Browse the repository at this point in the history
  6. Revert "add back builds"

    This reverts commit 1d031c0.
    radical committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    b008130 View commit details
    Browse the repository at this point in the history
  7. Split up native rebuild tests

    radical committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    088a165 View commit details
    Browse the repository at this point in the history
  8. remove non-test classes

    radical committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    2147a14 View commit details
    Browse the repository at this point in the history
  9. add back builds

    This reverts commit b008130.
    radical committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    ef97caf View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3ee3c95 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    2ab2c7f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    fd62b00 View commit details
    Browse the repository at this point in the history
  13. MonoAOTCompiler: handle the case where we have a cache entry, but the…

    … file on disk doesn't exist
    radical committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    4ee7572 View commit details
    Browse the repository at this point in the history
  14. Fix aot compiler task output

    radical committed Aug 11, 2021
    Configuration menu
    Copy the full SHA
    f4f587c View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2021

  1. MonoAOTCompiler: Use hashes of .bc files instead of assemblies

    `--depfile` isn't supported on aot config used by android, and fails
    with:
    
    ```
    * Assertion at /__w/1/s/src/mono/mono/mini/aot-compiler.c:14216, condition `acfg->aot_opts.llvm_only && acfg->aot_opts.asm_only && acfg->aot_opts.llvm_outfile' not met
    ```
    
    Instead, use hashes of the .bc.tmp files generated, with the existing
    .bc files.
    radical committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    6ecf7b2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    402c1e4 View commit details
    Browse the repository at this point in the history
  3. MonoAOTCompiler: Support more than one output file

    The earlier implementation assumed that there would be only one output
    file. But in some cases (eg. android), there are more than one, like
    `.s`, `.dll-llvm.o`.
    radical committed Aug 12, 2021
    Configuration menu
    Copy the full SHA
    609d9b3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cc7742c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3bcd3bf View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2021

  1. Configuration menu
    Copy the full SHA
    d11f69f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6b933cf View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2021

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