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: 33cb335
Choose a base ref
...
head repository: dotnet/runtime
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 5108757
Choose a head ref
  • 15 commits
  • 89 files changed
  • 10 contributors

Commits on Oct 24, 2022

  1. Configuration menu
    Copy the full SHA
    e232f79 View commit details
    Browse the repository at this point in the history
  2. Add ReadOnly{Observable}Collection/Dictionary.Empty (#76764)

    * Add ReadOnly{Observable}Collection/Dictionary.Empty
    
    * Revert XamlLoadPermission.cs change to fix downlevel build
    stephentoub authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    bbcff6b View commit details
    Browse the repository at this point in the history
  3. SmtpClientTest Assertion Fail Fix (#76361)

    * Eliminate temporary -1 on Socket.Unix.cs
    liveans authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    c092a76 View commit details
    Browse the repository at this point in the history
  4. SPMI: Fix repPrintObjectDescription and repGetStringLiteral (#77372)

    repPrintObjectDescription was not null-terminating when the map was
    null. There is SPMI error trap on the JIT side so we can just make it
    fail on missing data.
    
    repGetStringLiteral should not succeed on missing data, it is used for
    optimization purposes.
    jakobbotsch authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    1c265ec View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    58a1180 View commit details
    Browse the repository at this point in the history
  6. Update def flags in gtCloneExpr (#77378)

    Limit to cases where are actually performing replacements to mitigate TP impact.
    SingleAccretion authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    cc140fc View commit details
    Browse the repository at this point in the history
  7. Fix comment (#77226)

    filipnavara authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    2d8379d View commit details
    Browse the repository at this point in the history
  8. [wasm] Add IMemoryView as exported type (#77371)

    - Add IMemoryView as exported type.
    - IMemoryView extends IDisposable.
    maraf authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    41db775 View commit details
    Browse the repository at this point in the history
  9. Fold primitive-typed access to promoted structs in local morph and fo…

    …rbid mismatched struct assignments (#76766)
    
    * GenTree::GetLayout field FIELDs
    
    * Do not create invalid IR when replacing promoted fields
    
    Instead, create constructions like "OBJ(ADDR(LCL_VAR))"
    that block morphing can recognize on its own.
    
    * Delete lvFieldHnd
    
    * GenTree::GetLayout - CALL/COMMA
    
    * GenTreeHWIntrinsic::GetLayout
    
    * Add an assert that LHS and RHS match
    
    * Fix assert violation
    
    And simplify the code...
    
    * Delete RetypedAsScalarFieldsMap
    
    Without handle equality, the assert no longer holds, for example:
    ```cs
    private StructWithInt Problem(StructWithInt b, StructWithInt a)
    {
        a = ((StructWithStructWithInt*)&b)->StructWithInt;
        return a;
    }
    ```
    
    * Delete a bit of code
    
    Dead / unncessary.
    
    No diffs.
    
    * Fold promoted locals in local morph
    
    * Support GT_IND in MorphStructField
    
    This is significantly simpler than moving the promotion logic
    to post-order because we don't need to fiddle with the ref
    counting process and complexities of intermediate states, e. g.
    "IND<float>(ADDR(FIELD<int>(ADDR(LCL_VAR<struct>))))" can be
    naturally turned into "BITCAST<float>(LCL_VAR<int>)" like this.
    
    * More code removal
    
    * Move "fgMorphStructField" to local morph
    
    * TP tuning
    
    With this, we have only a very small regression:
    
    Base: 1297463478, Diff: 1297750893, +0.0222%
    LocalAddressVisitor::MorphStructField : 345099  : NA       : 31.52% : +0.0266%
    LocalAddressVisitor::PreOrderVisit    : 224684  : +3.53%   : 20.52% : +0.0173%
    memset                                : 88591   : +0.99%   : 8.09%  : +0.0068%
    Compiler::fgMorphSmpOp                : -19170  : -0.06%   : 1.75%  : -0.0015%
    Compiler::fgMorphStructField          : -367474 : -100.00% : 33.56% : -0.0283%
    
    (This is with a dummy field on LclVarDsc)
    
    Losing the assert does not seem worrysome as we have an identical one in "fgMorphField".
    SingleAccretion authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    76cf397 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0c0102d View commit details
    Browse the repository at this point in the history
  11. Detriplicate internal SingleProducerSingleConsumerQueue (#76932)

    System.Private.CoreLib, System.Threading.Tasks.Dataflow, and System.Threading.Channels have all ended up with their own copy of SingleProducerSingleConsumerQueue and its associated helpers.  This consolidates them down to a single shared copy.
    
    There's no functional change here, just deleting duplicates and moving things around.
    stephentoub authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    70fb135 View commit details
    Browse the repository at this point in the history
  12. Fix reported PriorityQueue issue. (#77229)

    * Fix #77212.
    
    * Remove unneeded using statement.
    eiriktsarpalis authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    090003a View commit details
    Browse the repository at this point in the history
  13. SPMI: More information on CI failures (#77361)

    This enhances parts of the SPMI process with more information on failures.
    
    Also fixes a bug I introduced when I added tpdiffs: when asmdiffs fails, it was not marking the entire pipeline as failing.
    jakobbotsch authored Oct 24, 2022
    Configuration menu
    Copy the full SHA
    9290f85 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2022

  1. Consolidate the GUID to string logic (#77394)

    * Consolidate the GUID to string logic
    
    Replace obvious uses of GUID to string
    logic with a new constant for buffer length.
    AaronRobinsonMSFT authored Oct 25, 2022
    Configuration menu
    Copy the full SHA
    a394aea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5108757 View commit details
    Browse the repository at this point in the history
Loading