Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-08-02Allow illegal custom modifiers on generic constraintsMichal Strehovsky
Roslyn decided to do a breaking change to the ECMA-335 file format by generating an illegal custom modifier for the `unmanaged` constraint. The purpose of the modifier is to poison such types for old versions of the C# compiler (the modifier otherwise isn't necessary for the feature to work). This also poisons a lot of the .NET ecosystem too (breaking everything ranging from Mono to the C++/CLI compiler). We need to update our stack to support this and unblock our customers. [tfs-changeset: 1709243]
2017-06-24Update CoreRT build to use latest .NET CLI and build tools (#3916)Jan Kotas
- Pick up latest .NET Core 2.0 CLI and buildtools - Remove all project.json references and convert everything to msbuild projects - Stick to vanilla .NET CLI project shape as much as possible. Minimize dependencies on buildtools special behaviors
2017-06-17Delete ToolsVersion attribute from msbuild filesJan Kotas
The latest project templates do not have it, and it is only good for generating warnings like the following in the detailed build log: Project file contains ToolsVersion="4.0". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="14.0". For more information, please see http://go.microsoft.com/fwlink/?LinkId=293424. [tfs-changeset: 1662024]
2017-06-16Distinguish positive and negative zeros in metadata writer.Anton Lapounov
Bug: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/442050 CR: JKotas [tfs-changeset: 1661975]
2017-05-30Replace metadata writer hashcode seeds with another set of hashcode seeds ↵Michal Strehovský
(#3739)
2017-05-25Extend metadata schema with module metadataMichal Strehovsky
This is to support NetStandard APIs that are useful for CoreFX test bringup and general compat. [tfs-changeset: 1659572]
2017-04-18Update custom attribute metadata schema to support enum arrays as element of ↵Michal Strehovsky
object arrays Four things: * The actual schema update * Update the CoreRT metadata emitter to emit the new schema * Update the Project N metadata emitter to emit the new schema * Update reflection codebase to read the new schema Fixes dotnet/corert#3328. [tfs-changeset: 1654618]
2017-03-15Allow nulls in string[] custom attribute dataMichal Strehovsky
The existing schema didn't allow it and we were crashing the compiler. Turns out this is popular in xUnit tests in the CoreFX tree. Includes: * Schema update that makes string[] more like object[] than arrays of primitive types * Updates to both of our emitters * Update to the reflection reader * Unit test [tfs-changeset: 1650932]
2017-02-25Update build tools to latest (#2815)Jan Kotas
* Update BuildToolsVersion to latest * Cleanup CLSCompliant warnings * Delete workaround that is no longer needed * Download .NET Core 1.1 * Fix Roslyn props * MSBuild.exe was renamed to MSBuild.dll * Fix CoreCLR tests * Rename netcoreapp12 -> netcoreapp20 * Fix UnitTests runs * Fix RemoveEmptyFinalizers CodeAnalysis warnings * Port init-tools.sh cleanup from CoreCLR
2017-02-24Add representation of boxed generic enums in the metadata schemaMichal Strehovsky
There's only 3 certain things in life: 1. Taxes 2. Death 3. Forgetting about generic enums [tfs-changeset: 1648753]
2017-02-14Upgrade .NET Core NuGet packages to latest versions (#2667)Jan Kotas
2017-02-09Remove boilerplate code around saving native format writers (#2697)Michal Strehovský
2017-01-07Hide a garbage Tools item from Solution Explorer (#2456)Michal Strehovský
This thing is useless in the VS Solution Explorer and has an annoying warning sign.
2016-12-20Add packaging build changes and scripts. (#2325)Chris Rummel
2016-10-19Extend ScopeDefinition metadata schema (#2037)Michal Strehovský
Add support for representing EntryPoint and the global `<Module>` type. Note: this does not include updates to the Project N metadata writer. The schedule for that is TBD. Fixes #1782.
2016-09-27Extend metadata schema to support function pointers (#1928)Michal Strehovský
Also: * update `MetadataTransform` to emit the new metadata * a simple unit test
2016-09-20Update CLIJan Kotas
2016-08-17Update metadata reader to be more lazyMichal Strehovsky
Addressing a big known problem of the native metadata reader - allocating way too many arrays (and array enumerators) when reading metadata. I'm updating the reader generator to generate XXXCollection types that are structs and have a struct enumerator. I'm specifically not updating the consumers to take advantage of this (i.e. we still sometimes pass the collection as an IEnumerable within the reflection stack). This is because I don't want the changeset to clash with the reflection refactoring work - I would like to push this change into our next release. This makes SharedLibrary.dll 35 kB smaller on x86 because we no longer have the crazy amount of array types implementing all the crazy collection types. [tfs-changeset: 1622617]
2016-08-15Fix representation of modified types in the native metadataMichal Strehovsky
This is actually a simple change, but touches a lot of files. ECMA-335 allows placing custom modifiers on element types of vectors and unmanaged pointers, but the native metadata format didn't allow it. I'm fixing that. As part of the fix, I'm getting rid of the ReturnTypeSignature and ParameterTypeSignature records. Their only purpose was to allow putting a modifier on types. Instead, I'm introducing a ModifiedType record type that can show up in many places where TypeDefOrRefOrSpec does. This way, we're not paying a 1 byte penalty just to say "this parameter has no modifiers". I'm not emitting the modifiers in either transform since there's nobody who would consume them. I'm doing this because besides fixing correctness, this also has a size/perf benefit - makes SharedLibrary.dll 10 kB smaller. [tfs-changeset: 1622393]
2016-08-11Speed up native metadata writer by about 25%Michal Strehovsky
* Stop allocating delegates like crazy * Stop allocating enumerators like crazy We can probably do even better, but this was low hanging enough to do now. I validated this produces identical metadata blob for FX UnitTests. [tfs-changeset: 1622040]
2016-07-12Improve metadata log emitter - add previously missing textual formatting for ↵Tomas Rylek
MethodInstantiation and support signatures on member references. [tfs-changeset: 1617140]
2016-06-23Native metadata reader/writer cleanupJan Kotas
- Delete interfaces - Delete useless summary comments - Change empty arrays to use Array.Empty<T>() [tfs-changeset: 1614483]
2016-06-23Regenerate native metadata files using the new C# Generator/NativeFormatGen.slnJan Kotas
The new autogenerated files have whitespace and ordering differences only compared to the old ones.
2016-06-22Unify EEType.csMichal Strehovsky
This is the final step to having a single copy of EEType.cs. After this we can finally start reaping the benefits (use it from CoreLib, delete some of the MRT exports, etc.) [tfs-changeset: 1614161]
2016-04-22Update buildtoolsMichal Strehovský
This version has the "make ILPROJ project buildable from VS" fix.
2016-04-15Update to Microsoft.DiaSymReader with proper netstandard support (#1150)Jan Kotas
2016-04-15Update ILCompiler to netstandard1.3 (#1148)Jan Kotas
2016-04-12Merge pull request #1123 from jkotas/package-versionJan Kotas
Update nuget package versions
2016-04-12Update nuget package versionsJan Kotas
2016-04-11Add QualifiedField to metadata schema. This is the N metadata equivalent of ↵Michal Strehovsky
the ECMA FieldDef. [tfs-changeset: 1594943]
2016-04-06Remove usage of LINQ from the metadata writerMichal Strehovský
LINQ Select operator uses generic virtual methods, which is both an overkill, and prevents us from selfhosting the compiler. Replacing all of LINQ with a lighter weight implementation for good measure.
2016-03-10Upgrade System.Reflection.Metadata reference to v1.3Michal Strehovský
2016-02-10Switch to live CLI buildJan Kotas
This reverts commit 374d1f1f2d901b4ef1096fbac2bb3da85e73949e. This reverts commit 81fe8e5d944fdbe2560815f4aead1ab4a447fb5a. This reverts commit 3d2d89e793d1588e1aa7d2273fc880ae208352f5. This reverts commit a1f2ba2cae2dac1d134ae9afd60462cf57dde3c3.
2016-02-06Revert "Merge pull request #717 from schellap/break2"Senthil
This reverts commit 766f4ea7ff4d9dcd0422da1ebd115eb6b279e684, reversing changes made to ce31cfa86e2d82af79212a1b09b7c1fe05baf3f6. Revert "Merge pull request #767 from schellap/wmain" This reverts commit 86e568eb6e82e2526ace252fcb49903e298e708d, reversing changes made to 1d3ef5fd841effc0599511e3073a0cad53bed88b. Revert formatting to old project.json and cppcompilerflag in runtest.cmd
2016-02-02Merge pull request #776 from dotnet/nmirrorJan Kotas
Merge nmirror to master
2016-02-02Generalize the concept of UnreachableTypeReferences in MetadataWriter to ↵Tomas Rylek
allow rooting arbitrary MetadataRecord's for the purpose of metadata graph generation. [tfs-changeset: 1571007]
2016-01-29Fix project.json syntax for dotnet restoreSenthil
2016-01-29Merge pull request #757 from dotnet/nmirrorJan Kotas
Merge nmirror to master
2016-01-29A couple fixes to the metadata formatMichal Strehovsky
Here's what's changing: - Fix for MethodImpls. The existing representation didn't make sense. MethodImpls should hang off the type - not method. Reflection doesn't use it, so I'm not adding emission for now (limiting potential for bugs; I can fix that next week). The previous emission was wrong anyway. - Fix for MethodInstantiation. The existing format was wrong. This should really map to a MethodSpec. I think only MethodImpls can refer to this from within metadata, so it's not used as such anywhere in reflection. - Introduce concept of QualifiedMethod - this is a tuple that has the enclosing type and the method. Maps nicely to MethodDef in ECMA. - Removed the option to have a Method as a Parent for MemberReferences. This is only usable from IL (ECMA uses it to represent callsites to vararg methods), and the current implementation is wrong anyway. - I made CustomAttribute use QualifiedMethod. This fixes a potential weirdness when Constructor is a MemberRef and we're unnecessarily duplicating the attribute type (which had to be there for the other option). - MethodImpl and MethodSemantics are not HasCustomAttribute token types. They shouldn't have a CustomAttributes field. - I killed off RVA on Method. Nobody uses it, and it's as useful as RVA on Field (which we don't have, because it's useless). [tfs-changeset: 1570080]
2016-01-29Emit type info for boxed enums within object[] CustomAttributeDataMichal Strehovsky
Since we were not preserving the type information, these were getting boxed as their underlying integer type. - Extend metadata format to allow representing a boxed enum type within object[]. - Corresponding change on the metadata emission side. - Corresponding change on the parsing side, with a call to runtime magic that boxes the value as the specified type. - A test case. [tfs-changeset: 1570043]
2016-01-28Merge branch 'nmirror' into nmirror_mergeJan Kotas
Conflicts: src/Common/src/Interop/Windows/mincore/Interop.MEMORY_BASIC_INFORMATION.cs src/ILCompiler.Compiler/src/Compiler/PdbSymbolProvider.cs src/Native/Bootstrap/platform.h src/Native/Bootstrap/platform.windows.cpp src/Native/gc/env/gcenv.windows.cpp src/System.Private.CoreLib/src/Internal/Runtime/CompilerHelpers/ArrayMethodILHelpers.cs tests/src/Simple/AsgAdd1/AsgAdd1.cs
2016-01-28Update licensing headersdotnet-bot
2016-01-17Add hook for interop code pregenerated by Mcg toolJan Kotas
The hook looks for assembly with .McgInterop suffix. If there is one, the PInvoke marshalling code is forwarded to it. Otherwise, the existing ILEmitter-bases solution is used.
2015-12-05Add unit test for metadata reader and writerMichal Strehovský
Whipped up a simple sanity test for metadata readers and writers. This is mostly a sanity test. We have plenty of runtime coverage for this, but it's always nice to have a unit test. This will be useful to give people an idea how to use the metadata reader and writer APIs since this is a very self-contained sample.
2015-12-04Hook up ILCompiler.MetadataWriter to the buildMichal Strehovský
2015-12-04Port reflection metadata reader and writer to CoreRTMichal Strehovsky
[tfs-changeset: 1554518]