protected void Test(Jitter jitter, string testCode, MethodDescription description, string expectedAsm) { var compiler = new RoslynCompiler(); using (var result = compiler.Compile(testCode)) { foreach (var jitResult in jitter.Jit(result, description)) { Console.WriteLine(jitResult.Asm); Assert.AreEqual(expectedAsm, jitResult.Asm); } } }
public static string GetMonoJitDescription(this MethodDescription description) { return($"{description.FullTypeName}:{description.MethodName}{description.ArgumentTypes.GetSuffixJitMetadataName()}"); }
public static string GetMonoAotDescription(this MethodDescription description) { return($"{description.FullTypeName.Replace('.', '_')}_{description.MethodName}{description.ArgumentTypes.GetSuffixAotMetadataName()}"); }
protected override string GenerateMethodName(MethodDescription description) => description.GetMonoJitDescription();
protected abstract string GenerateMethodName(MethodDescription description);