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: d7ae8c61f0937df4dcffe88ba96eae65fa523a78
Choose a base ref
...
head repository: dotnet/runtime
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 7e9cab2bd10c19bbe9a8212ab1071e6d03f729d7
Choose a head ref

Commits on Jun 14, 2024

  1. [mono] Fix assembly name parser to accommodate non-ASCII UTF8 strings (

    …#103363)
    
    Fixes #103276
    
    Added an automated test that the testcase failed in the above issue. It now passes with this change.
    
    Ideally, Mono should share the same assembly name parsing logic as CoreCLR, which is `AssemblyNameParser.TryParse`.
    fanyang-mono authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    39c4905 View commit details
  2. Add Base64url encoding/decoding (#102364)

    * Base64Url encoding, validation impelementation
    
    * Validation related updates
    
    * Try fix perf regression in vectorized methods
    
    * Add decoder implementation and unit tests
    
    * Share code in place decoding code
    
    * Add span<char> oveloads with vectorization
    
    * Generalize Span char/byte implementations
    
    * Move ref update to runtime and other cleanup
    
    * Generalize the AdvSimd.Arm64 vectorization added recently
    
    * Apply suggestions from code review
    
    Co-authored-by: Günther Foidl <gue@korporal.at>
    
    * Apply some feedback
    
    * Try fix ARM failure
    
    * Use array pool whenever applicable
    
    * Handle '%' as url padding, add more tests and fix findings
    
    * Fix assertion failure, apply some feedback, try fix ARM failure
    
    * Update docs, small clean ups
    
    * Try fix ARM failure
    
    * Update src/libraries/System.Private.CoreLib/src/System/Buffers/Text/Base64Url/Base64UrlEncoder.cs
    
    Co-authored-by: Günther Foidl <gue@korporal.at>
    
    * Rename StoreToDetionation overloads, reuse some duplicate code
    
    * Improve perf for Base.IsValid() oveerloads, exclude ARM vectorization for char(ushort) overload
    
    * Apply feedbacks
    
    * Revert Assert
    
    * Fix ARM vectorization failure for char overload
    
    * Apply suggestions from code review
    
    Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
    
    * Apply suggestions from code review
    
    Co-authored-by: Günther Foidl <gue@korporal.at>
    
    * Apply more feedback
    
    * Apply suggestions from code review
    
    Co-authored-by: Günther Foidl <gue@korporal.at>
    
    * Apply review comment left overs
    
    * Apply suggestions from code review
    
    Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
    
    * Apply remaining feedback
    
    * Apply suggestions from code review
    
    Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
    
    * Apply the doc feedback for other API docs
    
    * Fix Base64Url fuzzer findings
    
    * Apply suggestions from code review
    
    Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
    
    * Rename utf8 -> source/destintion
    
    * Apply feedbacks
    
    * Apply feedback
    
    * Apply left out feedbacks
    
    ---------
    
    Co-authored-by: Günther Foidl <gue@korporal.at>
    Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
    Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
    4 people authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    48c8805 View commit details
  3. Add OrderedDictionary (#103309)

    * Add OrderedDictionary
    
    * Open-code collection data structure rather than using Dictionary+List
    
    This rewrites the core of the type to be based on a custom data structure rather than wrapping Dictionary and List. The core structure is based on both Dictionary in corelib and the OrderedDictionary prototype in corefxlab.
    
    This also adds missing TryAdd, Capacity, EnsureCapacity, and TrimExcess members for parity with Dictionary, and fixes debugger views for the Key/ValueCollections.
    
    * Address PR feedback
    
    * Add more tests based on code coverage gaps
    
    * Address PR feedback
    
    * Try to fix NativeAOT tests in CI
    stephentoub authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    2b0e517 View commit details
  4. JIT: Added `Sve.LoadVectorNonTemporal/NonFaulting/128AndReplicateToVe…

    …ctor` APIs (#103392)
    
    * Added Sve LoadVectorNonTemporal/NonFaulting/128AndReplicateToVector APIs
    
    * Feedback
    TIHan authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    5508f79 View commit details
  5. Fold identical method bodies in the compiler (#101969)

    Saves up to 5.2% in file size per rt-sz measurements.
    
    Adds a phase before object writing that looks for identical method bodies and deduplicates those that are same.
    
    To keep delegate equivalence working, the compiler also distinguishes between references to symbols and references to symbols that have an observable address identity. When a method is folded that has an observable address identity, the references that require observable address identity go through a unique jump thunk. This means that delegates point to jump thunks and reflection mapping tables point to jump thunks (whenever a method body got folded into a different method body). We do not need the jump thunks for references that are not address exposed (so a `call` in a method body will no go through a jump thunk).
    
    Since method body folding is still observable with stack trace APIs or debuggers, this is opt in. The user gets opted in by setting `StackTraceSupport=false` (or using an undocumented switch).
    
    I took a shortcut in a couple places where references that may or may not be address exposed get treated as address exposed. There are TODO comments around those. We may want to fix tracking within the compiler to tighten this. It may not matter much. I also took a shortcut in deduplication - we currently only look at leaf identical method bodies. The method bodies that become identical after first level of folding currently don't get folded. This leaves a bit size on the table still. There's a TODO comment as well. We also don't consider function pointers address exposed since there's no API to compare these. That's also a TODO for whenever we add such API.
    MichalStrehovsky authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    ae80f73 View commit details
  6. Point to DMI.Create from RUC message on StackFrame.GetMethod (#103400)

    Should help discoverability.
    MichalStrehovsky authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0dddcc5 View commit details
  7. Set UseNativeAotForComponents to false on bionic (#103454)

    This was enabled in #103273 but needs more work to actually build. Official builds are failing.
    MichalStrehovsky authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    d901213 View commit details
  8. Use ThrowHelper in Queue<T> (#103424)

    * Use ThrowHelper in Queue<T>
    
    * Don't use ThrowHelper in ThrowHelper
    
    * Remove empty line
    lilinus authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    069c156 View commit details
  9. clrinterp: Add missing must-expand intrinsics (#103326)

    EgorBo authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    7d6ea7c View commit details
  10. Do not set UseNativeAotForComponents for arm32 MUSL (#103469)

    Not clear why we can't find path to ILC, but this is failing official builds and we need to unblock.
    
    ```
    error MSB3073: The command ""\tools\\ilc" @"/__w/1/s/artifacts/obj/cdacreader/Release/net9.0/linux-musl-arm/native/libcdacreader.ilc.rsp"" exited with code 127.
    ```
    MichalStrehovsky authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    f1f0750 View commit details
  11. Make System.Formats.Nrbf public (#103232)

    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    Co-authored-by: Eric StJohn <ericstj@microsoft.com>
    3 people authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    121230d View commit details
  12. [RISC-V] Disable EnableWriteXorExecute by default on riscv64 architec…

    …tue (#103408)
    
    * Disable EnableWriteXorExecute by default on riscv64 architectue
    
    On riscv64 architectue any dotnet process that loads corossgened assembly
    without DOTNET_EnableWriteXorExecute=0 environment variable set
    crashes with "Segmentation fault" error.
    
    For example System.Private.CoreLib.dll is compiled with crossgen2 by default
    during build phase so this crash applies to any processes that loads it.
    
    Setting EnableWriteXorExecute=0 disables this options on riscv64 architecure
    and prevents these crashes.
    
    Co-authored-by: Dong-Heon Jung <clamp03@gmail.com>
    
    * Add a link to an issue about re-enabling WriteXorExecute on riscv64 arch.
    
    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    
    ---------
    
    Co-authored-by: Dong-Heon Jung <clamp03@gmail.com>
    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    3 people authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    dd8d97e View commit details
  13. Update dependencies from https://github.com/dotnet/roslyn-analyzers b…

    …uild 20240613.1 (#103473)
    
    Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
     From Version 3.11.0-beta1.24306.2 -> To Version 3.11.0-beta1.24313.1
    
    Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
    dotnet-maestro[bot] and dotnet-maestro[bot] authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    f8f4509 View commit details
  14. ARM64-SVE: gathervector extends (#103370)

    * ARM64-SVE: gathervector extends
    
    * Comment out 32bit address APIs
    
    * Replace triple quotes with doubles
    
    * restore commented API
    
    * Set HW_Category_MemoryLoad for all gatherloads
    
    * Fix cast checking for all load types
    
    * Remove GT_CAST changes
    a74nh authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0d60428 View commit details
  15. Handle more than 64 registers - The finale (#103387)

    * Add predicate registers
    
    * Increase REGNUM_BITS to 7
    
    * Assign float registers if node is mask
    
    * Remove some TODO-SVE present for predicate register implementation
    
    * Make sure to use vector registers if there is no mask
    
    * handle some more printing of predicate registers
    
    * jit format
    
    * try to fix gcc failure
    
    * Revert "try to fix gcc failure"
    
    This reverts commit 5452f6a.
    
    * proper gcc-14 build error fix
    kunalspathak authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    b4a1fa2 View commit details
  16. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    98a966c View commit details
  17. Exclude cdacreader from mono packs (#103488)

    am11 authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    b02bc31 View commit details
  18. Add File.Append/WriteAllText/Bytes{Async} overloads for span/memory (#…

    …103308)
    
    * Add File.Append/WriteAllText/Bytes{Async} overloads for span/memory
    
    * Fix faulty assert
    stephentoub authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    37d1a8e View commit details
  19. Expose the BigMul APIs publicly (#103455)

    * Expose the BigMul APIs publicly
    
    * Ensure that inputs for BigMuil32x32Signed are all naturally typed as int
    tannergooding authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    81e56ac View commit details
  20. Mark StringContent mediaType parameters as nullable (#103442)

    * Mark StringContent mediaType parameters as nullable
    
    * Update tests
    MihaZupan authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    4a87c0e View commit details
  21. Fix linux arm64 release build (#103490)

    * Fix linux arm64 release build
    - Workaround issue where the link register isn't being reported properly in the unwind data
    
    Works around #103489
    davidwrighton authored Jun 14, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    429de52 View commit details

Commits on Jun 15, 2024

  1. Update the artifact path for the maui benchmarks app to fix android t…

    …esting. (#103483)
    LoopedBard3 authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    eb6f1ae View commit details
  2. JIT: Consider block weights instead of BBF_RUN_RARELY flag in fgMoveC…

    …oldBlocks (#103492)
    
    Based on feedback in #102763 (comment), define "cold" blocks based on whether their weights are below a certain threshold, rather than only considering blocks marked with BBF_RUN_RARELY, in fgMoveColdBlocks. I added a BasicBlock method for doing this weight check rather than localizing it to fgMoveColdBlocks, as I plan to use it elsewhere in the layout phase.
    amanasifkhalid authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    5b96528 View commit details
  3. Add a line stating that debugger scenario is not yet supported (#103491)

    * Add a line stating that debugger scenario is not yet supported
    
    * add the message in other 2 files as well
    kunalspathak authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    5ba3c05 View commit details
  4. Update Array.CoreCLR.cs (#103493)

    MichalPetryka authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    80d0b88 View commit details
  5. Delete -fms-extensions from coreclr native build (#102834)

    For stdcpp conformance, remove the remaining special extensions.
    * clean up unnecessary __llvm  special handling.
    * Add class, enum, struct prefixes to cases where the variable name is clashing with type name and it changes meaning  (-Werror=changes-meaning)
      * In some trivial cases, I just renamed the variables..
    * On x86, replace `__asm {}` syntax with `__asm ("")`
    * Two small illumos related build fixes under `src/native` which helped validating the rest of the changes on the platform.
    am11 authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    3099f31 View commit details
  6. [LoongArch64] Implement 'JIT_GetDynamicNonGCStaticBase_SingleAppDomai…

    …n', 'JIT_GetDynamicGCStaticBase_SingleAppDomain' after PR#99183. (#103467)
    
    * Implement `JIT_GetDynamicNonGCStaticBase_SingleAppDomain`, `JIT_GetDynamicGCStaticBase_SingleAppDomain` for LoongArch64 after PR #99183.
    * Also fix the build error for LA64.
    
    Change-Id: Ifb9ee599bca3971270a5bc654770dfcc7e931955
    LuckyXu-HF authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    b1f63db View commit details
  7. Fix must-expand intrinsic detection (#99818)

    EgorBo authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0f0981f View commit details
  8. Revert "Consolidate <NativeAotSupported definitions (#103273)" (#103497)

    * Revert "Do not set UseNativeAotForComponents for arm32 MUSL (#103469)"
    
    This reverts commit f1f0750.
    
    * Revert "Set UseNativeAotForComponents to false on bionic (#103454)"
    
    This reverts commit d901213.
    
    * Revert "Try fixing x86 Windows legs (#103411)"
    
    This reverts commit 6927fea.
    
    * Revert "Consolidate <NativeAotSupported definitions (#103273)"
    
    This reverts commit b86c463.
    MichalStrehovsky authored Jun 15, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    7e9cab2 View commit details
Loading