Skip to content

Commit d38a4d1

Browse files
committed
Basic implementation of CPOBJ in the interpreter
1 parent 2eb0b4c commit d38a4d1

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/coreclr/interpreter/compiler.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3932,6 +3932,18 @@ void InterpCompiler::GenerateCode(CORINFO_METHOD_INFO* methodInfo)
39323932
break;
39333933
}
39343934

3935+
case CEE_CPOBJ:
3936+
{
3937+
CHECK_STACK(2);
3938+
CORINFO_RESOLVED_TOKEN resolvedToken;
3939+
ResolveToken(getU4LittleEndian(m_ip + 1), CORINFO_TOKENKIND_Class, &resolvedToken);
3940+
InterpType interpType = GetInterpType(m_compHnd->asCorInfoType(resolvedToken.hClass));
3941+
EmitLdind(interpType, resolvedToken.hClass, 0);
3942+
EmitStind(interpType, resolvedToken.hClass, 0, false);
3943+
m_ip += 5;
3944+
break;
3945+
}
3946+
39353947
case CEE_RET:
39363948
{
39373949
CORINFO_SIG_INFO sig = methodInfo->args;

0 commit comments

Comments
 (0)