示例#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);
                }
            }
        }
示例#2
0
 public static string GetMonoJitDescription(this MethodDescription description)
 {
     return($"{description.FullTypeName}:{description.MethodName}{description.ArgumentTypes.GetSuffixJitMetadataName()}");
 }
示例#3
0
 public static string GetMonoAotDescription(this MethodDescription description)
 {
     return($"{description.FullTypeName.Replace('.', '_')}_{description.MethodName}{description.ArgumentTypes.GetSuffixAotMetadataName()}");
 }
示例#4
0
文件: MonoJIT.cs 项目: Therzok/JITPad
 protected override string GenerateMethodName(MethodDescription description) => description.GetMonoJitDescription();
示例#5
0
文件: Jitter.cs 项目: Therzok/JITPad
 protected abstract string GenerateMethodName(MethodDescription description);