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/linker
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: ef2d0f2
Choose a base ref
...
head repository: dotnet/linker
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: d27ff61
Choose a head ref
  • 9 commits
  • 45 files changed
  • 7 contributors

Commits on Jul 7, 2022

  1. Fixed AddSuppresionsBeforeAttributeRemoval test (#2882)

    The test generated warnings which were not checked. The XML file was pointing to the wrong assembly and the linker raised IL2072 warning. Instead, the test verified the suppression of warning IL2067, which was not raised by the linker in the first place.
    
    Co-authored-by: Jeremi Kurdek <[email protected]>
    jkurdek and Jeremi Kurdek authored Jul 7, 2022
    Configuration menu
    Copy the full SHA
    2898eba View commit details
    Browse the repository at this point in the history
  2. Add more trimming options to TrimMode and change defaults (#2856)

    The new default for trimming is equivalent to TrimmerDefaultAction=link.
    Since we're trying to stay away from the term link and TrimmerDefaultAction
    isn't a very clear name, this change repurposes TrimMode.
    
    The two new TrimModes are 'full' and 'partial'. The new default is equivalent
    to 'TrimMode=full'. These new modes are also recognized for earlier TFMs, but
    the defaults are only changed for net7.0+.
    agocke authored Jul 7, 2022
    Configuration menu
    Copy the full SHA
    b6f1fb4 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2022

  1. Refactorings to help with linker->AOT integration (#2883)

    Move CompilerGenerated* classes to the DataFlow directory. They sort of belong there anyway and they should be "shared" with AOT (and the entire DataFlow directory is "Shared").
    
    Change how interprocedural state method tracking is initiated. For the parent method we track the "body", for everything else we add the method itself (and get the body inside the tracking). In AOT, getting a body of a method is more complicated and so having it in one place helps with factoring. Linker doesn't care either way so I made it symetric with AOT.
    
    InterproceduralStateLattice in AOT has state (IL Provider) so it has to be instantiated for each scanner separately. Made a symetric change in linker.
    
    Adds a test for nested local functions and data flow.
    vitek-karas authored Jul 9, 2022
    Configuration menu
    Copy the full SHA
    81c90bb View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2022

  1. Configuration menu
    Copy the full SHA
    4c95f11 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2022

  1. Add a test for unsupported branch instruction crash (#2887)

    * Add a test for unsupported branch instruction crash
    
    * Make the test pass for now
    vitek-karas authored Jul 12, 2022
    Configuration menu
    Copy the full SHA
    33a76b8 View commit details
    Browse the repository at this point in the history
  2. Intentionally skip switch instructions during branch removal as the c…

    …ode doesn't handle it yet (throws NIE). (#2889)
    vitek-karas authored Jul 12, 2022
    Configuration menu
    Copy the full SHA
    0872a5c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e2b3a92 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2022

  1. Fix a bug with null value passed to annotated parameter on attribute (#…

    …2894)
    
    This also makes small tweaks to help with linker->AOT sync.
    vitek-karas authored Jul 14, 2022
    Configuration menu
    Copy the full SHA
    072ebe7 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2022

  1. Analyze nested functions in Roslyn analyzer (#2892)

    This is the Roslyn analyzer counterpart to
    bc46e44.
    
    It adds detection of captured locals, and conservatively analyzes
    them with all values that it encounters in the method.  The
    analyzer makes no attempt to warn on reflection access to
    compiler-generated fields, because the compilation strategy for
    these is not known by the analyzer.
    
    Unlike the linker, this doesn't do conservative analysis for
    hoisted locals in state machine methods. The analyzer already
    understands control flow within state machines the same way it
    does for normal methods, so we just continue using that behavior
    here. We could consider improving the linker's analysis to match,
    but it would require a deeper understanding of the state machine
    methods.
    sbomer authored Jul 15, 2022
    Configuration menu
    Copy the full SHA
    d27ff61 View commit details
    Browse the repository at this point in the history
Loading