Age | Commit message (Collapse) | Author |
|
Merge changes from TFS
|
|
[tfs-changeset: 1644899]
|
|
* Split pipeline build to match CoreFX's model.
- OS-specific legs no longer publish to MyGet, they just upload to Azure.
- New publish leg downloads from Azure and publishes to MyGet.
- Only includes Microsoft.TargetingPack.Private.CoreRT for now, will add ILCompiler
after we sort out what OS-specific packages should be named.
* Addressing code review feedback (PR#2505).
|
|
Adding ISerializable to System.Delegate/System.MulticastDelegate
|
|
|
|
Doing this now because the lack of it is forcing us to
spam apicompat baselines with exemptions for every
delegate type in the framework.
System.Delegate.GetObjectData() just throws
NotSupportedException so that's easy to implement now.
System.MulticastDelegate.GetObjectData() is more
complicated and probably needs MethodInfo
serialization to work first. So this is a stub.
|
|
Merge nmirror to master
|
|
Merge changes from TFS
|
|
It leads to calling convention mismatch on x86
[tfs-changeset: 1644819]
|
|
Merge nmirror to master
|
|
|
|
Merge changes from TFS
|
|
[tfs-changeset: 1644761]
|
|
Adding a COMDAT-foldable cell that encapsulates the type's thread static
index and the associated type manager indirection.
In multifile mode, threadstatic index for a generic type will
potentially get generated in multiple modules, but we will end up using
just one of them at runtime. If we had multiple nodes hardcoding the
index, we would need to set up complex section dependencies to make sure
they fold together and agree after linking.
I chose not to special case generic types and use the indirection node
for non-generic types as well. This removed 3 places where we needed to
special case the R2R threadstatic base helper in the compiler (and there
was probably one more place we needed to special case to fix a TODO I'm
just deleting).
I don't think the tiny overhead is worth the complexity in the compiler,
especially considering we're talking about the non-optimized mode
(single file with no R2R will always be the optimized one).
|
|
- Use NameMangler.GetMangledTypeName directly to get the EEType name
- Delete filtering of IsPointer and IsByRef during type emission since it works fine now
- Add bigobj compiler switch to allow large auto generated .cpp files
Fix #2486
|
|
Merge changes from TFS
|
|
switching .NET Native build over to the LibraryInitializer scheme used in CoreRT. The change doesn't yet fully remove all support for the attribute, that will require additional changes to MCG and serialization code that I intend to tackle in a subsequent check-in.
[tfs-changeset: 1644644]
|
|
Port of https://github.com/dotnet/coreclr/pull/8923
|
|
The AboveStackLimit test was enabled with #2467, but it's still having
issuse (non-trivial marshalling this time).
|
|
Merge master to nmirror
|
|
Merge nmirror to master
|
|
Fix #2115. Set ppPreviousTransitionFrame.
|
|
Merge changes from TFS
|
|
DACCESS_COMPILE is not defined.
[tfs-changeset: 1644487]
|
|
|
|
Run ordered class constructors explicitly
|
|
Previously, order-dependent class constructors were run by looking at the EagerOrderedClassConstructorAttribute and sorting them accordingly. That mechanism is not ideal for scenarios where separately compiled assembly object files are linked together since we would then have to sort all class constructors from modules on startup. Replace the attribute mechanism with a simple list of module initializers to run. The startup code injects calls to these at runtime after module tables are initialized.
Internal.Runtime.TypeLoaderEnvironment..cctor is disabled for C++ code generation due to issue #2486.
Remove cctors under #if CORERT from types we want to initialize in an explicit order. Add an Initialize method to those types.
Introduce the `ModuleInitializers` class which has a list of assemblies with module-level initialization code to run. Each such assembly has a special type which calls the various Initialize methods in that assembly. The lookup policy here is non-fatal by design so we can compose these things in future more easily.
Use a wildcard for the class library so that if a new class library is introduced, it can provide the appropriate module initializer type and automatically get initialized.
Remove some old code in `CppWriter` that stubbed out the cctor in `ReflectionExecution`. Instead that is specified in the configuration for System.Private.Reflection.Execution in `ModuleInitializers`.
Move the statics in `ClassConstructorRunner+Cctor` up into the nesting class so we need one fewer eager cctors.
DeveloperExperience now uses the library initializer mechanism.
|
|
Merge nmirror to master
|
|
Fix issue 2498: Native layout signatures for nullable types.
|
|
|
|
Merge changes from TFS
|
|
Merge nmirror to master
|
|
(https://github.com/dotnet/corert/pull/2485), which ports a number of GC changes done within the last month or two from CoreCLR to CoreRT. The only changes to anything in Native/gc are:
1. Move an assert under #ifndef FEATURE_REDHAWK since it only is a useful assert on CoreCLR (https://github.com/dotnet/corert/pull/2485#issuecomment-271975502)
2. Add UNREFERENCED_PARAMETERs to things in gc.cpp and elsewhere that were producing warnings
All other changes in Native/gc are directly from CoreCLR without modification. I have validated that I am able to do PerfView GC analysis with these changes (since the CoreCLR changes touched ETW eventing).
[tfs-changeset: 1644465]
|
|
Merge changes from TFS
|
|
CoreRT optimization, avoiding an unnecessary indirection through the ExternalReferences table.
We can optimize in CoreRT because all tables using data from the native layout blob are created by the same entity that creates the native layout blob (unlike in ProjectN, where one could be in NUTC and the native layout is always in the binder, therefore needing the ExternalReferencesTable lookup helper).
[tfs-changeset: 1644455]
|
|
Picking up new libraries from CoreFX:
|
|
4.4.0-beta-24913-02 version of the packages brings in netcoreapp1.2corert
configurations for some of the libraries. Updating the project.json for
netcoreapp to pick the new version, packages.targets to pick the corert
assets from those packages and project.json for uap to remove the
stale dependencies
|
|
Set larger timeout for push job
|
|
The CoreCLR tests need more than the standard 2 hours allowed by CI.
|
|
Cleanup around ExactMethodInstantiation and Generics hashtable
|
|
These contain similar data, generated from similar things and should
look the same.
|
|
|
|
Fixing which asset we pick up for System.Runtime
|
|
|
|
Run all tests during post-commit job
|
|
Adding support for RuntimeMethodHandle nodes.
|
|
This is again part of the larger GVM work, which I'm splitting into multiple PRs.
This change just enables the RMH support, but won't emit any RMH structures yet.
|
|
Change the post-commit CI job to run the set of known good CoreCLR
tests (currently ~5000 tests)
|
|
|
|
Merge changes from TFS
|