- Notifications
You must be signed in to change notification settings - Fork3
.NET Core CLR; diverse support and modifications like 3F's IL Assembler on coreclr etc.
License
3F/coreclr
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
.NET Core complete runtime implementation. Also includes IL Assembler, IL Disassembler, RyuJIT, the .NET GC, native interop and many other components.
Some of these components have beenmodified and also known as3F's IL Assembler on coreclr (github/3F)specialy forhttps://github.com/3F/DllExport and for other related purposes.
Licensed under theMIT License (MIT)
Copyright (c).NETFoundationandContributorsCopyright (c)2016-2025DenisKuzmin<x-3F@outlook.com>github/3F
3F's IL Assembler (ILAsm) + IL Disassembler (ILDasm)https://github.com/3F/coreclr
Rebase system object in ordernetstandard
>System.Runtime
>mscorlib
is available starting from 4.700.2+
Starting from 9.3.0+ you can change the binding of any type for specific assemblies using the following.typeref
directive:
grammar:
assemblyDecl :'.hash''algorithm' int32 | secDecl | asmOrRefDecl |'.typeref' dottedName'at' dottedName |'.typeref' dottedName'any''at' dottedName |'.typeref' dottedName'constraint''deny' |'.typeref' dottedName'constraint''any''deny' |'.typeref' dottedName'assert' |'.typeref' dottedName'any''assert' ;
The format for changing the link:
.typeref 'Type'[any] at'ResolutionScope'
Assertion of type declaration by current module (first atModule tables):
.typeref 'Type'[any]assert//alias: .typeref 'Type' [any] at ''
The format for rejecting defined records (predefined by the user and the .assembler declaration):
.typeref 'Type' constraint[any] deny
Note keywordany
points to multiple definitions starting from the specifiedName
For example, predefined assembler's.typeref
directives (when/REB is activated) will mean something like:
// 9.3.0+.assembly 'ClassLibrary1'{.typeref 'System.' any at 'mscorlib'.typeref 'System' at 'mscorlib'.typeref 'System.Span`' anyassert.typeref 'System.ReadOnlySpan`' any assert.typeref 'System.Memory`' anyassert.typeref 'System.ReadOnlyMemory`' any assert.typeref 'System.MemoryExtensions' assert.custom instancevoid ....custom instancevoid ....hash algorithm0x00008004.ver1:0:0:0}
Multiple definitions are competitive or interchangeable. Priority is given to the last from top to bottom. For example,
.typeref 'System.'anyat 'System.Runtime'.typeref 'System.Math' constraint deny.typeref 'System.IO.' constraint anydeny.typeref 'System.'any at'mscorlib'.typeref 'System.'any assert
are equal to
.typeref 'System.'anyassert
etc.
.res / .obj
In order to provide a compatible resource converter to obj COFF-format when assembling, use/CVRES (/CVR) key:
ilasm ... /CVR=cvtres.exe
Automatic search is available starting from 9.3.0+ by usinghMSBuild and other predefined falbacks to resolve.res /.obj processing automatically.
$(ILAsm_RootPkg)
- path to ILAsm package folder.$(ILAsm_PathToBin)
- path to\bin
folder., e.g.$(ILAsm_PathToBin)Win.x64\ilasm.exe$(ILAsm_W64Bin)
and$(ILAsm_W86Bin)
- e.g.$(ILAsm_W64Bin)ildasm.exe
Symbols (PDB) are available through GitHub Releases:https://github.com/3F/coreclr/releases
About
.NET Core CLR; diverse support and modifications like 3F's IL Assembler on coreclr etc.
Topics
Resources
License
Stars
Watchers
Forks
Languages
- C#64.7%
- C++23.2%
- C10.1%
- Python0.4%
- Assembly0.4%
- Roff0.3%
- Other0.9%