1. 15 6月, 2021 2 次提交
  2. 14 6月, 2021 4 次提交
    • D
      [main] Update dependencies from mono/linker dotnet/runtime dotnet/arcade... · 4c0d2f01
      dotnet-maestro[bot] 提交于
      [main] Update dependencies from mono/linker dotnet/runtime dotnet/arcade dnceng/internal/dotnet-optimization dotnet/xharness dotnet/hotreload-utils (#54060)
      
      [main] Update dependencies from mono/linker dotnet/runtime dotnet/arcade dnceng/internal/dotnet-optimization dotnet/xharness dotnet/hotreload-utils
      4c0d2f01
    • D
      Update dependencies from https://github.com/mono/linker build 20210610.3 (#54061) · 49bcd39b
      dotnet-maestro[bot] 提交于
      Microsoft.NET.ILLink.Tasks
       From Version 6.0.100-preview.6.21308.1 -> To Version 6.0.100-preview.6.21310.3
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      49bcd39b
    • I
      [mono] Reenable some amd64 intrinsic tests, enable amd64 ISA extensions when... · b8b3ef13
      imhameed 提交于
      [mono] Reenable some amd64 intrinsic tests, enable amd64 ISA extensions when AOTing, several intrinsics fixes (#53752)
      
      Changes:
      
      * Consolidate SSE shuffle constant unrolling
      
        Remove `OP_SSE2_SHUFFLE`, which is unused.
      
        Rename `OP_SSE_SHUFFLE` to `OP_SSE_SHUFPS`, to make this more consistent with
        the naming convention used for other SSE shuffles.
      
        Use `immediate_unroll_*` instead of hand-writing branch emission. These
        branch tables are huge (in the simplest case, with 256 different constant
        values, we can spend over 1KB of code on nothing but `shufps` and `jmp`s, and
        the cost gets worse if any tail duplication happens), and are currently
        emitted inline.  Future work ought to:
      
        1. use a sequence of extractelement/insertelement instructions, which can be
        optimized into a constant shuffle when the shuffle control parameter is
        constant, and otherwise generates a high-latency but low-code-size fallback
        (note that this only works for shuffles); or
      
        2. emit the fallback branch tables out of line and use `llvm.is.constant` to
        generate either a constant shuffle or a call to a fallback shuffle branch
        table function (the cost isn't too bad: a direct-call/ret pair would add ~4-5
        cycles and eat an RSB slot on top of the cost of the branch table).
      
        Fixes `JIT/HardwareIntrinsics/X86/Regression/GitHub_21855/GitHub_21855_r`.
      
      
      * Fix intrinsification for MathF.Round
      
        `OP_SSE41_ROUNDS` takes two source registers, not one.
      
        TODO: Investigate what happens with `llvm.round` and
        `llvm.experimental.constrained.round`.
      
        Fixes `JIT/Intrinsics/MathRoundSingle_r`,
        `JIT/Math/Functions/Functions_r`, and
        `JIT/Performance/CodeQuality/Math/Functions/Functions`.
      
      
      * Clean up intrinsic group lookup
      
        Use a dummy never-supported intrinsic group as a default fallback, instead of
        adding a special-case "intrinsic group not present" branch
      
        Correctly intrinsify get_IsSupported even when not using LLVM
      
        Fixes spurious `System.PlatformNotSupportedException`s when calling
        `get_IsSupported` when the LLVM backend isn't being used.
      
      
      * The "not" SSE comparions are unordered, so use the appropriate unordered LLVM
        IR comparisons
      
        Add labeled constants for the immediate parameter we pass to CMPSS/CMPSD.
      
        Fixes `Regressions.coreclr/GitHub_34094/Test34094`.
      
      
      * Fix `LoadAndDuplicateToVector128`
      
        `LoadAndDuplicateToVector128` should load exactly one 8-byte value from memory
        before broadcasting it into both lanes in a 128-bit result vector.
      
        Fixes `JIT/HardwareIntrinsics/X86/Sse3/LoadAndDuplicateToVector128_r`.
      
      
      * Implement constant unrolling for `Sse41.DotProduct`
      
        As with shuffles, the fallback jump table should probably be kept out of line
        someday; `vdpps` uses 6 bytes of space, so any fallback jump table for the
        selection control mask will be at least 1.5kb large.
      
        Fixes `JIT/HardwareIntrinsics/X86/Sse41/DotProduct_r`.
      
      
      * Implement constant unrolling for `Sse41.Blend`
      
        The usual: big jump blobs should be out of line, possible to use
        extract/insertelement.
      
      
      * Zero is part of the domain of `lzcnt` and shouldn't yield an undef.
      
        Use fully-defined `llvm.ctlz` when implementing `OP_LZCNT32/64`.
      
        Fixes `JIT/HardwareIntrinsics/X86/Regression/GitHub_21666/GitHub_21666_r`
      
      
      * Unify amd64/arm64 vector extraction handling
      
        Removes `OP_EXTRACT_U1` and `OP_EXTRACT_U2`. Instead, sign/zero extension is
        determined via `inst_c1` for `OP_EXTRACT_*` and `OP_XEXTRACT_*` (and
        `OP_EXTRACTX_U2`, which doesn't seem to be generated as part of intrinsic
        translation), which must be set to a MonoTypeEnum.
      
        Replaces `OP_EXTRACT_VAR_*` with `OP_XEXTRACT_*`.
      
        Fixes `JIT/Regression/JitBlue/GitHub_23159/GitHub_23159` and
        `JIT/Regression/JitBlue/GitHub_13568/GitHub_13568`.
      
      * Remove `OP_DPPS`; it is unused
      
      * Disable `JIT/Regression/CLR-x86-JIT/V1.1-M1-Beta1/b143840` when running with mono LLVM AOT
      
      * Disable finalizearray when running with mono LLVM AOT
      
      * Disable Vector256_1/Vector128_1 tests on wasm
      
      * Enable sse4.2, popcnt, lzcnt, bmi, and bmi2 when AOT compiling the runtime
        tests.
      
      * Pass the runtime variant to `helixpublishwitharcade.proj`, and forward this
        runtime variant to testenvironment.proj.
      
        This is used to selectively enable LLVM JIT on the LLVM AOT lanes. Removes
        the hack added to CLRTest.Execute.Bash.targets that did this for arm64 (which
        happens to only have an LLVM AOT lane for runtime tests right now).
      
      * Enable `JIT/HardwareIntrinsics/General/Vector128_1/**`,
        `JIT/HardwareIntrinsics/General/Vector256/**`,
        `JIT/HardwareIntrinsics/General/Vector256_1/**`, and
        `JIT/HardwareIntrinsics/X86/General/IsSupported*/**` for LLVM AOT on amd64.
      b8b3ef13
    • J
      Infrastructure: correct dependencies and clean helix agent from stray corerun procs (#54094) · 86cebb31
      Juan Hoyos 提交于
      * Add dependency on coreclr in monojit/monointerpreter jobs explicitly to solve pipeline issue #53842
      * Use Helix Pre/Post hooks to kill linkering corerun instances to work around ARM64 agent issues
      Co-authored-by: NKunal Pathak <Kunal.Pathak@microsoft.com>
      86cebb31
  3. 12 6月, 2021 2 次提交
  4. 11 6月, 2021 4 次提交
    • D
      [main] Update dependencies from dnceng/internal/dotnet-optimization (#53864) · 5c508661
      dotnet-maestro[bot] 提交于
      [main] Update dependencies from dnceng/internal/dotnet-optimization
      5c508661
    • D
      [main] Update dependencies from dotnet/icu dotnet/llvm-project... · 627fe8c9
      dotnet-maestro[bot] 提交于
      [main] Update dependencies from dotnet/icu dotnet/llvm-project dotnet/runtime-assets dotnet/hotreload-utils (#53865)
      
      * Update dependencies from https://github.com/dotnet/icu build 20210607.1
      
      Microsoft.NETCore.Runtime.ICU.Transport
       From Version 6.0.0-preview.6.21281.1 -> To Version 6.0.0-preview.6.21307.1
      
      * Update dependencies from https://github.com/dotnet/llvm-project build 20210607.2
      
      runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
       From Version 9.0.1-alpha.1.21281.1 -> To Version 11.1.0-alpha.1.21307.2
      
      * Update dependencies from https://github.com/dotnet/hotreload-utils build 20210607.1
      
      Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
       From Version 1.0.1-alpha.0.21305.2 -> To Version 1.0.1-alpha.0.21307.1
      
      * Update dependencies from https://github.com/dotnet/runtime-assets build 20210607.1
      
      System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
       From Version 6.0.0-beta.21301.1 -> To Version 6.0.0-beta.21307.1
      
      * Update dependencies from https://github.com/dotnet/llvm-project build 20210608.1
      
      runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
       From Version 9.0.1-alpha.1.21281.1 -> To Version 11.1.0-alpha.1.21308.1
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      627fe8c9
    • V
      Don't reference the netstandard shim inside the shared framework (#53023) · bbf96599
      Viktor Hofer 提交于
      * Don't reference ns.dll inside shared framework
      
      The netstandard.dll shim shouldn't be referenced inside the shared
      framework as it's a compat shim that shouldn't be required to compose
      the shared framework.
      
      This removes the necessity of a separate RefPath build and improves
      incremental build times as only the few OOB projects that require the
      shim would need to rebuild.
      
      * Reference netstandard shim in OOBs that require it
      
      There are a few OOB projects that require the netstandard.dll shim as
      they intentionally reference projects that only expose a netstandard
      configuration.
      Co-authored-by: NBuyaa Namnan <buyankhishig.namnan@microsoft.com>
      bbf96599
    • D
      [main] Update dependencies from mono/linker (#53866) · 31a389f3
      dotnet-maestro[bot] 提交于
      [main] Update dependencies from mono/linker
      31a389f3
  5. 10 6月, 2021 6 次提交
  6. 09 6月, 2021 3 次提交
    • V
      Include NetCoreAppCurrent configs in packages (#53439) · 0377558d
      Viktor Hofer 提交于
      * Include NetCoreAppCurrent configs in packages
      
      The NetCoreAppCurrent configurations were omitted from packages to avoid
      ever growing packages. Now that we adhere to the support policy for
      packages we don't need to exclude them anymore as the policy defines a
      baseline for .NETCoreApp configurations.
      
      This will remove an artificial difference when source building the
      repository and also make it so that partner repositories which don't
      depend on a transport package like windowsdesktop (winforms) receive
      the very latest assets that are included in the shared framework as
      well.
      
      * Fix package validation for non exposed inbox libs
      0377558d
    • U
      Build support for s390x: PAL layer (#53287) · 5d6278a6
      Ulrich Weigand 提交于
      * Add PAL implementation for Linux on s390x
      
      * Define BIGENDIAN on s390x when compiling coreclr
      
      * Provide a default HAVE_FUNCTIONAL_PTHREAD_ROBUST_MUTEXES_EXITCODE
        value in eng/native/tryrun.cmake
      5d6278a6
    • B
      Distinguish Debug and Checked builds in version resource (#53847) · f70723d3
      Bruce Forstall 提交于
      In the Win32 version resource, this changes the "Comment" field
      from:
      ```
        Flavor=Checked
      ```
      to:
      ```
        Flavor=Debug
      ```
      
      It also properly sets `BUILDENV_DEBUG=1` for debug builds (only used in
      exactly one place: gc.cpp).
      f70723d3
  7. 08 6月, 2021 4 次提交
  8. 07 6月, 2021 1 次提交
  9. 06 6月, 2021 1 次提交
    • D
      [main] Update dependencies from dotnet/arcade dotnet/hotreload-utils (#53766) · 41af30ca
      dotnet-maestro[bot] 提交于
      * Update dependencies from https://github.com/dotnet/arcade build 20210604.1
      
      Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
       From Version 6.0.0-beta.21303.2 -> To Version 6.0.0-beta.21304.1
      
      * Update dependencies from https://github.com/dotnet/hotreload-utils build 20210604.1
      
      Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
       From Version 1.0.1-alpha.0.21303.1 -> To Version 1.0.1-alpha.0.21304.1
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      41af30ca
  10. 05 6月, 2021 3 次提交
  11. 04 6月, 2021 1 次提交
    • T
      46239 v2 (no runtime layout changes) (#53424) · b0b317eb
      Tomáš Rylek 提交于
      The regression test
      
      <code>src\tests\JIT\Regressions\JitBlue\Runtime_46239</code>
      
      exercises various interesting corner cases of type layout that
      weren't handled properly in Crossgen2 on x86 and ARM[32]. This
      change fixes the remaining deficiencies and it also adds
      provisions for better runtime logging upon type layout mismatches.
      
      With this change, the only remaining pipelines using Crossgen1 are
      "r2r.yml", "r2r-extra.yml" and "release-tests.yml". I haven't yet
      identified the pipeline running the "release-tests.yml" script;
      for the "r2r*.yml", these now remain the only pipelines exercising
      Crossgen1. I don't think it makes sense to switch them over to
      CG2 as we already have their CG2 counterparts; my expectation is
      that, once CG1 is finally decommissioned, they will be just deleted.
      
      Thanks
      
      Tomas
      b0b317eb
  12. 03 6月, 2021 2 次提交
    • P
      [wasm] Enable more networking tests (#53027) · 1e195182
      Pavel Savara 提交于
      - enable System.Net.Http.Functional.Tests on browser
      - System.Net.Http.Functional.Tests to run in chrome instead of V8 via WasmTestOnBrowser
      - ActiveIssue https://github.com/dotnet/runtime/issues/34690 for WebSocket on Windows Mono
      - fix Quic detection in test
      - disable webSocket tests on Mono/Windows
      - disable tests with MaxConnectionsPerServer not supported on Browser
      - disable tests with Socket not supported on Browser
      - disable tests with AutomaticDecompression not supported on Browser
      - disable tests with UseProxy not supported on Browser
      - disable tests with PreAuthenticate not supported on Browser
      - disable tests with Credentials is not supported on Browser
      - disable tests with Loopback server
      - run outerloop on browser, rather than V8 only
      - [ActiveIssue] #37669 for missing crypto MD5
      - conditional tests with PlatformDetection.IsBrowserDomSupportedOrNotBrowser to allow System.Net.Http.Functional.Tests pass on V8
      - disabled tests with https://github.com/dotnet/runtime/issues/53018
      - disabled tests with https://github.com/dotnet/runtime/issues/53591
      - disabled tests with https://github.com/dotnet/runtime/issues/53592
      1e195182
    • A
      [mono] Add a no-exec code manager for AOT compilation; switch Catalyst CI to... · 1d9ff9ef
      Aleksey Kliger (λgeek) 提交于
      [mono] Add a no-exec code manager for AOT compilation; switch Catalyst CI to JustInterp AOT mode (#53197)
      
      * Initial pass at trying to run catalyst in aot interp only mode
      
      * Cleanup
      
      * Remove yml dup
      
      * Incorporate changes and identify native libraries to skip during System.Diagnostics.FileVersionInfo test run
      
      * [mini] Add a no-exec code manager for AOT compilation
      
         Don't allocate pages with execute permission if we're never going to be executing code.  Also don't try to toggle per-thread write protection if we're not expecting to write to executable pages.
      
      * also set no_exec earlier and create the ALC codeman with noexec
      
      * Don't assert on Catalyst in mono_codeman_enable_write
      
         We defensively also toggle the page write protect bits when resolving some AOT patch targets in mono_resolve_patch_target_ext.  Instead allow the call, but don't do anything.
      
      * Set ENABLE_MONOTOUCH for MacCatalyst arm64.  Define MONOTOUCH in one place
      
      * [aot] mscorlib.dll isn't CoreLib on netcore
      
         It's a forwarding assembly.  Don't treat it specially
      
      * [testing] In JustInterp mode, only AOT System.Private.CoreLib
      
         We only need to AOT the trampolines in System.Private.CoreLib in interpreter-only mode.  We don't need to AOT any of the user code in other assemblies.
      
         Side effect: fixes the System.Runtime.Loader.DefaultContext testsuite in JustInterp mode.  Still broken in Full AOT mode. (That testsuite references the System.Runtime.Loader.Noop.Assembly assembly, but with a different filename
      System.Runtime.Loader.Noop.Assembly_test.dll which causes linking errors due to incorrect symbols in AOT module registration in AppleAppBuilder)
      
      * Update iOS sample to use JustInterp
      
         and adhoc signing
      
      * Don't run iOS sample on the CI build machine
      
      * Disable some tests
      
      Fixes https://github.com/dotnet/runtime/issues/53106Co-authored-by: NSteve Pfister <steve.pfister@microsoft.com>
      Co-authored-by: NSteve Pfister <steve@Steves-M1.fios-router.home>
      1d9ff9ef
  13. 02 6月, 2021 5 次提交
    • D
      [main] Update dependencies from dnceng/internal/dotnet-optimization (#53343) · 1b8e971c
      dotnet-maestro[bot] 提交于
      [main] Update dependencies from dnceng/internal/dotnet-optimization
      1b8e971c
    • R
      [wasm] Bump emscripten to 2.0.21 (#52870) · d43b00ab
      Radek Doulik 提交于
      * Bump emscripten version
      
      * Rename __padding to _padding to avoid warnings
      
      And errors as we use `-Werror`:
      
          error G94F6014A: identifier '__padding' is reserved because it starts with '__'
      
      C99 and C++ standard defines indentifiers with `__` prefix as reserved.
      
      * Fix cast warning/error
      
      With latest emscripten we get this warning (and error as we use
       `-Werror`):
      
          src/libraries/Native/Unix/System.Native/pal_process.c(374,92): error G3DC5E52A: cast from 'void (*)(int, siginfo_t *, void *)' to 'void (*)(int)' converts to incompatible function type [-Werror,-Wcast-function-type]
                        void (*oldhandler)(int) = (((unsigned int)sa_old.sa_flags) & SA_SIGINFO) ? (void (*)(int))sa_old.sa_sigaction : sa_old.sa_handler;
      
      * Add `-s DISABLE_EXCEPTION_CATCHING=0`
      
      when building dotnet.js
      
      * Use EMSDK_PYTHON
      
      * Use delayed expansion
      
      Before the `EMSDK_PYTHON` was evaluated before running
      the `emsdk_env.bat` script.
      
      * Replace deprecated EXTRA_EXPORTED_RUNTIME_METHODS
      
      with EXPORTED_RUNTIME_METHODS
      
      Build warning/error:
      
          emcc : warning : EXTRA_EXPORTED_RUNTIME_METHODS is deprecated, please use EXPORTED_RUNTIME_METHODS instead [-Wdeprecated]
      
      * Don't need to cast anymore
      
      * 2.0.21 was just released, so try our luck ;-)
      
      * Use new docker images with 2.0.21
      
      * Use the sys includes fix on all platforms
      
      * Remove deprecated --llvm-opts usage
      
      Context: https://github.com/emscripten-core/emscripten/commit/0691cc68eef89fe59f66eacdba245470bea2a113
      
      * Update emscripten version in the workload manifest
      
      * Update emscripten versions in the docs
      
      * Update eng/ versions
      
      * Add ActiveIssue attr in the MemoryCacheTest
      
      * Add ActiveIssue attr to the FileSystem tests
      
      * Update after merge
      
      * Resolve one more conflict
      
      * Add ActiveIssue to the MemoryMappedFiles tests
      
      * Revert "Fix cast warning/error"
      
      This reverts commit 0a1aa4a88c07bc48d3d35c68369d1dca4897d849.
      
      * Unset HAVE_FORK for Browser
      
      * Remove active issue
      
      Fixed by https://github.com/dotnet/runtime/commit/93cf5df65fc13bfbc29256acc8c9c0e102a1170b
      
      * Set HAVE_FORK to 0
      
      * Set HAVE_FORK to 0 instead if unsetting
      
      * Remove -s DISABLE_EXCEPTION_CATCHING=0
      
      It might not be needed anymore
      d43b00ab
    • D
      Update dependencies from https://github.com/mono/linker build 20210531.4 (#53525) · a6d0cd6b
      dotnet-maestro[bot] 提交于
      [main] Update dependencies from mono/linker
      a6d0cd6b
    • D
      [main] Update dependencies from dotnet/runtime dotnet/arcade dotnet/icu... · b2869a95
      dotnet-maestro[bot] 提交于
      [main] Update dependencies from dotnet/runtime dotnet/arcade dotnet/icu dotnet/xharness dotnet/llvm-project dotnet/hotreload-utils (#53423)
      
      [main] Update dependencies from dotnet/runtime dotnet/arcade dotnet/icu dotnet/xharness dotnet/llvm-project dotnet/hotreload-utils
      b2869a95
    • A
  14. 01 6月, 2021 1 次提交
  15. 29 5月, 2021 1 次提交