1. 01 7月, 2022 3 次提交
  2. 30 6月, 2022 2 次提交
    • P
      [wasm] Preparation for public API in System.Runtime.InteropServices.JavaScript (#71332) · 4823df3d
      Pavel Savara 提交于
      *    new ref assembly System.Runtime.InteropServices.JavaScript - empty
      *    new src assembly System.Runtime.InteropServices.JavaScript
              moved all implementation from System.Private.Runtime.InteropServices.JavaScript into it
      *    added IMPORTS, EXPORTS to js API
      *    refactored setup_managed_proxy and teardown_managed_proxy in JS
      *    added more range assert for working with wasm memory in JS
      4823df3d
    • A
      [wasm] Wasm.Build.Tests - fixes for tests failing on CI (#70704) · ce6d3dff
      Ankit Jain 提交于
      * [wasm][nodejs] Ensure that stdout/stderr have been flushed out before exiting
      
      When the results xml is large, and we are writing the base64
      representation in one line, `node` can exit before all the output gets
      flushed out. This results in xharness getting an incomplete
      `STARTRESULTXML <len> <base64> ... ` with missing `ENDRESULTXML`, thus
      no `testResults.xml` is generated.
      
      This can be seen in the case of `Microsoft.Extensions.Primitives.Tests`
      which has xml ~140KB, and `System.Memory.Tests` which has a xml ~13MB.
      
      So, wait for the two streams to be flushed out, with a timeout of 3secs.
      
      * [wasm] Wasm.Build.Tests: improve reading output from processes
      
      - Fix to call `WaitForExit()` once `WaitForExit(int)` returns, which
        ensures that all the async handlers have been run.
      
      - Also, for non-browser xharness runs use the emitted `wasm-console.log`
        as the output, so we don't depend on xharness' stdout.
      
      * Wasm.Build.Tests: Run the crypto test only with browser. Other cases are covered in library tests
      
      * Enable WasmTemplateTests.ConsolePublishAndRun
      
      Fixes https://github.com/dotnet/runtime/issues/70675
      
      * Wasm.Build.Tests: avoid unncessary copy when building locally
      
      Copy sdk for testing workloads only on CI.
      
      * Address feedback from @kg
      
      * Remove timeout on flushing stdout/stderr streams, for console templates, IOW, user apps
      ce6d3dff
  3. 29 6月, 2022 4 次提交
    • D
      [main] Update dependencies from dotnet/arcade (#71129) · e68359b7
      dotnet-maestro[bot] 提交于
      * Update dependencies from https://github.com/dotnet/arcade build 20220620.8
      
      Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
       From Version 7.0.0-beta.22316.2 -> To Version 7.0.0-beta.22320.8
      
      * Update dependencies from https://github.com/dotnet/arcade build 20220622.3
      
      Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
       From Version 7.0.0-beta.22316.2 -> To Version 7.0.0-beta.22322.3
      
      * Update dependencies from https://github.com/dotnet/arcade build 20220623.2
      
      Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
       From Version 7.0.0-beta.22316.2 -> To Version 7.0.0-beta.22323.2
      
      * Update dependencies from https://github.com/dotnet/arcade build 20220624.1
      
      Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
       From Version 7.0.0-beta.22316.2 -> To Version 7.0.0-beta.22324.1
      
      * Update dependencies from https://github.com/dotnet/arcade build 20220627.1
      
      Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
       From Version 7.0.0-beta.22316.2 -> To Version 7.0.0-beta.22327.1
      
      * Update dependencies from https://github.com/dotnet/arcade build 20220627.2
      
      Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
       From Version 7.0.0-beta.22316.2 -> To Version 7.0.0-beta.22327.2
      
      * Upgrade paths with TFMs to net7.0
      
      Arcade upgraded to 7.0 in https://github.com/dotnet/arcade/pull/9127Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      Co-authored-by: NPremek Vysoky <premek.vysoky@microsoft.com>
      Co-authored-by: NAlexander Köplinger <alex.koeplinger@outlook.com>
      e68359b7
    • M
      [wasm] Fix loading NPM packages on NodeJS tests (#71377) · e7f1765f
      Marek Fišera 提交于
      * Fix package type in HTTP and WebSocket tests.
      * Move loading of tests npm packages to onConfigLoaded.
      e7f1765f
    • R
      [wasm] Add Vector128.OnesComplement SIMD intrinsic (#71384) · 3fb9511b
      Radek Doulik 提交于
      * [wasm] Add Vector128.OnesComplement SIMD intrinsic
      
      Add wasm specific implementation of `Vector128.OnesComplement` method.
      
      Example compilation output. Managed:
      
          static Vector128<double> SimdTest3(Vector128<double> input)
          {
              return Vector128.OnesComplement(input);
          }
      
      IR:
      
          BB3:                                              ; preds = %BB2
            %cast_to_4_x_i32 = bitcast <2 x double> %simd_vtype to <4 x i32>
            %wasm_not = xor <4 x i32> %cast_to_4_x_i32, <i32 -1, i32 -1, i32 -1, i32 -1>
            %cast_back = bitcast <4 x i32> %wasm_not to <2 x double>
            br label %BB4
      
      wasm - Debug configuration:
      
          (func Wasm_Console_V8_CJS_Sample_Test_SimdTest3_System_Runtime_Intrinsics_Vector128_1_double(param $0 i32, $1 i32, $2 i32))
           local $3 i32
           local $4 i32
           local $5 v128
           local $6 v128
           0x00cf955a: global.get $__stack_pointer
           0x00cf955c: local.set $3
           0x00cf955e: i32.const 16
           0x00cf9560: local.set $4
           0x00cf9562: local.get $3
           0x00cf9564: local.get $4
           0x00cf9566: i32.sub
           0x00cf9567: drop
           0x00cf9568: local.get $1
           0x00cf956a: v128.load align:4    [SIMD]
           0x00cf956e: local.set $5
           0x00cf9570: local.get $5
           0x00cf9572: v128.not    [SIMD]
           0x00cf9574: local.set $6
           0x00cf9576: local.get $6
           0x00cf9578: drop
           0x00cf9579: local.get $0
           0x00cf957b: local.get $6
           0x00cf957d: v128.store    [SIMD]
           0x00cf9581: return
      
      wasm - Release configuration:
      
          (func idx:7866(param $0 i32, $1 i32, $2 i32))
           0x00185b37: local.get $0
           0x00185b39: local.get $1
           0x00185b3b: v128.load align:4    [SIMD]
           0x00185b3f: v128.not    [SIMD]
           0x00185b41: v128.store    [SIMD]
      
      * Apply feedback
      
      * Add `--enable-simd` to `wasm-opt` again
      
      * Fix build
      3fb9511b
    • S
      Enable IDE0170 (Simplify property pattern) and IDE0200 (remove unnecessary... · 9f7bf799
      Stephen Toub 提交于
      Enable IDE0170 (Simplify property pattern) and IDE0200 (remove unnecessary lambda expression) (#71011)
      
      As part of updating the config file with recently added rules, also turn on a few of them.
      9f7bf799
  4. 28 6月, 2022 1 次提交
  5. 25 6月, 2022 1 次提交
  6. 24 6月, 2022 1 次提交
  7. 23 6月, 2022 1 次提交
  8. 22 6月, 2022 3 次提交
  9. 21 6月, 2022 1 次提交
  10. 19 6月, 2022 1 次提交
  11. 17 6月, 2022 1 次提交
  12. 16 6月, 2022 1 次提交
  13. 15 6月, 2022 3 次提交
  14. 14 6月, 2022 2 次提交
  15. 10 6月, 2022 3 次提交
    • A
      [wasm] Add infrastructure for building WebWorkers (#70220) · e026f392
      Aleksey Kliger (λgeek) 提交于
      * [wasm] Add infrastructure for building WebWorkers
      
      - Modify the rollup.config.js script to look for webworkers and to
        roll them up into IIFE js files in the ${nativeBinDir}/src artifacts
        directory
         - A "webworker" is any file in `src/mono/wasm/runtime/workers/` that
      looks like `dotnet-{workerName}-worker.ts` or `.js`.  It can also
      include other files (ideally by defining them in files in
      subdirectories for that worker
      `src/mono/wasm/runtime/workers/dotnet-{workerName}-worker/utility.ts`)
         - Other changes still have to be done manually in wasm.proj, and
         elsewhere in order to place the bundled JS file in the right place.
      
      - Adds a tsconfig.json for the workers to typecheck using the
      DedicatedWorkerGlobalScope and without the DOM globals (`window`, etc)
      
      - This doesn't convert dotnet-crypto-worker.js into TypeScript, but it
      does turn on TypeScript checking using a JSDoc comment.
        To convert that file to typescript:
        1. rename `workers/dotnet-crypto-worker.js` to
        `workers/dotnet-crypto-worker.ts`
        2. replace uses of `var` by `let` or `const`
        3. add `:any` in various places.
      
      * use fast-glob instead of fs.readdir
      
      * add fast-glob to devDependencies
      e026f392
    • Z
      [mono][wasm] Add a 'wasm-gc-safepoints' option to enable the generation of GC... · b2add498
      Zoltan Varga 提交于
      [mono][wasm] Add a 'wasm-gc-safepoints' option to enable the generation of GC safe points in AOTed code on WASM. (#70520)
      
      b2add498
    • A
      [wasm][nodejs] Ensure that stdout/stderr have been flushed out before exiting (#70416) · c3618578
      Ankit Jain 提交于
      When the results xml is large, and we are writing the base64
      representation in one line, `node` can exit before all the output gets
      flushed out. This results in xharness getting an incomplete
      `STARTRESULTXML <len> <base64> ... ` with missing `ENDRESULTXML`, thus
      no `testResults.xml` is generated.
      
      This can be seen in the case of `Microsoft.Extensions.Primitives.Tests`
      which has xml ~140KB, and `System.Memory.Tests` which has a xml ~13MB.
      
      So, wait for the two streams to be flushed out, with a timeout of 3secs.
      
      - use the `drain` event only if `stream.write('')` returns `false`
      * Address review feedback @kg, @maraf
      c3618578
  16. 09 6月, 2022 2 次提交
  17. 08 6月, 2022 4 次提交
    • I
      [wasm][debugger] Implement support for null-conditional operators in simple expressions (#69307) · 2c110b62
      Ilona Tomkowicz 提交于
      * Basic testcase.
      
      * Fixed non-null access to proxy-hidden members.
      
      * Fixing the issue and adding more tests.
      
      * Fixed a failing test: let CompileAndRunTheExpression throw.
      
      * Blocked failing tests on firefox.
      
      * Applied @radical's suggestions.
      
      * Reverted indexing to fix tests.
      
      * Reverted LastOrDefault instead of indexing + corrected names.
      
      * Changed to throw when root name empty.
      
      * Removing null suppression that does not change the evaluation result but fails without this change.
      
      * Applied @radical's comments.
      
      * Change exception on string property evaluation.
      
      * Added @radical's suggestions.
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      2c110b62
    • T
      [wasm] [debugger] Removing usage of serilog (#70382) · 12a6db44
      Thays Grazia 提交于
      * [wasm] [debugger] Adding serilog dlls
      
      Adding serilog dlls
      
      * Removing serilog usage for Blazor.
      12a6db44
    • A
      [wasm] Fix Wasm.Build.Tests test failures on windows (#70328) · 07ee2c7f
      Ankit Jain 提交于
      * [wasm] Workaround a python bug which can cause em* scripts to hang
      
      Issue - https://github.com/emscripten-core/emscripten/pull/15146
      
      Emscripten added a workaround enabled by setting
      the environment variable - `EM_WORKAROUND_PYTHON_BUG_34780`.
      
      * [wasm] Wasm.Build.Tests - use a local copy of `dotnet`
      
      .. to avoid conflicting with other instances on helix.
      
      * don't log output from robocopy
      07ee2c7f
    • E
      Fix race condition in WASM crypto worker (#70185) · 8d34e0a0
      Eric Erhardt 提交于
      When sending a message between LibraryChannel and ChannelWorker, there is a race condition where both threads are reading/writing to shared memory at the same time. This can cause message pages to be skipped.
      
      To fix this, add a shared mutex lock so only one side is reading/writing to shared memory at the same time.
      
      Fix #69806
      8d34e0a0
  18. 07 6月, 2022 1 次提交
    • T
      [wasm][debugger] Support new hot reload features (#70097) · da573d14
      Thays Grazia 提交于
      * Implementing support new method on enc
      
      * HotReload - Support new static method
      
      * - Fix adding a new static field in an class not initialized
      - Returning the number of the fields in the class including the ones added by hotreload.
      
      * Fix GetStringAfterEnc.
      Add a test with 2 enc adding classes in both of them.
      Adding in the dump changes typedef added.
      
      * Fix space between function and (
      
      * Removing try catch.
      
      * Fix compilation
      
      * Remove unnecessary if.
      
      * Adressing @lambdageek comments and adding a test for it.
      
      * Addressing @radical comments.
      
      * Renaming method.
      
      * Counting row indices per-kind.
      
      * Addressing @radical comments.
      
      * Apply suggestions from code review
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Addressing @radical comments.
      
      * Fix methodDebugInformation.Document.IsNil.
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      da573d14
  19. 06 6月, 2022 4 次提交
    • T
      [wasm][debugger]Fix entrypoint breakpoint when it's an async method (#69856) · 213b4d43
      Thays Grazia 提交于
      * Fix entrypoint when it's an async method.
      Add methods in the type even if there isn't source information.
      
      * Update src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Addressing @radical comments.
      
      * Addressing @radical comment
      
      * Update src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      
      * Address @radical comments.
      
      * Revert @radical suggestion.
      
      * Addressing @radical comment.
      
      * Addressing @radical comments offline.
      
      * Addressing @radical comments offline.
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      213b4d43
    • I
      [wasm][debugger] Added Default Interface Method tests. (#70002) · 941c81dd
      Ilona Tomkowicz 提交于
      * Added DIM tests.
      
      * Addressed @radical's suggestions.
      
      * Block failing firefox tests.
      941c81dd
    • R
      [wasm] Initial SIMD support (#70086) · 1f2eaaa2
      Radek Doulik 提交于
      Add initial SIMD support for wasm. This is subset of the original [draft PR](https://github.com/dotnet/runtime/pull/67848) without the public API additions.
      
      Add `WasmSIMD` property to enable SIMD in AOT builds. With the property enabled, the apps built with AOT get SIMD intrinsics inlined for parts of `S.R.I.Vector128` and `S.R.I.Vector128<T>` API.
      
      Add test to build and run a simple app with SIMD enabled.
      
      * Initial wasm SIMD support
      
      * Enable Vector intrinsic on wasm
      
      The llvm code generator works nicely with them.
      
      * Add missing files
      
      * Make SIMD support conditional
      
      * Remove test code
      
      * Fix debug build
      
      * Update after merge
      
      * Add Splat and ExcractLane methods
      
      * Switch i64 values for Constant method
      
      So that C#
      
          WasmBase.Constant(0xff11ff22ff33ff44, 0xff55ff66ff77ff88)
      
      is compiled into wasm code
      
          v128.const 0xff11ff22ff33ff44ff55ff66ff77ff88    [SIMD]
      
      * Update PlatformNotSupported version of WasmBase
      
      * Fix CI build
      
      * Add ReplaceLane and Swizzle
      
      * Change WasmBase.Constant to get Vector128 as input
      
      * Add Shuffle methods
      
      This will need more work, as it crashes clang during 'WebAssembly
      Instruction Selection' pass:
      
          WasmApp.Native.targets(353,5): error : 3.    Running pass 'WebAssembly Instruction Selection' on function '@corlib_System_Runtime_Intrinsics_Wasm_WasmBase_Shuffle_System_Runtime_Intrinsics_Vector128_1_byte_System_Runtime_Intrinsics_Vector128_1_byte_System_Runtime_Intrinsics_Vector128_1_byte'
      
      * Handle SN_Shuffle
      
      * Fix crash in OP_STOREX_MEMBASE
      
      * Add build test
      
      * Set WasmSIMD to false as default value
      
      Also add "experimental" to the property comment
      
      * Remove public API, it will be part of another PR
      
      * Add link to the llvm issue
      
      * Review feedback
      
      * Review feedback
      1f2eaaa2
    • J
  20. 02 6月, 2022 1 次提交