Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: dotnet/runtime
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7b0227d5
Choose a base ref
...
head repository: dotnet/runtime
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 8755447e
Choose a head ref
  • 17 commits
  • 101 files changed
  • 16 contributors

Commits on Aug 25, 2022

  1. Fix building CLR test tree (#74547)

    * 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
    MichalStrehovsky authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    3eccadf View commit details
    Browse the repository at this point in the history
  2. 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.
    PeterSolMS authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    79e3cd0 View commit details
    Browse the repository at this point in the history
  3. [Android] gRPC client tests (#73060)

    * 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: Simon Rozsival <[email protected]>
    
    * 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: Jo Shields <[email protected]>
    simonrozsival and directhex authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    7a4b0af View commit details
    Browse the repository at this point in the history
  4. Enable caching of writeable W^X mappings (#74526)

    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.
    janvorli authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    16414dd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5764faf View commit details
    Browse the repository at this point in the history
  6. Only stack allocate when marshalling Utf8 arguments (#74478)

    * Only stack allocate when marshalling Utf8 arguments
    
    Fixes #74394.
    
    * Review feedback
    MichalStrehovsky authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    442c137 View commit details
    Browse the repository at this point in the history
  7. #50575 colorbehavior default should disable colors in android/applemo…

    …bile (#74496)
    
    * #50575 colorbehavior default should disable colors in android/applemobile
    mkhamoyan authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    ebdb045 View commit details
    Browse the repository at this point in the history
  8. Switch to unified fully managed Overlapped implementation (#74532)

    This change was attempted before in dotnet/coreclr#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.
    jkotas authored Aug 25, 2022
    1 Configuration menu
    Copy the full SHA
    4cf2e3b View commit details
    Browse the repository at this point in the history
  9. Add NuGet package for System.Runtime.Serialization.Schema (#74533)

    System.Runtime.Serialization.Schema isn't getting a NuGet package created for it because it doesn't set IsPackable=true.
    eerhardt authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    3e7d596 View commit details
    Browse the repository at this point in the history
  10. Add server1.pfx to CredScanSuppressions.json (#74559)

    **BYPASS_SECRET_SCANNING**
    akoeplinger authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    0e13ffa View commit details
    Browse the repository at this point in the history
  11. [wasm] Move all the wasm jobs from runtime-staging to runtime (#73596)

    * [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
    ```
    radical authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    e130a89 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f26c91b View commit details
    Browse the repository at this point in the history
  13. Disable distributed transaction tests on ARM (#74572)

    To unblock CI build failures, works around #74170
    roji authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    7a8af49 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    8ba720c View commit details
    Browse the repository at this point in the history
  15. Bump Kerberos.NET version in tests (#74554)

    Fixes tests on big endian platforms.
    filipnavara authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    4871358 View commit details
    Browse the repository at this point in the history
  16. Attempt to reduce test build cost (#74471)

    An evaluation of the cost of "Copy native test components to test output folder" indicates that there are 2 major performance bottlenecks in that routine.
    
    There are the findings I had
    1. The routine spends significant time loading every test project into msbuild to determine what to do. This processing takes as much as 400ms per test on hardware which has slow IO performance.
    2. On Unix platforms, when producing the test script binaries, we make the scripts executable by using chmod. This ALSO takes as long as 400ms on the slowest platforms.
    3. Actually copying the native binaries around is extremely cheap and fast, and the cost to generate the test scripts is also fairly low.
    
    This change addresses both of these issues.
    1. For the issue that we look into each test project to determine what to do, I observed that for tests which are pri1 tests, when running a pri0 only job, we don't need to even examine any of the tests marked as exclusively pri1. This is a bit of a hack, but it does seem to work quite well.
    2. For the chmod issue, since we don't actually maintain the executable bit when sent to helix, I set an msbuild property when generating the scripts during the "Copy native test components to test output folder" to just not set that flag.
    
    Results:
    Mac OSX test run jobs take ~8 minutes to run this portion of the build, down from ~27 minutes. Performance improvements are visible on all architectures/OS pairings, but they aren't as dramatic.
    davidwrighton authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    8d4364c View commit details
    Browse the repository at this point in the history
  17. Disable ConnectWithRevocation_ServerCertWithoutContext_NoStapledOcsp …

    …on NativeAoT (#74561)
    
    * Disable ConnectWithRevocation_ServerCertWithoutContext_NoStapledOcsp on NativeAoT
    * Disable tests against #70981 instead
    rzikm authored Aug 25, 2022
    Configuration menu
    Copy the full SHA
    8755447 View commit details
    Browse the repository at this point in the history
Loading