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
2016-01-13Implement StelemRef and LdelemaRef helpersJan Kotas
2016-01-13Proper implementations of JIT helpersJan Kotas
Cleanup C++ glue code related to JIT helpers
2016-01-13Merge pull request #630 from MichalStrehovsky/typedefEarlyOutMichal Strehovský
Add early out for generic type definitions EETypes
2016-01-12Add early out for generic type definitions EETypesMichal Strehovský
Generic type definitions are not handled yet and crash the compiler. Reflection has "LDTOKEN Nullable`1" in the code that triggers a crash.
2016-01-12Make UnmanagedPdbSymbolReader work when running on CoreCLRJan Kotas
Change the initialization of UnmanagedPdbSymbolReader to use hosting APIs from the full .NET Framework.
2016-01-09Remove CORERT TODOs from System.Monitor.LockJan Kotas
2016-01-08Add workaround for #608Jan Kotas
2016-01-08Portable IL PDB supportJan Kotas
Add support for reading portable IL PDB using System.Reflection.Metadata.dll. We will try to open the IL PDB file using the portable pdb reader first, and fallback to the unmanaged diasymreader for non-portable pdbs. Fixes #49
2016-01-05Upgrade beta framework references to rc2Jan Kotas
2016-01-05Prepare for System.Reflection.Metadata upgradeJan Kotas
System.Reflection.Metadata introduced LocalVariable type. Rename the type in ILCompiler to avoid collisions.
2015-12-30Implement most RyuJIT intrinsicsJan Kotas
- Add lookup of all RyuJIT intrinsics - Update manage implementations of the intrinsics to fit with what RyuJIT is capable of - Make intrinsic expansions by the codegen to be optional by providing fallback paths - Fix USE_PORTABLE_HELPERS to be defined for portable runtime only These changes are under CORERT ifdefs as necessary to be reconciled with .NET Native for UWP later.
2015-12-27Improve performance of MethodIL providerJan Kotas
- Explicitly use memory mapped files for Ecma metadata reader. System.Reflection.Metadata has heuristic that tries to save virtual address space. This heuristic does not work well for us since it can make IL access very slow (call to OS for each method IL query). Explicitly using memory mapped files gives us reliably the desired performance characteristics. - Implement caching in MethodILProvider. - Refactor command line parsing - move TypeSystemContext instantiation from the driver .exe into the compiler These performance improvements bring hello world native compilation from multiple seconds back to sub second range (with release build of RyuJIT and NGened compiler).
2015-12-22Do not emit literal fields in CppCodeGenJan Kotas
2015-12-22Remove CoreRT TODOs in Buffer.CopyBlock and Array.CopyJan Kotas
- Respect explicit layout and emit proper EEType flags in CppCodeGen - required for "Hello world" with TODOs removed - Reduce dependencies of autogenerated files for CppCodeGen
2015-12-22Implement ImportCalli for CppCodeGenJan Kotas
2015-12-18Native compilation of Runtime.BaseJan Kotas
- For now - until we have the proper multifile compilation in place, link the Runtime.Base .cs files into System.Private.CoreLib. The proper factoring of Runtime.Base is still guaranteed by building Runtime.Base as separate .dll. - Remove many stubbed out helpers since the proper implementation is comming from Runtime.Base now. - Fix CppCodeGen to deal with same RuntimeImport being used with different signatures (e.g. RpNewArray is imported under two different signatures in System.Private.CoreLib)
2015-12-17Enable inliningJan Kotas
Fix #519
2015-12-16Merge pull request #355 from JohnChen0/jitinterfaceJohn Chen
Add JIT-EE interface wrappers to handle exceptions
2015-12-16More type system tweaksMichal Strehovský
- Add a Module property to MetadataType derivatives - Add useful stuff to GenericParameterDesc
2015-12-16Add JIT-EE interface wrappers to handle exceptionsJohn Chen (CLR)
* When JIT calls into the JIT-EE interface, the call is wrapped. All managed exceptions are caught by the wrapper, and re-throw as native exceptions. * The call from ILCompiler to JIT is also wrapped. The wrapper catches all native exceptions, and re-throws them as managed exceptions. * The message and call stack from the original managed exception is captured and stored in the unmanaged exception object, and restored in the managed exception thrown by the JIT wrapper. * A new native module (jitinterface.dll or jitinterface.so) is added to contain the native part of the wrappers. Long term, we should consider whether to merge this into JIT.
2015-12-15Merge pull request #530 from MichalStrehovsky/typeTweaksMichal Strehovský
Type system metadata tweaks
2015-12-15Type system metadata tweaksMichal Strehovský
- Move name to MetadataType and separate Namespace from Name. Name can be a MetadataString once we have it. - Introduce GenerericParameterDesc in the type hierarchy. For now it doesn't have anything. - Move ContainingType to MetadataType - Expose literal fields.
2015-12-15Switch CppCodeGen to use dependency analysis framework for method codeJan Kotas
Represent C++ MethodCode using DependencyNode. Data structures are not switched yet.
2015-12-15Use proper type nodes for RelatedTypeJan Kotas
2015-12-11Merge pull request #507 from nattress/eetype_optional_fieldsJan Kotas
Populate EEType Optional Fields
2015-12-11Populate EEType Optional FieldsSimon Nattress
Add rare flags, value type field padding, nullable type value offset. Add ICastable method slots - untested since code using interfaces will not compile yet. DispatchMap remains, which we need interface support for first. Place all EEType enums for flags / fields into a single source file, EEType.Constants.cs
2015-12-10Reduce dependency on Ecma api surfaceDavid Wrighton
- Remove unused EcmaMethod extension methods - Move Nested types api from EcmaType to MetadataType - Remove nearly all dependency on the Ecma type system api from tests
2015-12-06Enable Mac RyuJIT support.Gaurav Khanna
2015-12-04Fill out EEType fieldsSimon Nattress
Fill out the fixed portion of the EEType data structure as expected by the runtime along with most of the variable pieces that follow. Correct the code-gen's calculation of where VTable entries start in the EEType. Add type-system support for asking if a type has a finalizer. Move EEType Flags and Kinds enums to the Common folder and consume them from the compiler and runtime. Transpose the new Type System's Category to a CorElementType for primitives / enum underlying types. Remove HasFinalizer assert in RhNewObject The following pieces are incomplete: Optional fields side data structure Interface dispatch map pointers Type variance Sealed virtual slots blob Generic Type Def EETypes
2015-12-04Fix base type system api's to work in terms of DefType not MetadataTypeDavid Wrighton
- Convert GetWellKnownType to return DefType - Change OwningType on FieldDesc to be of type DefType
2015-12-03Enable command line args for RyuJit bootstrapperSimon Nattress
Create managed objects for String[] args and each string command line argument and pass them in through the call to __managed__Main. Add System.String[] as a rooted type (until we generate start-up code in managed and don't need the lib export).
2015-12-02Switch to dotnet tools and add unix testingSenthil
- Fix few issues and produce xunit format - Set HOME if undefined and DOTNET_HOME - Enable CPP and JIT for all platforms except OSX o CLI has no support for RyuJIT.
2015-12-02Uniformization of preprocessor macros for targetsManu
See issue #440. Replaced TARGET_X64 by _TARGET_AMD64_.
2015-11-26Eliminate MethodCodeJan Kotas
MethodCode abstraction was redundant with MethodCodeNode. Fixes part of #68
2015-11-24Merge pull request #401 from MichalStrehovsky/skipJitJan Kotas
Only apply SkipJitList on Unix platforms
2015-11-24Only apply SkipJitList on Unix platformsMichal Strehovský
Helps with test bucketing. Also, some of the things on the skipJitList now work, but I really don't want to retest on Linux to refresh the list because it's pointless at this point (with the right fix in code review).
2015-11-24[Mac] Fixes to support HelloWorld using CPPCodegenGaurav Khanna
2015-11-23Fixes regression introduced by ↵Gaurav Khanna
https://github.com/dotnet/corert/commit/8e0b6a850a17703e47ce50eb7dcd364e85c78149#diff-56344fb6f0d526f3fd8611ebd82ed7d6
2015-11-20Fixes for Runtime.Base compilation with RyuJITJan Kotas
- Disambiguate singleton globals by prepending compilation unit prefix to them - Emit alternate entry for RuntimeExport methods. Fixes #153.
2015-11-20Added missing EOF newlines.Manu
2015-11-20Updated formattingManu
Using the https://github.com/dotnet/codeformatter tool with the following command line: /rule-:FieldNames,ReadonlyFields ILCompiler.sln
2015-11-20Move HelperExtensions to CommonMichal Strehovský
These no longer rely on CompilerTypeSystemContext and therefore can live in the Common directory.
2015-11-20Add ModuleDesc as the base type of EcmaModuleMichal Strehovský
I didn't move much functionality over to ModuleDesc mostly to find out what are the exact things we will need on a ModuleDesc. Notably, I didn't put GetName() on it to keep the door open to introduce AssemblyDesc/EcmaAssembly (deriving from ModuleDesc).
2015-11-19Merge pull request #332 from MichalStrehovsky/MDArrayRngChk2Michal Strehovský
Enable range check code in MDArray accessors
2015-11-19Enable range check code in MDArray accessorsMichal Strehovský
The code was already there, but ILEmitter didn't support labels at the time it was written. We now emit IL to check the bounds of multidimensional arrays in Get/Set/Address methods and throw an IndexOutOfRangeException if an out of bounds access was made. Fixes half of what's in scope for issue #89.
2015-11-19Helper entrypoint symbols should not be staticMichal Strehovský
They belong to a NodeFactory instance.
2015-11-18Make Runtime.Base compile with ilcJan Kotas
- Add -systemmodule command line option that allows specification of the system module - Root RuntimeExport methods for compilation - Change the static constructor helpers to be looked up lazily in ReadyToRunHelperNode - Fix up a few places in Runtime.Base that used to need static constructors
2015-11-18Fixed missing }. Moved comments to individual values of the enum for better ↵Manu
IntelliSense.
2015-11-18Defined BlockType an enum which is now used to define the block type of a ↵Manu
Relocation or a BlockRelativeTarget.
2015-11-18Replace CommonPath with relative pathMichal Strehovský
The CommonPath is pretty, but this break IntelliSense in Visual Studio 2015. Fixes #292