-
Notifications
You must be signed in to change notification settings - Fork 126
Comparing changes
Open a pull request
base repository: dotnet/linker
base: 4db6ac9
head repository: dotnet/linker
compare: 9c993bf
- 15 commits
- 126 files changed
- 9 contributors
Commits on Oct 27, 2022
-
Create
ParameterProxyto wrap logic surrounding parameters and use ……one `ParameterIndex` struct to index (#3059) This reverts commit 45e2e59. This commit creates a 'ParameterProxy' type and 'ParameterIndex' to represent parameters in a consistent way. This is motivated by using 'int' to represent different ways of counting parameters (sometimes offset by 1 for the 'this' parameter, sometimes not offset). ParameterIndex should now be the only type used to index into a method's parameters. ParameterIndex represents the index of the parameter as it is passed to the method in IL (i.e. 'this' is the 0 index in instance methods). ParameterProxy wraps the common convention of a MethodProxy and int to represent a parameter, and now holds a Method and a ParameterIndex to encapsulate a Parameter. No behavioral changes are expected from this change. Co-authored-by: Vitek Karas <10670590+vitek-karas@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ca39998 - Browse repository at this point
Copy the full SHA ca39998View commit details -
Update CI status in readme (#3086)
* Update CI status in readme Co-authored-by: Sven Boemer <sbomer@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ef10f6d - Browse repository at this point
Copy the full SHA ef10f6dView commit details -
Check for marking virtual method due to base only when state changes (#…
…3073) Instead of checking every virtual method to see if it should be kept due to a base method every iteration of the MarkStep pipeline, check each method only when its relevant state has changed. Co-authored-by: Sven Boemer <sbomer@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 8306887 - Browse repository at this point
Copy the full SHA 8306887View commit details
Commits on Oct 31, 2022
-
Configuration menu - View commit details
-
Copy full SHA for c5d28ae - Browse repository at this point
Copy the full SHA c5d28aeView commit details -
Update dependencies from https://github.com/dotnet/arcade build 20221…
…024.5 (#3092) [main] Update dependencies from dotnet/arcade
Configuration menu - View commit details
-
Copy full SHA for aea1d9f - Browse repository at this point
Copy the full SHA aea1d9fView commit details
Commits on Nov 1, 2022
-
Fix branch removal in compiler generated code (#3088)
Changes to processing of compiler generated methods lead to a state where we don't call constant prop and branch removal in all cases before we mark instructions of the method. This can lead to overmarking This change fixes this by making sure that the branch removal executes on the method in all cases before we mark instructions of the method. The change guarantees that all accesses to Body are after the constant prop/branch removal happened on the method. This does have one possibly negative impact: the issue described in https://github.com/dotnet/linker/issues/2937 is now consistent and happens always. Added tests. Note that there's still a whole in analysis of compiler generated code around state machines, see #3087 Basically if there's a local function which is going to be removed due to branch removal and if the body of that method contains code which produces a warning due to generic parameter validation, such warning will always be generated even though it's "dead" code and even if it's suppressed via RUC or similar. In such case the analysis can't figure out to which method the local function belongs (since the call site has been removed).
Configuration menu - View commit details
-
Copy full SHA for e502e72 - Browse repository at this point
Copy the full SHA e502e72View commit details
Commits on Nov 2, 2022
-
Don't mark override of abstract base if the override's declaring type…
… is not marked (#3098) * Don't mark an override every time the base is abstract, only if the declaring type is also marked Adds a condition to ShouldMarkOverrideForBase to exit early if the declaring type of the method is not marked.
Configuration menu - View commit details
-
Copy full SHA for 391ac60 - Browse repository at this point
Copy the full SHA 391ac60View commit details
Commits on Nov 3, 2022
-
Configuration menu - View commit details
-
Copy full SHA for c8099e2 - Browse repository at this point
Copy the full SHA c8099e2View commit details
Commits on Nov 7, 2022
-
Update dependencies from https://github.com/dotnet/arcade build 20221…
…104.2 (#3102) [main] Update dependencies from dotnet/arcade
Configuration menu - View commit details
-
Copy full SHA for 64a0089 - Browse repository at this point
Copy the full SHA 64a0089View commit details -
Add KeptByAttribute to validate an item was kept due to a specific de…
…pendency (#3096) The tests we have in the linker try to ensure that something can only be kept for a certain reason, but it can be hard to ensure it's not being kept for another reason. For example, sometimes we use typeof(TestType) to mark a type, but that also makes it relevant to variant casting, which can cause parts of TestType to be kept for unintended reasons. This PR creates the KeptByAttribute which accepts a fully qualified string in Cecil format to indicate depenency provider (the thing that is creating the dependency that marks the item with the attribute), as well as a string representing the DependencyKind to specify the "reason" there was a dependency between the two. It also can accept a System.Type, or a System.Type + name of the member to indicate the dependency provider.
Configuration menu - View commit details
-
Copy full SHA for dc5e60f - Browse repository at this point
Copy the full SHA dc5e60fView commit details
Commits on Nov 8, 2022
-
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 01c5fa4 - Browse repository at this point
Copy the full SHA 01c5fa4View commit details -
Merge pull request #3099 from dotnet/enable_codeql
Enable CodeQL with TSA
Configuration menu - View commit details
-
Copy full SHA for 3fd8e28 - Browse repository at this point
Copy the full SHA 3fd8e28View commit details
Commits on Nov 9, 2022
-
Sync shared code changes from NativeAOT (#3101)
Syncing back updates to the shared code from NativeAOT. Mostly formatting - runtime has enabled an analyzer which requires all members to have visibility assigned explicitly. Some cleanup.
Configuration menu - View commit details
-
Copy full SHA for c196ac3 - Browse repository at this point
Copy the full SHA c196ac3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 73e08af - Browse repository at this point
Copy the full SHA 73e08afView commit details
Commits on Nov 10, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9c993bf - Browse repository at this point
Copy the full SHA 9c993bfView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 4db6ac9...9c993bf