mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-08-17 14:18:44 +02:00
* Refactor `PtcInfo` This change reduces the coupling of `PtcInfo` by moving relocation tracking to the backend. `RelocEntry`s remains as `RelocEntry`s through out the pipeline until it actually needs to be written to the PTC streams. Keeping this representation makes inspecting and manipulating relocations after compilations less painful. This is something I needed to do to patch relocations to 0 to diff dumps. Contributes to #1125. * Turn `Symbol` & `RelocInfo` into readonly structs * Add documentation to `CompiledFunction` * Remove `Compiler.Compile<T>` Remove `Compiler.Compile<T>` and replace it by `Map<T>` of the `CompiledFunction` returned.
29 lines
726 B
C#
29 lines
726 B
C#
namespace ARMeilleure.CodeGen.Linking
|
|
{
|
|
/// <summary>
|
|
/// Types of <see cref="Symbol"/>.
|
|
/// </summary>
|
|
enum SymbolType : byte
|
|
{
|
|
/// <summary>
|
|
/// Refers to nothing, i.e no symbol.
|
|
/// </summary>
|
|
None,
|
|
|
|
/// <summary>
|
|
/// Refers to an entry in <see cref="Translation.Delegates"/>.
|
|
/// </summary>
|
|
DelegateTable,
|
|
|
|
/// <summary>
|
|
/// Refers to an entry in <see cref="Translation.Translator.FunctionTable"/>.
|
|
/// </summary>
|
|
FunctionTable,
|
|
|
|
/// <summary>
|
|
/// Refers to a special symbol which is handled by <see cref="Translation.PTC.Ptc.PatchCode"/>.
|
|
/// </summary>
|
|
Special
|
|
}
|
|
}
|