Граф коммитов

7834 Коммитов

Автор SHA1 Сообщение Дата
Jan Kotas 0be9b35629 Merge pull request #65 from jkotas/demo-fixes
Fix or workaround bugs for libuv demo
2015-10-16 08:44:33 -07:00
Jan Kotas ab892fca2d Fix or workaround bugs for libuv demo
- Add missing forwarders for IsVirtual and IsNewSlot to generic method specializations
- Extend workaround for infinite recursion in virtual method resolution
- Fill implementation of several runtime helpers
2015-10-16 08:10:24 -07:00
Michal Strehovský 123d08d066 Merge pull request #63 from MichalStrehovsky/pointerType
Complete asCorInfoType implementation
2015-10-15 18:10:35 -07:00
Michal Strehovský 0eb24b0da4 Complete asCorInfoType implementation
We were missing pointer type handling.
2015-10-15 17:18:30 -07:00
Jan Vorlicek cca0bfd5ae Merge pull request #62 from janvorli/windows-native-build
Enable building Native via cmake on Windows
2015-10-15 16:33:47 +02:00
Jan Vorlicek 3138498cf6 Response to PR feedback
Moved the buildnative functionality to the build.cmd
Fixed few minor details
2015-10-15 15:48:09 +02:00
Jan Vorlicek 2fb41950fa Enable building Native via cmake on Windows
This change enables building everything under src/Native using cmake.
To build it, run the nativebuild.cmd in the root of the enlistment.
2015-10-15 14:28:01 +02:00
Jan Kotas 1df8671def Merge pull request #61 from jkotas/field-mangling
Sanitize field and locals names for CppCodeGen
2015-10-14 22:38:19 -07:00
Jan Kotas a345623fce Sanitize field and locals names for CppCodeGen 2015-10-14 21:20:39 -07:00
Jan Kotas bf7cb7c788 Merge pull request #60 from jkotas/update-gc
Update GC from the coreclr repo
2015-10-14 18:34:46 -07:00
Jan Kotas 093b0dcaf0 Update GC from the coreclr repo
https://github.com/dotnet/coreclr/tree/master/src/gc commit label ff328b606c4edad13e9a211a8d89288340952f4c
2015-10-14 18:31:24 -07:00
Jan Kotas 8a423c4976 Merge pull request #59 from jkotas/fix-stringliterals
Reference string literals via GC handle
2015-10-14 17:57:48 -07:00
Jan Kotas f9f550b1fe Reference string literals via GC handle 2015-10-14 17:40:10 -07:00
Jan Kotas 9657cf382f Merge pull request #58 from jkotas/fix-cppcodegen
Fixes and workaround for hello.exe using CppCodeGen
2015-10-14 17:37:32 -07:00
Jan Kotas d5b7be7499 Fix reproNative build breaks 2015-10-14 17:10:46 -07:00
Jan Kotas ec2a9c5214 Fix GCSample build breaks 2015-10-14 16:56:42 -07:00
Jan Kotas 3ac8fe9e9d Workaround infinite recursion in virtual function resolution (#48) 2015-10-14 15:21:55 -07:00
Scott Mosier 92dad291b6 Merge pull request #35 from smosier/integrate-gc
Initial hookup of GC code to MRT code
2015-10-14 11:37:42 -07:00
Scott Mosier 015b60a6ae Additional GC-to-EE hookup.
Provide specialized gcenv.h for CoreRT.
Some refactoring of related gcenv stuff.
Wire up finalizer code.
Add runtime-specific scanning code.
2015-10-14 10:50:33 -07:00
Scott Mosier 9ceafad81f Partially hooked up GC sources to Runtime sources. Finalizer code is not yet hooked up. 2015-10-14 10:50:31 -07:00
Senthil 7f6ab60a6a Merge pull request #46 from schellap/master
Get static string literal loads to work

Allocate reloc fixup pointers in the image for the JIT indirection to work.
Emit strings as compressed int lengths and characters in the data section.
Use Windows APIs to convert these UTF8 encoded strings to UTF16.
Patch the pointers at runtime initialization with GCHandles to static strings and set it in the fixup locations.
2015-10-13 16:58:21 -07:00
schellap baa75f98ac Get static string literal loads to work 2015-10-13 16:51:36 -07:00
Jan Kotas 27fa501f10 Merge pull request #57 from gkhanna79/MacNativeBuild
Build CoreRT GCSample for Mac
2015-10-13 13:42:25 -07:00
David Wrighton e81956036c Merge pull request #42 from davidwrighton/dependency_analysis_framework_update
Dependency Analysis Framework
2015-10-13 12:18:05 -07:00
Gaurav Khanna c1bd701e78 Build CoreRT GCSample for Mac
Add check for Darwin OS to enable building the same for Mac
2015-10-13 12:17:43 -07:00
David Wrighton 9a9eb69a46 Dependency Analysis framework
Dependency analysis allows tracing what output components depend on other components from a root set instead of simply working with a list of already loaded things.

This patch adds a framework for performing this computation, but no rules that are specific to compiling ILToNative. That will be follow on work.

Included in this change

- DependencyAnalyzerBase
 - Api surface for use of analyzer.
- DependencyAnalyzer
 - Object that should actually be constructed to perform analysis. Not intended for most use, so as to allow dynamic switching between various particular specializations.
 - Specialized over a mark strategy. (The mark strategy specialization allows log customization)
- DependencyNodeCore/DependencyNode
 - Base type of dependency node in depedency graph. Provides a set of facilities to describe dependents.
- IDependencyAnalysisMarkStrategy
 - Interface underlying mark logging customization.
 - Provided mark strategies
  - NoLogStrategy, no support for logging.
   - Marks, but doesn't log anything. Most memory/performance efficient approach. Expected to be used in retail builds by default for best performance.
  - FirstMarkLogStrategy, the first edge to mark a node is logged
   - More memory efficient logging at mark points. In particular, only logs mark's that newly mark a node.
  - FullGraphLogStrategy
   - Used when the ability to generate a complete log of the graph is important. Fairly memory intensive due to the presence of a great many allocated hash tables
- DgmlWriter
 - Interfaces with DependencyAnalyzer and various mark strategies to generate a DGML graph of the dependencies. DGML graphs can be viewed in Visual Studio
- Tests
 - Basic unit test framework in place
 - All types of dependency are tested to minimal standards
 - DGML logging is tested.
2015-10-13 12:02:33 -07:00
Jan Kotas 8df4f315ee Merge pull request #56 from jkotas/fix-cppcodegen
Fix build break for CppCodeGen
2015-10-13 11:00:22 -07:00
Jan Kotas ccd01a0f23 Fix build break for CppCodeGen 2015-10-13 10:39:53 -07:00
Matt Mitchell 6e7b666b42 Merge pull request #55 from MichalStrehovsky/netci
Add netci.groovy
2015-10-13 10:35:47 -07:00
Michal Strehovský 29db030654 Update netci.groovy 2015-10-13 09:29:37 -07:00
Michal Strehovský 9bb9f58887 Make the configuration lower case
Do it the right way this time.
2015-10-12 16:26:04 -07:00
Michal Strehovský b01f36cefe Merge pull request #44 from MichalStrehovsky/GCStatics
Add support for GC static fields
2015-10-12 16:20:13 -07:00
Michal Strehovský 377847927a Allocate GC statics on the GC heap
We were previously allocating the GC static region statically in the
image, but for Ready to Run, we will require GC static regions to be
allocated on the GC heap.
2015-10-12 16:11:01 -07:00
Michal Strehovský 2aa5004540 Add support for GC static fields
* Expose GC static size and alignment from MetadataType
* Add __assignReference JIT helper
* Emit GC static data section into the assembly file
2015-10-12 16:11:00 -07:00
Michal Strehovský 43284a5a9f Convert configuration to lower case
This is needed for:
* Build.cmd compatibility
* Consistency
2015-10-12 15:53:00 -07:00
Michal Strehovský 891b567773 Switch from Utilities to InternalUtilities 2015-10-12 15:06:20 -07:00
Michal Strehovský c4e16c60ad Add netci.groovy
This will allow the CoreRT repo to get dotnet CI support running at
http://dotnet-ci.cloudapp.net.
2015-10-12 14:39:56 -07:00
Jan Kotas c1586e674f Merge pull request #50 from jkotas/PDB
Add back PDB symbols for CppCodeGen
2015-10-12 08:53:12 -07:00
Jan Kotas 6016a69ee5 Add back PDB symbols for CppCodeGen
Use Microsoft.DiaSymReader package produced by Roslyn team to read line info and local variable names.
2015-10-11 23:49:03 -07:00
Jan Kotas 61c7146f87 Merge pull request #54 from jkotas/desktop-fix
Change desktop project to be x64-specific and project.json
2015-10-11 23:29:52 -07:00
Jan Kotas 88a7b8f203 Change desktop project to be x64-specific and project.json
x64-specific is required because of protojit.dll is x64-specific
project.json makes managing the list of dependencies easier
2015-10-11 23:29:05 -07:00
Jan Kotas 2421104af8 Merge pull request #53 from jkotas/xunit-2.1.0
Upgrade to xunit 2.1.0 to fix test build warning
2015-10-11 20:19:43 -07:00
Jan Kotas c232f4074c Upgrade to xunit 2.1.0 to fix test build warning 2015-10-11 20:19:11 -07:00
Jan Kotas 4512eac1fb Merge pull request #51 from jkotas/driver
Split ILToNative project into compiler .dll and small driver .exe
2015-10-11 17:45:50 -07:00
Jan Kotas 40e398e904 Add desktop convenience project for ILToNative driver
This is similar solution to [GenFacade.Desktop](https://github.com/dotnet/buildtools/tree/master/src/GenFacades.Desktop) to annoyances with things like “the façade for System.Console doesn’t ship with the desktop CLR”.
2015-10-11 17:44:16 -07:00
Jan Kotas d7f36860f1 Split ILToNative project into compiler .dll and small driver .exe
Minimal change of the interface between the two to make compile again.
2015-10-11 17:44:09 -07:00
Jan Kotas af4240d314 Merge pull request #47 from jkotas/jitinterfacefix
Fix asCorInfoType
2015-10-10 06:12:26 -07:00
Jan Kotas 6102a17fd2 Fix asCorInfoType
The JIT expects the actual type to be set for classes too, in some cases at least.
2015-10-10 06:03:07 -07:00
Michal Strehovský 7c5e331255 Merge pull request #43 from davidwrighton/fix_virtual_function_typos
Fix incorrect handling of MethodSpecificiations for MethodImpl overrides
2015-10-08 18:05:14 -07:00
David Wrighton 4f70e59cc6 Fix incorrect handling of MethodSpecificiations for MethodImpl overrides
In earlier code review comments, a minor fix was missed.
- Fix incorrect handling of MethodSpecifications for MethodImpl overrides
- Update comment to be more correct
- Add sln file for type system to ease test development
- Add test for generic method impl case
2015-10-08 17:15:19 -07:00