diff options
| author | TSR Berry <20988865+TSRBerry@users.noreply.github.com> | 2023-04-08 01:22:00 +0200 |
|---|---|---|
| committer | Mary <thog@protonmail.com> | 2023-04-27 23:51:14 +0200 |
| commit | cee712105850ac3385cd0091a923438167433f9f (patch) | |
| tree | 4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /ARMeilleure/CodeGen/CompiledFunction.cs | |
| parent | cd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff) | |
Move solution and projects to src
Diffstat (limited to 'ARMeilleure/CodeGen/CompiledFunction.cs')
| -rw-r--r-- | ARMeilleure/CodeGen/CompiledFunction.cs | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/ARMeilleure/CodeGen/CompiledFunction.cs b/ARMeilleure/CodeGen/CompiledFunction.cs deleted file mode 100644 index 0560bf2e..00000000 --- a/ARMeilleure/CodeGen/CompiledFunction.cs +++ /dev/null @@ -1,68 +0,0 @@ -using ARMeilleure.CodeGen.Linking; -using ARMeilleure.CodeGen.Unwinding; -using ARMeilleure.Translation.Cache; -using System; -using System.Runtime.InteropServices; - -namespace ARMeilleure.CodeGen -{ - /// <summary> - /// Represents a compiled function. - /// </summary> - readonly struct CompiledFunction - { - /// <summary> - /// Gets the machine code of the <see cref="CompiledFunction"/>. - /// </summary> - public byte[] Code { get; } - - /// <summary> - /// Gets the <see cref="Unwinding.UnwindInfo"/> of the <see cref="CompiledFunction"/>. - /// </summary> - public UnwindInfo UnwindInfo { get; } - - /// <summary> - /// Gets the <see cref="Linking.RelocInfo"/> of the <see cref="CompiledFunction"/>. - /// </summary> - public RelocInfo RelocInfo { get; } - - /// <summary> - /// Initializes a new instance of the <see cref="CompiledFunction"/> struct with the specified machine code, - /// unwind info and relocation info. - /// </summary> - /// <param name="code">Machine code</param> - /// <param name="unwindInfo">Unwind info</param> - /// <param name="relocInfo">Relocation info</param> - internal CompiledFunction(byte[] code, UnwindInfo unwindInfo, RelocInfo relocInfo) - { - Code = code; - UnwindInfo = unwindInfo; - RelocInfo = relocInfo; - } - - /// <summary> - /// Maps the <see cref="CompiledFunction"/> onto the <see cref="JitCache"/> and returns a delegate of type - /// <typeparamref name="T"/> pointing to the mapped function. - /// </summary> - /// <typeparam name="T">Type of delegate</typeparam> - /// <returns>A delegate of type <typeparamref name="T"/> pointing to the mapped function</returns> - public T Map<T>() - { - return MapWithPointer<T>(out _); - } - - /// <summary> - /// Maps the <see cref="CompiledFunction"/> onto the <see cref="JitCache"/> and returns a delegate of type - /// <typeparamref name="T"/> pointing to the mapped function. - /// </summary> - /// <typeparam name="T">Type of delegate</typeparam> - /// <param name="codePointer">Pointer to the function code in memory</param> - /// <returns>A delegate of type <typeparamref name="T"/> pointing to the mapped function</returns> - public T MapWithPointer<T>(out IntPtr codePointer) - { - codePointer = JitCache.Map(this); - - return Marshal.GetDelegateForFunctionPointer<T>(codePointer); - } - } -}
\ No newline at end of file |
