Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
 public static string GetMonoJitDescription(this MethodDescription description)
 {
     return($"{description.FullTypeName}:{description.MethodName}{description.ArgumentTypes.GetSuffixJitMetadataName()}");
 }
Esempio n. 3
0
 public static string GetMonoAotDescription(this MethodDescription description)
 {
     return($"{description.FullTypeName.Replace('.', '_')}_{description.MethodName}{description.ArgumentTypes.GetSuffixAotMetadataName()}");
 }
Esempio n. 4
0
 protected override string GenerateMethodName(MethodDescription description) => description.GetMonoJitDescription();
Esempio n. 5
0
 protected abstract string GenerateMethodName(MethodDescription description);