Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
parameters (#25054)
* fix generic attribute bug
* add missing test cases
|
|
This has been supported since v1 but we don't have much test coverage.
C# is going to enable interfaces to have static members and static constructors so we better start testing it.
|
|
Allow the runtime to load types with incomplete interface implementations. With this change, we allow (in pseudo-C#):
```csharp
interface IFoo { void Frob() { } }
interface IBar : IFoo { abstract void IFoo.Frob() }
class Fooer : IBar { }
```
Calling IFoo.Frob on an instance of `Fooer` will result in new exception being thrown because the default implementation of `IFoo.Frob` was re-abstracted by `IBar`.
|
|
LangVersion=8.0 (#22452)
* Update BuildTools to preview1-03713-01 (master)
* Updating CoreCLR to use LangVersion=8.0
* Moving the Windows scripts to default to `dotnet msbuild` for managed components
* Setting UseSharedCompilation=true
* Changing some additional callsites that were using msbuild to use dotnet msbuild
* Revert packages.builds to use Desktop msbuild on Windows
* Fixing runtest.cmd to always set DotNetCli
|
|
* Revert "Disable test Dev10_630880"
This reverts commit 4fb76de35184fb80054f29779f51af82a4aa7ad8.
* Delete test dev10_630880
This test has been exercising internal CoreLib details that have been deleted.
|
|
The jit incorporates the value of integer and float typed initonly static
fields into its codegen, if the class initializer has already run.
The jit can't incorporate the values of ref typed initonly static fields,
but the types of those values can't change, and the jit can use this knowledge
to enable type based optimizations like devirtualization.
In particular for static fields initialized by complex class factory logic the
jit can now see the end result of that logic instead of having to try and deduce
the type of object that will initialize or did initialize the field.
Examples of this factory pattern in include `EqualityComparer<T>.Default` and
`Comparer<T>.Default`. The former is already optimized in some cases by via
special-purpose modelling in the framework, jit, and runtime (see #14125) but
the latter is not. With this change calls through `Comparer<T>.Default` may now
also devirtualize (though won't yet inline as the devirtualization happens
late).
Also update the reflection code to throw an exception instead of changing the value
of a fully initialized static readonly field.
Closes #4108.
|
|
Custom modifiers are only lightly tested within the CLR test codebase (both closed and open). This adds targeted tests for:
* Resolution and overriding
* Various places that should ignore them
* Reflection
|
|
- Also add testcase
Fixes #20449
|
|
Enable Tiered Compilation by default
1) Changes the default state of the tiered compilation feature check to be ON BY DEFAULT
2) Removed comments about the source about this being a work in progress. Although it will surely continue to evolve and improve, remaining issues would be better tracked in our issue tracking system with the same default presumption as other runtime features - assume it works unless noted otherwise.
3) Adjusts a number of tests and automated scripts that made assumptions that the default setting of this feature is off.
4) Stop accepting the deprecated env var COMPLUS_EXPERIMENTAL_TieredCompilation. I'm not aware it has any remaining usage but if so we're going to find out.
5) Adjust config names for JitBench
|
|
declarations (#19188)
* build-test - fix ildasm warnings caused by missing or incorrect extern assembly declarations
white space was fixed in all files which were edited (tabs -> spaces, no white space at the end of line)
* Remove unnecessary assembly declaration metadata
|
|
|
|
Things have progressed far enough that its time to use a friendlier name. The feature still still has performance aspects that need to be investigated and improved, but I don't want to scare people off simply because it isn't as fast as it could be.
This also updates to use a newer CoreFX version for JitBench since that appeared to be broken, and updated some comments and usage of the tieredcompilation variable.
|
|
interfaces (#16690)
* Add checks and regression test
* Uncomment InvokeConsumer tests
* Revert JIT Interface Check
|
|
Disable tiered compilation for collectible assemblies
- An assembly can be marked collectible with methods not marked as dynamic
- The method desc and code can be deleted and a new method desc reallocated in the same location, code versioning doesn't handle this at the moment
|
|
Fixes #15648.
|
|
Fixes #15645.
Fixes #15644.
|
|
|
|
Fixes #6843
- Disabled caching struct types that have custom parameterless constructors in `ActivatorCache`
- Removed some things relevant to security, which don't apply to CoreCLR
|
|
|
|
Deleted a few other irrelevant properties as well while I was on it.
Fixes #7711
|
|
The test coverage for `ldtoken field X` and `ldtoken method X` in the
repo is very small - this test tries to improve things a little.
In particular, it tests that we get the right reflection objects, and
that we can do this from shared and unshared code.
|
|
Make sure that `ldtoken SomeType&` leads to the same type as `ldtoken
SomeType` followed by `MakeByRefType`.
|
|
|
|
To fix tests, change dnxcore50 -> netcoreapp1.0 and add test_runtime.
|
|
|
|
|
|
Upgrade System.Runtime dependency for JIT tests to get GCHandle.
Change system.runtime 4.0.20 to 4.1.0 rc2 dependency to try to copy the runtimes to CORE_ROOT.
Fix new project.json files.
Fix hardcoded Microsoft.DotNet.xunit.performance version.
Upgrade System.Runtime.InteropServices to prerelease level to avoid type conflicts with System.Runtime.
|
|
First checks to see if a stable version of that dependency was restored, and if not, found the stable.minor.patch version with the prerelease spec of the dependency.
|
|
|
|
checked-in lockfiles.
Used a tool to look at lockfiles: when a dependency did not have a corresponding downloaded package, found the latest version that was downloaded and changed the project.json to match. This fixes any packages that don't exist (such as some beta-23302) and floating dependencies (*).
|
|
|
|
|
|
|
|
|
|
This is a collection of managed runtime tests from an internal legacy test tree.
|