diff --git a/source2/Debug/Cosmos.Debug.Common/DebugInfo.cs b/source2/Debug/Cosmos.Debug.Common/DebugInfo.cs index 9d3f7d73f..ef4e37d7d 100644 --- a/source2/Debug/Cosmos.Debug.Common/DebugInfo.cs +++ b/source2/Debug/Cosmos.Debug.Common/DebugInfo.cs @@ -193,14 +193,13 @@ namespace Cosmos.Debug.Common { return new Entities(xEntConn); } - public void WriteSymbolsListToFile(IList aSymbols) { + public void WriteSymbols(IList aSymbols, bool aFlush = false) { foreach (var x in aSymbols) { x.ID = Guid.NewGuid(); } - BulkInsert("MLSYMBOLs", aSymbols); + BulkInsert("MLSYMBOLs", aSymbols, 2500, aFlush); } - // tuple format: MethodLabel, IsArgument, Index, Offset public void WriteAllLocalsArgumentsInfos(IList aInfos) { foreach (var x in aInfos) { x.ID = Guid.NewGuid(); diff --git a/source2/IL2CPU/Cosmos.IL2CPU.X86/AppAssemblerNasm.cs b/source2/IL2CPU/Cosmos.IL2CPU.X86/AppAssemblerNasm.cs index dd99a8c3c..fc130c42b 100644 --- a/source2/IL2CPU/Cosmos.IL2CPU.X86/AppAssemblerNasm.cs +++ b/source2/IL2CPU/Cosmos.IL2CPU.X86/AppAssemblerNasm.cs @@ -420,7 +420,9 @@ namespace Cosmos.IL2CPU.X86 { xMLSymbol.TYPETOKEN = aMethod.MethodBase.DeclaringType.MetadataToken; xMLSymbol.ILOFFSET = aOpCode.Position; mSymbols.Add(xMLSymbol); + DebugInfo.WriteSymbols(mSymbols); } + DebugInfo.WriteSymbols(mSymbols, true); EmitTracer(aMethod, aOpCode, aMethod.MethodBase.DeclaringType.Namespace, xCodeOffsets); } @@ -510,7 +512,6 @@ namespace Cosmos.IL2CPU.X86 { } public void FinalizeDebugInfo() { - DebugInfo.WriteSymbolsListToFile(mSymbols); DebugInfo.WriteAllLocalsArgumentsInfos(mLocals_Arguments_Infos); } } diff --git a/source2/Users/Kudzu/Kudzu-Notes.html b/source2/Users/Kudzu/Kudzu-Notes.html index 6b3c0f7a9..b3a9c16e1 100644 --- a/source2/Users/Kudzu/Kudzu-Notes.html +++ b/source2/Users/Kudzu/Kudzu-Notes.html @@ -4,7 +4,6 @@

Kudzu

    -
  • Batch insert MLSymbol (AppAssemblerNasm)
  • ExtractMapFromElfFile.Execute - dont read into RAM
  • Lazy load sourceinfos!
  • Label type - IL / not... log only IL labels? Do we use asm labels?