1. 21 6月, 2022 29 次提交
    • I
      [mono] Do not generate impossible instantiations for constrained generics in Mono AOT (#70838) · 3affc68d
      Ivan Povazan 提交于
      This change improves the AOTed code size by reducing the number of generated methods for generics.
      Fixes https://github.com/dotnet/runtime/issues/54850
      3affc68d
    • H
      Fix typo in GC_FORBID doc (#71050) · f9999cc1
      Huo Yaoyuan 提交于
      f9999cc1
    • R
      Fix IPAddress equality comparison in MsQuicListener (#70979) · ff575755
      Radek Zikmund 提交于
      * Fix IPAddress equality comparison in MsQuicListener
      
      * Modify test
      
      * Adjust comment
      
      * Update src/libraries/System.Net.Quic/tests/FunctionalTests/QuicListenerTests.cs
      Co-authored-by: NAnton Firszov <antonfir@gmail.com>
      Co-authored-by: NAnton Firszov <antonfir@gmail.com>
      ff575755
    • F
      Implement NegotiateAuthentication API (#70720) · 79f6709e
      Filip Navara 提交于
      * WIP: Add implementation of NegotiateAuthentication
      
      Switch System.Net.Http to use NegotiateAuthentication
      Fix IsCompleted in managed NTLM implementation
      
      * WIP: Update error code mapping
      
      * Spanify input of GetOutgoingBlob
      
      * Update comments
      
      * Move NegotiateStreamPal.Encrypt/Decrypt to shared sources. Unix implementation already had them and they get trimmed anyway.
      
      * Revert accidental change
      
      * Build fixes.
      
      * Fix error handling condition
      
      * Update error mapping based on HttpListener usage.
      
      * WIP: HttpListener test
      
      * Move workaround from HttpListener to low-level SSPI code
      
      * Fix build
      
      * Clean up
      
      * Revert "WIP: HttpListener test"
      
      This reverts commit 18d7d93f04c93e048efcaca0f3c55c3f1f73516a.
      
      * Convert System.Net.Http.FunctionalTests to use NegotiateAuthentication instead of NTAuthentication
      
      * Dispose the identity along NegotiateAuthentication
      
      * Modify unit tests to use the new API
      
      * Add exceptions for invalid inputs/states
      
      * Remove tvOS unsupported marker, managed NTLM is used on tvOS
      
      * Apply suggestions from code review
      Co-authored-by: NStephen Toub <stoub@microsoft.com>
      
      * Fix typo
      
      * Remove reference equality checks from IsNTLM/IsKerberos
      
      * Remove NTAuthentication.AssociatedName to make it more obvious which exceptions are thrown
      
      * Add comment
      
      * Add more tests, handle unsupported protocols
      
      * Handle NotSupportedException from NTAuthentication constructor
      
      * Add workaround for linker issue
      
      * Apply suggestions from code review
      Co-authored-by: NStephen Toub <stoub@microsoft.com>
      79f6709e
    • M
      Ensure consistent reflectability for generic methods (#70977) · 3b8a6f49
      Michal Strehovský 提交于
      If we have a method body for `SomeMethod<Foo>` and `SomeMethod<T>` was decided to be reflection-visible, ensure `SomeMethod<Foo>` is also reflection-visible.
      3b8a6f49
    • V
      set red zone size 512 for powerpc64. (#70885) · 5889de5f
      Vikas Gupta 提交于
      5889de5f
    • M
      Add markdown readme for System.Reflection.MetadataLoadContext (#70610) · 20baea26
      MSDN.WhiteKnight 提交于
      * Create README.md
      20baea26
    • J
      Move allocation of command line argument array to C# (#71021) · 7ab7f83f
      Jan Kotas 提交于
      Also, avoid redundant allocation of managed string for each command line argument.
      7ab7f83f
    • T
      8a7930e5
    • S
      229502e1
    • S
      Use LastIndexOfAny in GetFileName_Windows (#71032) · f1358d00
      Stephen Toub 提交于
      f1358d00
    • S
      [Android] Make sure AdditionalTimeZoneChecks trait is added to xunit-excludes (#70974) · cb32ed3a
      Steve Pfister 提交于
      The trait is supposed to be included in System.Runtime tests by default, but wasn't because the _withoutCategories property was in tests.props. As a result, the property was resolved before the .csproj properties. This fix moves the property definition to tests.targets.
      
      Fixes #70482
      cb32ed3a
    • G
      Remove allocation in ImmutableArray Builder Sort (#70850) · 30bf66a0
      Gregory Bell 提交于
      * Remove allocation in ImmutableArray Builder Sort
      
      `ImmutableArray<T>.Builder.Sort(Comparison<T> comparison)` allocates a new instance of `Comparer<T>` using `comparison`. Then `ArraySort` allocates a new delegate from `comparer.Compare`. Both allocations can be eliminated by calling `Array.Sort<T>(T[] array, Comparison<T> comparison)` directly.
      
      * Sort only valid range of array
      
      * Use MemoryExtensions.Sort where available.
      
      * Update src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableArray_1.Builder.cs
      
      Fix spelling mistake.
      Co-authored-by: NEirik Tsarpalis <eirik.tsarpalis@gmail.com>
      Co-authored-by: NEirik Tsarpalis <eirik.tsarpalis@gmail.com>
      30bf66a0
    • A
      [wasm] Wasm.Build.Tests: disable tests failing on CI (#71020) · 87194f2f
      Ankit Jain 提交于
      * [wasm] Wasm.Build.Tests: disable tests failing on CI
      
      .. due to being oomkill'ed.
      
      * [wasm] Don't fail the job when firefox tests fail, as they are known to be unstable
      87194f2f
    • C
      Add TarEntry conversion constructors (#70325) · 943da70f
      Carlos Sanchez 提交于
      * ref: Conversion constructors
      
      * src: Conversion constructors
      
      * tests: Conversion constructors
      943da70f
    • T
      Exposing IRootFunctions.Hypot and IRootFunctions.Root (#71010) · 715c71ae
      Tanner Gooding 提交于
      * Exposing IRootFunctions.Hypot and IRootFunctions.Root
      
      * Adding tests for IRootFunctions.Hypot and IRootFunctions.Root
      715c71ae
    • J
      Add ZipArchiveEntry.IsEncrypted for password-protection detection (#70036) · 19fcc316
      Jeff Handley 提交于
      * Add ZipArchiveEntry.IsEncrypted for password-protection detection
      
      * Apply suggestions from code review
      Co-authored-by: NDavid Cantú <dacantu@microsoft.com>
      
      * Run GenerateReferenceAssemblySource for System.IO.Compression
      
      * Revert WriteAsync default parameter value removal
      
      * Update DeflateStream.WriteAsync to include the default param value
      
      * Revert unrelated change from GenerateReferenceAssemblySource
      
      * Revert unrelated change after syncing with GenerateReferenceAssemblySource
      Co-authored-by: NDavid Cantú <dacantu@microsoft.com>
      19fcc316
    • K
      Windows/Arm64: Use 8.1 atomic instructions if they are available (#70921) · 6be8d272
      Kunal Pathak 提交于
      * Use Fast compareexchange, acquire/release
      
      * working windows version
      
      * remove printf
      
      * some more #ifdef
      
      * fix some #ifdef
      
      * optimize EnterObjMonitorHelperSpin
      
      * Remove FastInterlockedCompareExchange64 for now
      6be8d272
    • D
      [main] Update dependencies from dotnet/runtime dotnet/xharness dotnet/icu dotnet/emsdk (#70991) · 9876d8c9
      dotnet-maestro[bot] 提交于
      * Update dependencies from https://github.com/dotnet/runtime build 20220619.5
      
      Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
       From Version 7.0.0-preview.6.22312.5 -> To Version 7.0.0-preview.6.22319.5
      
      * Update dependencies from https://github.com/dotnet/xharness build 20220620.1
      
      Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
       From Version 1.0.0-prerelease.22314.1 -> To Version 1.0.0-prerelease.22320.1
      
      * Update dependencies from https://github.com/dotnet/icu build 20220620.2
      
      Microsoft.NETCore.Runtime.ICU.Transport
       From Version 7.0.0-preview.6.22313.1 -> To Version 7.0.0-preview.6.22320.2
      
      * Update dependencies from https://github.com/dotnet/emsdk build 20220620.1
      
      Microsoft.NET.Workload.Emscripten.Manifest-7.0.100
       From Version 7.0.0-preview.6.22313.1 -> To Version 7.0.0-preview.6.22320.1
      Co-authored-by: Ndotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
      9876d8c9
    • S
      Add AddSystemd() and AddWindowsService() IServiceCollection extension methods (#68580) · e2cddabc
      Stephen Halter 提交于
      * Add AddSystemd() IServiceCollection extension method
      
      * Add AddWindowsService() IServiceCollection extension method
      
      * Don't default to CWD if in C:\Windows\system32
      - instead, when CWD is C:\Windows\system32 Hosting will use AppContext.BaseDirectory. This way Windows apps and services that are launched will work by default. HostApplicationBuilder.ContentRootPath can't be changed after construction, so setting it to a workable default for Windows apps.
      Co-authored-by: NEric Erhardt <eric.erhardt@microsoft.com>
      Co-authored-by: NMartin Costello <martin@martincostello.com>
      
      * Use RemoteExecutor
      
      * Update src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/HostTests.cs
      
      * Skip test on Windows nano server
      
      * Respond to PR feedback
      Co-authored-by: NEric Erhardt <eric.erhardt@microsoft.com>
      Co-authored-by: NMartin Costello <martin@martincostello.com>
      e2cddabc
    • T
      [wasm][debugger] Fix side effect on Firefox of getting bytes from loaded_files... · 10701870
      Thays Grazia 提交于
      [wasm][debugger] Fix side effect on Firefox of getting bytes from loaded_files using debugger protocol (#70990)
      
      * Fix 70983
      
      * fix typo
      
      * Fix compilation
      10701870
    • I
      [wasm] Enabled WasmTestOnBrowser run on Windows for Browser. (#70890) · 96a7014d
      Ilona Tomkowicz 提交于
      * Enabled tests - no timeout with new ems. Keeping disabled tests failing from other reasons.
      
      * Added @radical's suggestion.
      
      * Test CI- enable test that are throwing in Debug.
      96a7014d
    • H
      Convert fallback path of GetCommandLineArgs to managed (#70608) · eba3636d
      Huo Yaoyuan 提交于
      * P/Invoke definition
      
      * Use P/Invoke in managed code
      
      * Update managed call site
      
      * Add test using private reflection
      
      * Native command line should be superset of managed
      Co-authored-by: NJan Kotas <jkotas@microsoft.com>
      eba3636d
    • W
      Use `gtEffectiveVal` for `GT_ADD` op1 in `optCreateAssertion` (#70228) · 220ac849
      Will Smith 提交于
      * Initial work for comma hoisting in cse
      
      * Formatting
      
      * Adding more ops to comma hoisting
      
      * Set regnum
      
      * Update optcse.cpp
      
      * Using effectiveval instead
      220ac849
    • A
      Implement Vector128 version of System.Buffers.Text.Base64 DecodeFromUtf8 and EncodeToUtf8 (#70654) · d6d28e40
      Alan Hayward 提交于
      * Implement Vector128 version of System.Buffers.Text.Base64.DecodeFromUtf8
      
      Rework the SS3 into a Vector128 version, and add Arm64 support.
      
      * SSE3 improvements
      
      * Remove superfluous bitwise And
      
      * Add comment to SimdShuffle
      
      * Inline SimdShuffle
      
      * Implement Vector128 version of System.Buffers.Text.Base64.EncodeToUtf8
      
      * Ensure masking on SSE3
      
      Change-Id: I319f94cfc51d0542ae4eb11a8d48b3eb8180553f
      CustomizedGitHooks: yes
      
      * Restore asserts and move zero inside the loop
      
      * Neater C# code
      
      Change-Id: I2cbe14f4228f8035e7d213b5b58815c4eee35563
      CustomizedGitHooks: yes
      
      * Make SimdShuffle consistent across X64 and Arm64
      
      * Better looking multiply
      d6d28e40
    • D
      Add support for cross module inlining and cross module generic compilation to Crossgen2 (#68919) · 18ec279e
      David Wrighton 提交于
      * Add support for cross module inlining and cross module generic compilation to Crossgen2
      - Refactor Module into ModuleBase and Module
        - The goal is to have allow a subset version of Module which can only hold refs, this is to be used by the manifest module in an R2R image to allow for version resilient cross module references.
        - Update handling of ModuleBase so that its used everywhere that tokens are parsed from R2R
        - Remove ENCODE_MODULE_ID_FOR_STATICS and ENCODE_ACTIVE_DEPENDENCY
          - These were only used for NGEN, and conflict with easy impelmentation for the ModuleBase concept
        - Remove locking in ENCODE_STRING_HANDLE processing, and tweak comments. Comments applied to the removed ngen based code, and the lock was only necessary for the old ngen thing.
        - Adjust ComputeLoaderModuleWorker for locating loader module
          - Follow comment more accurately, to avoid putting every generic into its definition module. This will make R2R function lookup able to find compiled instantiations in some cases. This may be what we want long term, it may not.
        - Remove MemberRefToDesc map and replace with LookupMap like the other token types. We no longer make use of the hot table, so this is more efficient
          - Also reduces complexity of implementation of ModuleBase
      
      - Build fixup to describe a single method as a standalone blob of data
        - There are parallel implementations in Crossgen2 and in the runtime
        - They produce binary identical output
        - Basic R2RDump support for new fixup
      
      - Adjust module indices used within the R2R format to support a module index which refers to the R2R manifest metadata. This requires bumping the R2R version to 6.2
        - Add a module index between the set of assembly refs in the index 0 module and the set of assembly refs in the R2R manifest metadata
      
      - Adjust compilation dependency rules to include a few critical AsyncStateMachineBox methods
      
      - Remove PEImage handling of native metadata which was duplicative
      
      - Do not enable any more devirtualization than was already in use, even in the cross module compilation scenario. In particular, do not enable devirtualization of methods where the decl method isn't within the version bubble, even if the decl method could be represented with a cross-module reference token. (This could be fixed, but is out of scope for this initial investigation)
      
      Make the compilation deterministic in this new model, even though we are generating new tokens on demand
        - Implement this by detecting when we need new tokens during a compile, and recompiling with new tokens when necessary
        - This may result in compiling the same code as much as twice
      
      Compile the right set of methods with cross module inlining enabled
      - Add support for compiling the called virtual methods on generic types
        - This catches the List<T> and Dictionary<TKey,TValue> scenarios
      
      - Add command line switches to enable/disable the new behavior
        - By default the new behavior is not enabled
      18ec279e
    • J
      JIT: Model string literal objects as invariant and non-GLOB_REF (#70986) · 81cf5ad2
      Jakob Botsch Nielsen 提交于
      * Model string literals as invariant/non GLOB_REF
      
      * String literals are never null
      81cf5ad2
    • M
    • B
      Fix arm64 funclet frame type 5 (#70922) · dc8fd682
      Bruce Forstall 提交于
      * Fix arm64 funclet frame type 5
      
      * Add code to stress arm64 funclet frame type 5
      
      This can be forced using `COMPlus_JitSaveFpLrWithCalleeSavedRegisters=3`,
      or will be enabled under stress.
      
      * Add a regression test
      
      * Fix funclet frame type 5 alignment calculation
      
      * Fix a couple bugs; improve documentation
      
      1. Improve the frame shape pictures, especially for arm64 funclet frames. Include the
      MonitorAcquired element and OSR pad.
      2. Fix bug for `SP_to_PSP_slot_delta` for funclet frame type 4 for OSR: don't include osrPad.
      3. Fix bug with funclet frame type 5 for `SP_to_FPLR_save_delta` using wrong aligned func size;
      would be incorrect if one and two SP adjustment full frame aligned sizes are different (e.g.,
      if two SP adjustment required two alignment slots and one SP adjustment thus required none).
      dc8fd682
  2. 20 6月, 2022 11 次提交