diff options
author | dotnet-bot <dotnet-bot@microsoft.com> | 2017-10-25 19:53:31 +0300 |
---|---|---|
committer | dotnet-bot <dotnet-bot@microsoft.com> | 2017-10-25 19:53:31 +0300 |
commit | 84de0fd20808d3e7b038a033b13928cefb564414 (patch) | |
tree | 542ec828c0304916b9cdf017bd32c0ecba2dcf61 /src/ILCompiler.Compiler | |
parent | 13d55279830d13265e6c6800d558dfb5697b5029 (diff) |
ProjectX: Emit the canonical form as the debug types for lazy generic types.
We are missing the functionally of generic complexity computation in CoreRT. This affects debug record generation for lazy generic types. For now, fall back to using the canonical form for any lazy types.
Wit this we lose some debugging support when just using windbg or VS in native debug mode when debugging. However, it doesn't have any impact on the debuggability of things in the managed debugger.
[tfs-changeset: 1679165]
Diffstat (limited to 'src/ILCompiler.Compiler')
-rw-r--r-- | src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/NodeFactory.WindowsDebugData.cs | 5 | ||||
-rw-r--r-- | src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/ObjectWriter.cs | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/NodeFactory.WindowsDebugData.cs b/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/NodeFactory.WindowsDebugData.cs index 19bdb1c94..75af21b3d 100644 --- a/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/NodeFactory.WindowsDebugData.cs +++ b/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/NodeFactory.WindowsDebugData.cs @@ -49,15 +49,14 @@ namespace ILCompiler.DependencyAnalysis _debugVirtualMethodInfoSection = new WindowsDebugMethodInfoSection(mergedAssemblyRecords); } - bool is64Bit = _nodeFactory.Target.PointerSize == 8 ? true : false; if (nonSectionBasedDebugInfoWriter != null) { - _userDefinedTypeDescriptor = new UserDefinedTypeDescriptor(nonSectionBasedDebugInfoWriter, is64Bit, _nodeFactory.Target.Abi); + _userDefinedTypeDescriptor = new UserDefinedTypeDescriptor(nonSectionBasedDebugInfoWriter, _nodeFactory); } else { _debugTypeRecordsSection = new WindowsDebugTypeRecordsSection(new DebugInfoWriter(), _nodeFactory); - _userDefinedTypeDescriptor = new UserDefinedTypeDescriptor(_debugTypeRecordsSection, is64Bit, _nodeFactory.Target.Abi); + _userDefinedTypeDescriptor = new UserDefinedTypeDescriptor(_debugTypeRecordsSection, _nodeFactory); } graph.AddRoot(_debugNeedTypeIndicesStore, "Debug Force All EETypes to have type indices"); diff --git a/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/ObjectWriter.cs b/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/ObjectWriter.cs index 397654398..faf993c67 100644 --- a/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/ObjectWriter.cs +++ b/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/ObjectWriter.cs @@ -798,7 +798,7 @@ namespace ILCompiler.DependencyAnalysis } _nodeFactory = factory; _targetPlatform = _nodeFactory.Target; - _userDefinedTypeDescriptor = new UserDefinedTypeDescriptor(this, _targetPlatform.PointerSize == 8, factory.Target.Abi); + _userDefinedTypeDescriptor = new UserDefinedTypeDescriptor(this, factory); } public void Dispose() |