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();
}
}
}
|