1. 14 8月, 2022 11 次提交
    • A
      [wasm] Misc tests related fixes (#73884) · 7d986fa0
      Ankit Jain 提交于
      * [wasm] Stop running crypto tests with subtlecrypto
      
      * [wasm] Add --web-server-use-cop for samples when running on helix for a threaded build
      
      * [wasm] Makefile, honor V=1 and emit binlog
      
      * [wasm] PInvokeTableGenerator: emit the type name also, for the warning
      
      * [wasm] Improve build for non-default runtime packs
      
      .. by using `MSBuild` task to build them instead of invoking
      `dotnet.sh`.
      - And fix incremental builds
      
      * [wasm] Run smoke tests only for AOT
      
      - Building, and running all the tests for EAT case will help catch
      linker errors that can slip through.
      
      * [wasm] Fix linker errors for tests
      
      Fixes https://github.com/dotnet/runtime/issues/73901
      7d986fa0
    • A
      [wasm-mt] Use asset loading for dotnet.worker.js; update WasmAppBuilder (#73697) · 88ba0454
      Aleksey Kliger (λgeek) 提交于
      Enables using asset loading to get the `dotnet.worker.js` file that provides the emscripten pthread worker code.
      Also allows specifying the number of pre-allocated workers that will be created at startup using MSBuild properties.
      
      Fixes https://github.com/dotnet/runtime/issues/68509 and fixes https://github.com/dotnet/runtime/issues/68397 and fixes https://github.com/dotnet/runtime/issues/72606
      
      - Override Emscripten `PThread.allocateUnusedWorker`
         We want to use our own allocateUnusedWorker because we want to load
         `dotnet.worker.js` using our asset loading machinery.
      
         Unfortunately, Emscripten first calls allocateUnusedWorker very early (from
         `PThread.init`) to pre-allocate the pthread worker pool.
      
         So we set Emscripten's own pthread worker pool to size 0 and make our own.  This requires calling `loadWasmModuleToWorker` during our startup because Emscripten deletes their code that normally does it (in "receiveInstance" in "createWasm" in "emscripten/src/preamble.js") when the pthread pool size is 0.
      
         Also added a pthreadPoolSize field to MonoConfig to allow specifying the initial pthread pool size in mono-config.json
      
      - Add `IncludeThreadsWorker` and `PThreadPoolSize` props to WasmAppBuilder
      
         `IncludeThreadsWorker` adds the `"js-module-threads"` asset to the `mono-config.json`
      
         `PThreadPoolSize` can be -1 or >=0 to specify the number of workers that will be pre-allocated at startup for the pthread worker pool.  -1 means use the default compiled into `dotnet.js`
      
      - Reorganize the pthreads TS code by moving `Internals` (access API that digs through Emscripten's pthreads implementation) to its own module. And add types.
      
      - Replace emscripten's `allocateUnusedWorker` function with our own that goes through the asset loading API.
      
      - Update samples
      
      - Set up console proxying for the workers.
         This is done by sending a message from the main thread to the pthread workers with the current `MonoConfig` on our
          dedicated channel.  (This means the proxying is setup asynchronously, so if the worker is busy before it receives the message, it may not start redirecting messages right away).
      
      ---
      
      * [wasm-mt] Override Emscripten PThread.allocateUnusedWorker
      
      We want to use our own allocateUnusedWorker because we want to load `dotnet.worker.js` using our asset loading machinery.
      
      Unfortunately, Emscripten first calls allocateUnusedWorker very early (from `PThread.init`) to pre-allocate the pthread worker pool.
      
      So we set Emscripten's own pthread worker pool to size 0 and make our own.  This requires calling `loadWasmModuleToWorker` during our startup because Emscripten deletes their code that normally does
      it (in "receiveInstance" in "createWasm" in "emscripten/src/preamble.js") when the pthread pool size is 0.
      
      Also added a pthreadPoolSize field to MonoConfig to allow specifying the initial pthread pool size in mono-config.json
      
      * Add IncludeThreadsWorker and PThreadPoolSize props to WasmAppBuilder
      
      IncludeThreadsWorker adds the js-module-threads asset to the mono-config
      
      PThreadPoolSize can be -1 or >=0 to specify the number of workers that will be pre-allocated at startup for the pthread worker pool.  -1 means use the default compiled into dotnet.js
      
      * Move emscripten PThread internals access to a separate module
      
         and add types
      
      * Load js-module-threads asset in replacement allocateUnusedWorker
      
      * Update samples to explicitly enable threading / perftracing
      
         Makes the WasmAppBuilder include the threads worker module
      
      * tighten up Internals types
      
      * apply review feedback
      
      * fix import
      
      * Apply suggestions from code review
      
      * proxy pthread worker messages to websocket, if enabled
      
      use a new MonoThreadMessageApplyMonoConfig message to send the MonoConfig from the main thread to each worker when the workers set up the communication channel to the main thread.
      
      then if the diagnosticTracing property is true, redirect the worker console logging to a websocket.
      
      Fixes https://github.com/dotnet/runtime/issues/72606Co-authored-by: NMarek Fišera <mara@neptuo.com>
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      88ba0454
    • D
      Update dependencies from https://github.com/dotnet/hotreload-utils build 20220808.2 (#73895) · 99abf517
      dotnet-maestro[bot] 提交于
      Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
       From Version 1.1.0-alpha.0.22362.1 -> To Version 1.1.0-alpha.0.22408.2
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      99abf517
    • B
      Fix arm64 scalar intrinsic use with small arguments (#73876) · 34784726
      Bruce Forstall 提交于
      The code already uses `emitActualTypeSize` in the scalar case;
      this also uses `genActualType` to get the "actual" type of small
      types when deciding the intrinsic base type, used in codegen.
      
      Fixes #73804
      34784726
    • S
      Streamline String.Substring (#73882) · a037f0ca
      Stephen Toub 提交于
      - Split the one-arg Substring from the two-arg Substring to avoid unnecessary checks in the former
      - Employ the same argument validation checks as Span, and then delegate to a helper that does more detailed checking to throw the right exception
      - Avoid duplicative checks in the body
      - Reorder checks in one-arg overload to do success paths before error paths where possible
      a037f0ca
    • M
      Remove ActiveIssue for Matrix4x4CreateFromAxisAngleTest (#73870) · 4c240009
      Michal Strehovský 提交于
      Fixes #72149.
      4c240009
    • M
      Baseline failing tests (#73888) · f35b96e8
      Michal Strehovský 提交于
      * S,Transactions is a new test with a bunch of COM
      * PasswordDeriveBytes calls into RequiresUnreferencedCode. It used to be lucky. Not anymore because we trim more.
      f35b96e8
    • T
      ignore name mismatch when IgnoreInvalidName is set (#73745) · d54486e4
      Tomas Weinfurt 提交于
      * ignore name mismatch when IgnoreInvalidName is set
      
      * remove dead code
      
      * feedback from review
      
      * fix build
      
      * split Configuration.Certificates
      
      * disable win7
      
      * update test
      
      * skip on browser
      d54486e4
    • F
      4c26d98e
    • A
      [metadata] Do less initialization in mono_class_is_assignable (#73786) · cf264213
      Aleksey Kliger (λgeek) 提交于
      * [metadata] Do less initialization in mono_class_is_assignable
      
      Instead of running the full mono_class_init_internal, just initialize
      the supertypes and the interface bitmap.
      
      Add a flag to mono_class_setup_interface_offsets to only publish the
      interface bitmap, not the offsets.
      
      Also move the SRE hack (setting a field in MonoClass to null and
      running mono_class_setup_interface_offsets) to a new function
      mono_class_invalidate_interface_offsets.
      
      Also change the field that the SRE hack uses as a sentinel (used to be
      MonoClass:interfaces_packed, now MonoClass:interface_offsets_packed)
      
      Fixes https://github.com/dotnet/runtime/issues/68033
      
      * avoid assert in bitmap_only mode
      
      * remove MonoGenericContext need_sync bit
      
         it is never set to TRUE
      
      * ensure gtd is inited when initing a ginst
      
      * remove unused var
      
      * add regression test
      cf264213
    • A
      27b18b16
  2. 13 8月, 2022 29 次提交