[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / Mono.CompilerServices.SymbolWriter / ChangeLog
index 7a4e08a94adf523a5a6b2a2d30217e61fc3667bf..df49d5f60ca1cfea3eecdc90d5ab47e1d2dcc695 100644 (file)
@@ -1,3 +1,368 @@
+2009-04-15  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs: Move `ISourceFile', `ICompileUnit' and
+       `IMethodDef' into MonoSymbolFile.cs.  This allows us to use the
+       symbol reader part without MonoSymbolWriter.cs.
+
+2009-04-15  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (LineNumberTable.DW_LNE_MONO__extensions_start): New const.
+       (LineNumberTable.DW_LNE_MONO__extensions_end): New const.
+       (LineNumberTable.DoRead): Ignore unknown extended opcodes if
+       they're within the Mono extension range.
+
+2009-03-05  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (CompileUnitEntry.IncludeFiles): New public property.
+       (CompileUnitEntry.ReadData): Also read include files.
+
+2008-11-19  Marek Safar  <marek.safar@gmail.com>
+
+       * MonoSymbolWriter.cs, MonoSymbolTable.cs: Change always boxed
+       value type LineNumberEntry to class. It saves 19MB for corlib
+       compilation.
+
+2008-11-17  Andreia Gaita <avidigal@novell.com>
+
+       * Makefile: Remove uneeded win32-specific hack
+
+2008-10-15  Cedric Vivier  <cedricv@neonux.com>
+
+       * SymbolWriterImpl.cs: implement `SetMethodSourceRange` using the
+       new underlying MonoSymbolWriter's API so that the symbol files
+       generated by SRE-using compiler are useful again.
+
+2008-09-23  Marek Safar  <marek.safar@gmail.com>
+
+       * Makefile: Use bootstrap profile to build with correct symbol
+       writer.
+
+2008-06-18  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (OffsetTable): Bump version to 50.0.
+
+2008-06-18  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (OffsetTable.MinorVersion): Bump to 7.
+       (OffsetTable.Flags): New public enum.
+       (OffsetTable.FileFlags): New public property.
+       (OffsetTable.IsAspxSource): Removed.
+
+2008-06-17  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (MethodEntry.Flags): Removed `IsCompilerGenerated'.
+
+2008-06-16  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs
+       (SourceMethodBuilder.SetCompilerGenerated): Removed; we now use
+       the `DebuggerHiddenAttribute'.
+
+2008-06-11  Martin Baulig  <martin@ximian.com>
+
+       * SymbolWriterImpl.cs: Put this back and make it work with the
+       current symbol writer.
+
+2008-06-11  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.OpenMethod): Maintain a method stack, so we can
+       now recursively call OpenMethod().
+
+2008-06-11  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (SourceFileEntry.WriteData): Silently ignore non-existing files.
+
+2008-06-11  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.SetRealMethodName): Removed, call it on the
+       `SourceMethodBuilder'.
+       (MonoSymbolWriter.SetCompilerGenerated): Likewise.
+
+2008-06-11  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs
+       (ISourceMethod): Renamed to `IMethodDef'.
+       (SourceMethodBuilder): New public class.
+       (MonoSymbolWriter.OpenMethod): Added `int ns_id' argument and
+       return a `SourceMethodBuilder'.
+
+2008-06-10  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (OffsetTable.MinorVersion): Bump to 6.  There were no changes to
+       the file format, but we were generating incorrect source file
+       indices in the line number table due to a bug, which made
+       backtraces report an incorrect source file.
+
+2008-06-10  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.MarkSequencePoint): Added overloaded version
+       taking a `SourceFileEntry' instead of a file index.
+
+2008-06-10  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.CloseMethod): Quick-fix; still a lot of broken
+       code out there.
+
+2008-06-05  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (MethodEntry.Flags): New public enum.
+       (MethodEntry.MethodFlags): New public fields.
+       (MethodEntry.LocalNamesAmbiguous): Removed; this is now part of
+       the `MethodFlags'.
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.SetCompilerGenerated): New public method.
+
+2008-06-02  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs
+       (ICompileUnit): New public interface.
+       (MonoSymbolWriter.Sources): Removed.
+       (MonoSymbolWriter.OpenMethod): Take an `ICompileUnit', removed
+       `startRow', `startColumn', `endRow' and `endColumn'.
+       (MonoSymbolWriter.DefineCompilationUnit): New public method.
+       (MonoSymbolWriter.DefineNamespace): Operate on `ICompileUnit'.
+
+       * MonoSymbolFile.cs
+       (MonoSymbolFile.CompileUnit): New public properties.
+
+       * MonoSymbolTable.cs
+       (OffsetTable): Replace `Version' by `MajorVersion' and
+       `MinorVersion'.  Add `CompileUnitCount', `CompileUnitTableOffset'
+       and `CompileUnitTableSize'.
+       (CompileUnitEntry): New public method.
+       (LineNumberTable): Removed `StartFile' and `StartRow'.
+       (MethodEntry): Removed `StartRow' and `EndRow'.
+
+2008-06-02  Martin Baulig  <martin@ximian.com>
+
+       * SymbolWriterImpl.cs: Removed.
+
+2008-05-28  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (MethodIndexEntry): Removed.
+       (MethodEntry): Moved everything into the data section, so it can
+       be read dynamically on-the-fly.  The `MethodEntry' now has a fixed
+       size of 12 bytes in the symbol file containing only token, data
+       offset and line number table offset.
+
+2008-05-28  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (MethodEntry.LocalTypeIndices): Removed.
+       (MethodEntry.GetLineNumberTable): New public method; replaces the
+       `LineNumbers' and `NumLineNumbers' fields.
+       (MethodEntry.GetLocals): New public method; replaces the `Locals'
+       and `NumLocals' fields.
+       (MethodEntry.GetCodeBlocks): New public method; replaces the
+       `CodeBlocks' and `NumCodeBlocks' fields.
+       (MethodEntry.GetScopeVariables): New public method; replaces the
+       `ScopeVariables' and `NumScopeVariables' fields.
+       (MethodEntry.GetRealName): New public method; replaces `RealName'.
+       (MethodEntry): Removed the old fields.
+
+2008-05-28  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (MethodSourceEntry): Removed.
+       (SourceFileEntry.Methods): Removed.
+
+2008-05-26  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.DefineDocument): Added overloaded version taking
+       additional `byte[] guid' and `byte[] hash' arguments.
+
+       * MonoSymbolFile.cs
+       (OffsetTable.IsAspxSource): New public field.
+       (SourceFileEntry): Completely redesigned this; only write index
+       and data offset, everything else goes into the data section.
+       (SourceFileEntry.AutoGenerated): New public property.
+       (SourceFileEntry.CheckChecksum): New public method.
+
+2008-05-16  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (LineNumberEntry.IsHidden): New public field.
+       (LineNumberTable): Add support for hidden line numbers.
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.MarkSequencePoint): Add overloaded version
+       taking an additional `bool is_hidden' argument.
+
+2008-05-05  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs
+       (MonoSymbolFile.OffsetTable): New public property.
+       (MonoSymbolFile.FileName): New public readonly field.
+
+       * MonoSymbolTable.cs
+       (OffsetTable): Make this a class and not a struct.
+       (OffsetTable): Add `LineNumberTable_LineBase',
+       `LineNumberTable_LineRange' and `LineNumberTable_OpcodeBase'.
+       (LineNumberEntry): Removed the reading/writing functions.
+       (LineNumberTable): Get `LineBase', `LineRange' and `OpcodeBase'
+       from the `OffsetTable' rather than hardcoding it here.
+       (MethodEntry): Make `NumLineNumbers' and `LineNumbers' properties;
+       massive cleanup, use leb128 everywhere and removed all the
+       obsolete fields.
+
+2008-04-29  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (OffsetTable.Version): Bump to 42.
+       (LineNumberTable): New public class.  Provides a new line number
+       table format which is based on Dwarf 2.
+       (MethodEntry): Replaced BuildLineNumberTable() by
+       CheckLineNumberTable(); we're now more strict than we were before
+       and disallow not monotonic increasing entries,  we don't check for
+       duplicates anymore since the new LineNumberTable takes care of that.
+       (LineEntry): Added public `File' field which is a file index.
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.MarkSequencePoint): Added `int file' argument.
+
+2008-04-29  Martin Baulig  <martin@ximian.com>
+
+       **** Kahalo changes start here ****
+
+2008-05-05  Martin Baulig  <martin@ximian.com>
+
+       Drop support for old pre-terrania symbol files.
+
+       * MonoSymbolFile.cs
+       (MonoSymbolFile.CompatibilityMode): Removed.
+
+       * MonoSymbolTable.cs
+       (LexicalBlockEntry): Removed this obsolete class.
+
+2008-04-02  Martin Baulig  <martin@ximian.com>
+
+       * *.cs: Remove the `#if !DISABLE_TERRANIA_CHANGES' conditionals.
+
+2008-03-14  Martin Baulig  <martin@ximian.com>
+
+       Merged the debugger's `terrania' branch into trunk.
+
+2008-03-13  Martin Baulig  <martin@ximian.com>
+
+       * *.cs: Add `DISABLE_TERRANIA_CHANGES' conditionals everywhere
+       around the new code; they'll be removed when I'm back from my
+       vacations.
+
+2008-03-13  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (LexicalBlockEntry): Mark this as obsolete.
+
+2008-03-11  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs (MethodEntry): Removed `LocalTypeIndices'.
+
+2008-03-10  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (LocalVariableEntry): Removed the `Signature' field; we don't
+       write this into the symbol file anymore.
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.DefineLocalVariable): The `byte[] signature'
+       argument is now obsolete.
+
+2008-02-19  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs
+       (MonoSymbolFile.Version): New public readonly field.
+       (MonoSymbolFile.CompatibilityMode): Likewise; this is enabled if
+       we're reading an old `39' file.
+
+       * MonoSymbolTable.cs
+       (OffsetTable.CompatibilityVersion): New public const; we keep
+       backwards compatibility with this version.
+       (OffsetTable.Write): Add `version' argument; allow writing the old
+       file format.
+       (MethodEntry): Check `file.CompatiblityMode'.
+
+2008-02-19  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.SetRealMethodName): New public method.
+
+       * MonoSymbolTable.cs
+       (MethodEntry.RealName): New public field; this is only used for
+       anonymous methods and iterators.
+
+2008-02-15  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (CodeBlockEntry): New public class.
+       (MethodEntry): Replace the old lexical blocks with a new concept
+       of `code blocks'.  Keep backwards compatibility.
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter): Add OpenCompilerGeneratedBlock(),
+       CloseCompilerGeneratedBlock(), StartIteratorBody(),
+       EndIteratorBody(), StartIteratorDispatcher(),
+       EndIteratorDispatcher().        
+
+2008-02-02  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolTable.cs
+       (OffsetTable.Version): Bump to 40.
+       (OffsetTable): Add `AnonymousScopeCount',
+       `AnonymousScopeTableOffset' and `AnonymousScopeTableSize'.
+       (CapturedVariable): New public struct.
+       (CapturedScope): New public struct.
+       (ScopeVariable): New public struct.
+       (AnonymousScopeEntry): New public class.
+       (SourceFileEntry.DefineMethod): Added overloaded version taking an
+       additional `ScopeVariable[]' argument.
+
+       * MonoSymbolFile.cs
+       (MonoSymbolFile.AnonymousScopeCount): New public property.
+       (MonoSymbolFile.GetAnonymousScope): New public method.
+
+       * MonoSymbolWriter.cs
+       (MonoSymbolWriter.DefineAnonymousScope): New public method.
+       (MonoSymbolWriter.DefineCapturedLocal): New public method.
+       (MonoSymbolWriter.DefineCapturedParameter): New public method.
+       (MonoSymbolWriter.DefineCapturedThis): New public method.
+       (MonoSymbolWriter.DefineCapturedScope): New public method.
+       (MonoSymbolWriter.DefineScopeVariable): New public method.
+
+2008-02-02  Martin Baulig  <martin@ximian.com>
+
+       ***** Terrania changes start at this point *****
+
+2007-08-27  Jb Evain  <jbevain@novell.com>
+
+       * MonoSymbolFile.cs, SymbolWriterImpl.cs: add some Cecil specific
+       code protected by a CECIL defined.
+
+Mon Jan 29 16:51:33 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * MonoSymbolWriter.cs: unlink the file before writing it, since it may
+       be mmapped by the runtime.
+
+2007-01-29  Martin Baulig  <martin@ximian.com>
+
+       * MonoSymbolFile.cs
+       (MonoSymbolFile.Assembly): Removed this property.
+       (MonoSymbolFile.Guid): New public property.
+
 2006-09-24  Joshua Tauberer  <jit@occams.info>
 
        * MonoSymbolFile.cs: Allow MonoSymbolFile to be created