Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-20FieldRVA alignment (#817)David Wrighton
* FieldRVA alignment In support of dotnet/runtime#60948 the linker (an assembly rewriter) will need to be able to preserve the alignment of RVA based fields which are to be used to create the data for `CreateSpan<T>` records This is implemented by adding a concept that RVA fields detect their required alignment by examining the PackingSize of the type of the field (if the field type is defined locally in the module) * Update Mono.Cecil.Metadata/Buffers.cs Co-authored-by: Aaron Robinson <arobins@microsoft.com> * Enhace logic used to ensure type providing PackingSize is local to the module. Co-authored-by: Aaron Robinson <arobins@microsoft.com>
2019-03-05Remove support for the readonly builds as they don't make sense in a nuget worldJb Evain
2017-03-29Fix reading/writing the size of table indexes in external pdbsJb Evain
2017-02-22Make field readonlyJb Evain
2017-02-13Turns out the list ctor + dict implementing ICollection of KVP will do the ↵Jb Evain
right thing
2017-02-13Avoid list resizesJb Evain
2017-02-13Style fixesJb Evain
2017-02-13Optimize StringHeap size.Eugene Rozenfeld
This change reduces the size of StringHeap by re-using string suffixes wherever possible. Before this change, if metadata strings `foo` and `foobar` were needed, both would be emitted. With this change, only `foobar` will be emitted and its suffix will be used for `bar`. Most of the implementation is taken from Roslyn: https://github.com/dotnet/roslyn/blob/614299ff83da9959fa07131c6d0ffbc58873b6ae/src/Compilers/Core/Portable/System/Reflection/Metadata/Ecma335/MetadataBuilder.Heaps.cs#L287 StringHeapBuffer.GetStringIndex doesn't eagerly write bytes to the buffer; instead, it just assigns each string an index and keeps the map from strings to indexes. After AssemblyWriter.BuildModule completes and all strings have been collected, a new method WriteStrings implements the optimization that reuses string suffixes. A map of string indexes to buffer offsets is returned. That map is used in Metadata.WriteString to emit correct string offsets.
2016-07-16Set pdb tables sorted flagsJb Evain
2016-07-15Merge branch 'lowermemuse' into ppdb_lowermemuseJb Evain
2016-07-13Add support for the portable pdb formatJb Evain
2016-05-13Merge branch 'master' into lowermemuseJb Evain
2016-04-22Fix decoding the HasCustomAttribute coded indexJb Evain
2015-09-29Prevent exception on invalid blob indexJb Evain
2015-05-31Make MetadataToken IEquatableFrancois Valdy
- when used as key in a dict, implementing IEquatable will avoid object boxing when comparing keys. - big perf increase when loading assemblies.
2015-04-25Merge branch 'master' into lowermemuseJb Evain
Conflicts: Mono.Cecil.PE/Image.cs Mono.Cecil/DefaultAssemblyResolver.cs Mono.Cecil/ModuleDefinition.cs Test/Mono.Cecil.Tests/Addin.cs Test/Mono.Cecil.Tests/ImageReadTests.cs Test/Mono.Cecil.Tests/ImportCecilTests.cs Test/Mono.Cecil.Tests/ImportReflectionTests.cs
2015-04-22Simplify headerJb Evain
2015-04-22Update copyrightsJb Evain
2011-11-02Use ordinal comparer for string keyed dictionariesJb Evain
2011-10-27revert last two experimentationsJb Evain
2011-10-27Only keep the table heap in memory; read the other heaps from the underlying ↵Jb Evain
stream
2011-10-27First pass at a branch with reduced memory usage; Keeps an open handle on ↵Jb Evain
the file, dispose your modules
2011-04-04Update copyrightjbevain
2011-04-04Fix HeapBuffer.IsLargejbevain
2011-03-27Remove TableHeap.TableIdentifiersjbevain
2011-03-27Reduce TableHeap initializer sizejbevain
2011-03-27Add support for enclog and encmap tablesjbevain
2010-10-22Move MetadataType to Mono.CecilJb Evain
2010-09-17Expose a convenience enum to switch on the metadata typejbevain
2010-07-24fix readonly buildjbevain
2010-07-24micro optimizationjbevain
2010-05-10cosmeticjbevain
2010-04-12initial commitjbevain