Welcome to mirror list, hosted at ThFree Co, Russian Federation.

InterpreterExecutionStrategy.cs « Interpreter « Runtime « Internal « src « System.Private.Interpreter « src - github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 7fa3a57429272dfdfe595c90721ca12601a87b92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

using System;

using Internal.Runtime.TypeLoader;
using Internal.TypeSystem;

namespace Internal.Runtime.Interpreter
{
    public class InterpreterExecutionStrategy : MethodExecutionStrategy
    {
        public override IntPtr OnEntryPoint(MethodEntrypointPtr methodEntrypointPtr, IntPtr callerArgumentsInfo)
        {
            var context = TypeSystemContextFactory.Create();
            MethodDesc method = methodEntrypointPtr.MethodIdentifier.ToMethodDesc(context);
            InterpreterCallInterceptor callInterceptor = new InterpreterCallInterceptor(context, method);
            return callInterceptor.GetThunkAddress();
        }
    }
}