This commit is contained in:
kudzu_cp 2012-08-03 17:09:10 +00:00
parent 41796f05cd
commit 9362b37f74
3 changed files with 4 additions and 5 deletions

View file

@ -193,14 +193,13 @@ namespace Cosmos.Debug.Common {
return new Entities(xEntConn); return new Entities(xEntConn);
} }
public void WriteSymbolsListToFile(IList<MLSYMBOL> aSymbols) { public void WriteSymbols(IList<MLSYMBOL> aSymbols, bool aFlush = false) {
foreach (var x in aSymbols) { foreach (var x in aSymbols) {
x.ID = Guid.NewGuid(); x.ID = Guid.NewGuid();
} }
BulkInsert("MLSYMBOLs", aSymbols); BulkInsert("MLSYMBOLs", aSymbols, 2500, aFlush);
} }
// tuple format: MethodLabel, IsArgument, Index, Offset
public void WriteAllLocalsArgumentsInfos(IList<LOCAL_ARGUMENT_INFO> aInfos) { public void WriteAllLocalsArgumentsInfos(IList<LOCAL_ARGUMENT_INFO> aInfos) {
foreach (var x in aInfos) { foreach (var x in aInfos) {
x.ID = Guid.NewGuid(); x.ID = Guid.NewGuid();

View file

@ -420,7 +420,9 @@ namespace Cosmos.IL2CPU.X86 {
xMLSymbol.TYPETOKEN = aMethod.MethodBase.DeclaringType.MetadataToken; xMLSymbol.TYPETOKEN = aMethod.MethodBase.DeclaringType.MetadataToken;
xMLSymbol.ILOFFSET = aOpCode.Position; xMLSymbol.ILOFFSET = aOpCode.Position;
mSymbols.Add(xMLSymbol); mSymbols.Add(xMLSymbol);
DebugInfo.WriteSymbols(mSymbols);
} }
DebugInfo.WriteSymbols(mSymbols, true);
EmitTracer(aMethod, aOpCode, aMethod.MethodBase.DeclaringType.Namespace, xCodeOffsets); EmitTracer(aMethod, aOpCode, aMethod.MethodBase.DeclaringType.Namespace, xCodeOffsets);
} }
@ -510,7 +512,6 @@ namespace Cosmos.IL2CPU.X86 {
} }
public void FinalizeDebugInfo() { public void FinalizeDebugInfo() {
DebugInfo.WriteSymbolsListToFile(mSymbols);
DebugInfo.WriteAllLocalsArgumentsInfos(mLocals_Arguments_Infos); DebugInfo.WriteAllLocalsArgumentsInfos(mLocals_Arguments_Infos);
} }
} }

View file

@ -4,7 +4,6 @@
<h3> <h3>
Kudzu</h3> Kudzu</h3>
<ul> <ul>
<li>Batch insert MLSymbol (AppAssemblerNasm)</li>
<li>ExtractMapFromElfFile.Execute - dont read into RAM</li> <li>ExtractMapFromElfFile.Execute - dont read into RAM</li>
<li>Lazy load sourceinfos!</li> <li>Lazy load sourceinfos!</li>
<li>Label type - IL / not... log only IL labels? Do we use asm labels?<ul> <li>Label type - IL / not... log only IL labels? Do we use asm labels?<ul>