1. 25 8月, 2022 22 次提交
    • A
      [wasm] Move all the wasm jobs from runtime-staging to runtime (#73596) · e130a89c
      Ankit Jain 提交于
      * [wasm] Move stable jobs from runtime-staging to runtime
      
      - library tests: windows
      - AOT tests: windows
      - Debugger tests (chrome): windows, and linux
      - Wasm.Build.Tests: windows
      
      * Move last remaining wasm-firefox tests to runtime too
      
      * Move firefox debugger tests to runtime-extra-platforms
      
      * Fix browser-eventpipe build
      
      ```
      src/mono/sample/wasm/browser-eventpipe/Program.cs(80,13): error IDE0074: (NETCORE_ENGINEERING_TELEMETRY=Build) Use compound assignment
      ```
      e130a89c
    • A
      Add server1.pfx to CredScanSuppressions.json (#74559) · 0e13ffaa
      Alexander Köplinger 提交于
      **BYPASS_SECRET_SCANNING**
      0e13ffaa
    • E
      Add NuGet package for System.Runtime.Serialization.Schema (#74533) · 3e7d5964
      Eric Erhardt 提交于
      System.Runtime.Serialization.Schema isn't getting a NuGet package created for it because it doesn't set IsPackable=true.
      3e7d5964
    • J
      Switch to unified fully managed Overlapped implementation (#74532) · 4cf2e3bb
      Jan Kotas 提交于
      This change was attempted before in https://github.com/dotnet/coreclr/pull/23029 and rejected due to performance impact. Things have changed since then that makes it feasible now.
      
      Sockets and file I/O do not use pinning feature of Overlapped anymore. They pin memory on their own using `{ReadOnly}Memory<T>.Pin` instead. It means that the async pinned handles are typically not pinning anything. The async pinned handles come with some extra overhead in this common use case. Also, they cause confusion during GC behavior drill downs. This change removes the support for async pinned handles from the GC:
      - It makes the current most common Overlapped use cheaper. It is hard to measure the impact of eliminating async pinned handles exactly since they are just a small part of the total GC costs. The unified fully managed implementation enabled simplificication of the implementation and reduced allocations.
      - It gets rid of confusing async pinned handles behavior. The change was actually motivated by a recent discussion with a customer who was surprised by the async pinned handles not pinning anything. They were not sure whether it is expected behavior or whether it is a bug in the diagnostic tools.
      
      Micro-benchmarks for pinning feature of Overlapped are going to regress with this change. The regression in a micro-benchmark that runs Overlapped.Pack/Unpack in a tight loop is about 20% for each pinned object. If there is 3rd party code still using the pinning feature of Overlapped, Overlapped.Pack/Unpack is expected to be a tiny part of the end-to-end async flow and the regression for end-to-end scenarios is expected to be in noise range.
      4cf2e3bb
    • M
      #50575 colorbehavior default should disable colors in android/applemobile (#74496) · ebdb0455
      Meri Khamoyan 提交于
      * #50575 colorbehavior default should disable colors in android/applemobile
      ebdb0455
    • M
      Only stack allocate when marshalling Utf8 arguments (#74478) · 442c1378
      Michal Strehovský 提交于
      * Only stack allocate when marshalling Utf8 arguments
      
      Fixes #74394.
      
      * Review feedback
      442c1378
    • A
      5764faf1
    • J
      Enable caching of writeable W^X mappings (#74526) · 16414dd1
      Jan Vorlicek 提交于
      This change enables caching of the last used writeable mapping for
      W^X. It was originally disabled by an ifdef, but after we've turned W^X
      on by default, performance tests have shown a regression in some regex
      tests. I have investigated those and found that they do excessive amount
      of jitting (around 50000 methods). Enabling the caching of the last used
      writeable mapping fixes the regression completely.
      The caching implementation was present in the sources ever since I've
      implemented the W^X stuff, but if was disabled by an ifdef. So this
      change just defines the related symbol and enables the code.
      
      The caching basically just keeps a writeable mapping after unmapping
      until the next mapping request arrives, so it gives an opportunity to
      reuse it in case of series of mappings of sequential range of executable
      memory, which happens e.g. in the case mentioned.
      16414dd1
    • S
      [Android] gRPC client tests (#73060) · 7a4b0afc
      Simon Rozsival 提交于
      * WIP: add gRPC tests
      
      * Fix AOT and trimming
      
      * WIP
      
      * Implement IncludeNetworkSecurityConfig
      
      * Use IncludeNetworkSecurityConfig
      
      * Fix gRPC test
      
      * Avoid git checkout
      
      * Remove unnecessary code
      
      * WIP: start working on CI configuration
      
      * Remove WinHttpHandler
      
      * Fix problem with SSL
      
      * Change server host
      
      * Setup CI (#1)
      
      * Get Docker container building & exported via test build
      
      * Changes
      
      * Add missing pfx certificate
      
      * changes
      
      * cleanup
      Co-authored-by: NSimon Rozsival <simon@rozsival.com>
      
      * Use tls
      
      * Update yml
      
      * Revert changes to the mono Android sample app
      
      * Bump android image version
      
      * Bump image version
      
      * Enable TLS
      
      * Remove hardcoded package versions
      
      * Update package versions
      
      * Update package versions
      
      * Rename pipeline
      
      * Move interop tests website dependencies versions to Versions.props
      
      * Add cred scan supression for the interop test server private key
      
      * Fix licenses
      
      * Remove dependencies
      
      * Fix path to Versions.props
      
      * Remove unnecessary dependency version
      
      * Fix building docker image
      
      * Change pfx password
      Co-authored-by: NJo Shields <directhex@apebox.org>
      7a4b0afc
    • P
      Working with StressLogAnalyzer I found yet another issue where we are missing... · 79e3cd09
      Peter Sollich 提交于
      Working with StressLogAnalyzer I found yet another issue where we are missing an initialization when re-running the analysis - when you add a format string to look for via the -f option, and then later remove it, it's not actually removed, but is still found. (#74491)
      
       missing an initialization when re-running the analysis - when you add a format string to look for via the -f option, and then later remove it, it's not actually removed, but is still found.
      
      The fix is simply to clear the s_interestingStringTable above the fixed entries.
      79e3cd09
    • M
      Fix building CLR test tree (#74547) · 3eccadff
      Michal Strehovský 提交于
      * If we're only building Pri-0 tests, don't try to AOT compile Pri-1 tests. `_WillCLRTestProjectBuild` is the property that checks for that.
      * Targeting pack references get injected in a way that the compiler targets don't see. The compiler targets are written for publish scenarios but we're not doing a publish.
      
      Fixes #68394
      3eccadff
    • S
      7b0227d5
    • A
      Fix a buffer overrun in GC structures (#74540) · dc55d613
      Anton Lapounov 提交于
      dc55d613
    • A
      Remove all non-functional/non-informational uses of mscorlib. (#74529) · 8ec62773
      Aaron Robinson 提交于
      * Remove all non-functional/non-informational uses of mscorlib.
      8ec62773
    • A
      [wasm] Test, and app host fixes (#74512) · e8583df7
      Ankit Jain 提交于
      * [wasm] Use explicity allowed ports with playwright, on linux too
      
      Fixes https://github.com/dotnet/runtime/issues/72436 .
      
      * [wasm] Quote path, and arguments for wasm app host
      
      Fixes use of app host on windows, when it's installed in `c:\program
      files`.
      
      * Update BrowserRunner.cs
      e8583df7
    • A
      [mono] Assert that we don't need to inflate types when applying DIM overrides (#74379) · 33fddbd6
      Aleksey Kliger (λgeek) 提交于
      Due to rearranging the logic in #64102 we already inflated the interfaces that are generic instances. Inflating again is wrong and will use the wrong generic context.
      
      * use member access, not type punning
      
      * Add regression test for #70190
      
      * Assert that overrides are already inflated how we expect
      
      * remove unused var
      
      * Remove one more inflate, there's nothing to do
      
         In https://github.com/dotnet/runtime/pull/64102#discussion_r790019545 we concluded that this branch is never taken.
      
      * Add link to issue for failing tests
      33fddbd6
    • T
    • P
      improved perf test (#74514) · c7a4e28c
      Pavel Savara 提交于
      c7a4e28c
    • T
      Remove unnecessary runtime lookup for constrained callvirt (#73823) · 24d185e5
      Tomáš Rylek 提交于
      In my change adding support for default static virtual interface
      method implementations I made a subtle bug that caused
      behavioral change for some pre-existing constrained virtual calls
      that newly started to require runtime lookup. This is unnecessary
      and perf-negative, I have modified the code so that my change
      kicks in only for static virtual methods.
      
      Thanks
      
      Tomas
      24d185e5
    • S
      Allow SIMD-returning calls as arguments (#74184) · a07f2e99
      SingleAccretion 提交于
      * Add a test
      
      * Allow SIMD-returning calls as arguments
      
      As of this change we handle all relevant ABI scenarios.
      
      1) Windows x64:
         - SIMD8: returned and passed as "TYP_LONG", fine.
         - SIMD12 / SIMD16 / SIMD32: returned and passed via a return buffer, fine.
      2) Unix x64:
         - SIMD8: returned and passed in one FP register, fine.
         - SIMD12 / SIMD16, Vector4: returned and passed in two FP registers, fine.
         - SIMD16, Vector128 / SIMD32: returned and passed via a return buffer, fine.
      3) x86:
         - SIMD8: can be returned via two registers or a return buffer (and is always passed on stack), both are fine.
         - SIMD12/SIMD16/SIMD32: returned via a return buffer, passed on stack, fine.
      4) ARM64:
         - SIMD8, Vector2: returned in two FP registers (and passed as such or "TYP_LONG" under Windows varargs), fine.
         - SIMD8, Vector64: returned in one FP register, can be passed as such or as "TYP_LONG" under Windows varargs.
           The latter case is now handled correctly in "Lowering::LowerArg".
         - SIMD12: returned in three FP registers, passed as such or in two integer registers under Windows varargs, fine.
         - SIMD16, Vector4: returned in four FP registers, passed as such, or in two integer registers under Windows varargs, fine.
         - SIMD16, Vector128: returned in one FP register, passed as such, or in two integer registers under Windows varargs, fine
           (morph will decompose the varargs case into a `FIELD_LIST` via a temp).
      a07f2e99
    • J
    • D
      Allow more than 64 ISA flags for jit interface. (#73965) · 040c7bd9
      DeepakRajendrakumaran 提交于
      Details:
      Previously ISA flags were represented as bits in a 64 bit variable.
      This limited the total number of possible ISAs to 64. This change
      modifies this and starts using an array of 64 bit vars to store ISA flags.
      The main changes are in InstructionSetGenerator.cs. This drives a lot of other
      changes in this commit which are generated files.
      040c7bd9
  2. 24 8月, 2022 18 次提交