public static void Hook() { var jitCompiler = *ClrJit.GetJit(); OriginalCompileMethod = jitCompiler.CompileMethod; jitCompiler.CompileMethod = CustomCompileMethod; }
static JitHook() { foreach (var method in typeof(JitHook).GetMethods( BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic)) { RuntimeHelpers.PrepareMethod(method.MethodHandle); } CustomCompileMethod = new ClrJit.ICorJitCompiler.CompileMethodDelegate(CompileMethod); RuntimeHelpers.PrepareDelegate(CustomCompileMethod); }