Example #1
0
 /// <summary>
 /// Creates a method compiler
 /// </summary>
 /// <param name="type">The type.</param>
 /// <param name="method">The method to compile.</param>
 /// <returns>
 /// An instance of a MethodCompilerBase for the given type/method pair.
 /// </returns>
 public override MethodCompilerBase CreateMethodCompiler(RuntimeType type, RuntimeMethod method)
 {
     MethodCompilerBase mc = new AotMethodCompiler(
         this,
         type,
         method
     );
     this.Architecture.ExtendMethodCompilerPipeline(mc.Pipeline);
     return mc;
 }
Example #2
0
 /// <summary>
 /// Creates a method compiler
 /// </summary>
 /// <param name="type">The type.</param>
 /// <param name="method">The method to compile.</param>
 /// <returns>
 /// An instance of a MethodCompilerBase for the given type/method pair.
 /// </returns>
 public override IMethodCompiler CreateMethodCompiler(ICompilationSchedulerStage compilationScheduler, RuntimeType type, RuntimeMethod method)
 {
     IMethodCompiler mc = new AotMethodCompiler(
         this,
         compilationScheduler,
         type,
         method
     );
     this.Architecture.ExtendMethodCompilerPipeline(mc.Pipeline);
     return mc;
 }
Example #3
0
        /// <summary>
        /// Creates a method compiler
        /// </summary>
        /// <param name="type">The type.</param>
        /// <param name="method">The method to compile.</param>
        /// <returns>
        /// An instance of a MethodCompilerBase for the given type/method pair.
        /// </returns>
        public override IMethodCompiler CreateMethodCompiler(ICompilationSchedulerStage compilationScheduler, RuntimeType type, RuntimeMethod method)
        {
            IMethodCompiler mc = new AotMethodCompiler(
                this,
                compilationScheduler,
                type,
                method
                );

            this.Architecture.ExtendMethodCompilerPipeline(mc.Pipeline);
            return(mc);
        }
Example #4
0
        /// <summary>
        /// Creates a method compiler
        /// </summary>
        /// <param name="type">The type.</param>
        /// <param name="method">The method to compile.</param>
        /// <returns>
        /// An instance of a MethodCompilerBase for the given type/method pair.
        /// </returns>
        public override MethodCompilerBase CreateMethodCompiler(RuntimeType type, RuntimeMethod method)
        {
            IArchitecture      arch = this.Architecture;
            MethodCompilerBase mc   = new AotMethodCompiler(
                this,
                type,
                method
                );

            arch.ExtendMethodCompilerPipeline(mc.Pipeline);
            return(mc);
        }