You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
New Features:
Replace IBinaryStreamReader classes with stack allocated BinaryStreamReader structs, reducing memory consumption by up to 40% (#136, #166).
Added concept of IFileServices and IInputFiles. This allows for memory mapped I/O on input binaries as well as caching of previously read PE files. This vastly reduces the memory consumption on reading large PE files and resolving dependent dll files (#115, #174).
Revisited representation of raw CIL method bodies, which reduces the memory consumption of the reader significantly when dealing with large method bodies that have megabytes worth of code in them (#171, #180)
Add rich read/write support for VTable entries in the .NET data directory (#63, #173, thanks @Anonym0ose)
Add support for reading PEs and modules from a HINSTANCE / module base address (#177).
Add read/write support for function pointer (FnPtr) type signatures (#167, #172)
Add support for unmanaged calling convention method signatures (a58b4c9)
Add support for managed entrypoints defined in a separate child module (975bda9)
Various improvements in reader and writer diagnostics.
Bug Fixes:
Importing corlib TypeDefinitions as signature now properly converts to CorLibTypeSignature instances instead of TypeDefOrRefSignature (#160)
Fixed a bug where a NullReferenceException would be thrown when trying to resolve .NET Core dependencies, while running AsmResolver using a .NET Framework host (695235e).
Set default hash algorithm for assemblies to SHA1, preventing all kinds of problems with invalid / incomplete metadata (a9f5eda)
Fixed incorrect column type in MethodSpec's Method column (afcb7a1).
Fixed an error where the scope of a parsed type from string was not set properly if the type refers to a type in the same module (d18fa67).
Fixed a bug where OptimizeMacros would crash if the unaligned prefix opcode was present in the method body (7b8e269).
Fixed a bug where ldc.i4.s and similar instructions would have the wrong operand set after calling Add(CilOpCode, int) (ad77103)
Fixed a bug where certain new metadata members (e.g. type references) that were manually assigned a metadata token using the TokenAllocator would not appear in the final binary (#175, #176).
Fixed a bug where assembly linked resources would be parsed incorrectly and throw exceptions on writing (7fe14d5)