I have been trying to understand how the newobj instruction is jitted. For
a simple class like
class Foo { int x = 5; }
and an instruction
newobj instance void Foo
Rotor calls FJit::compileCEE_NEWOBJ, and goes to the "allocate normal
object" case where the first line is
helper_ftn = jitInfo->getHelperFtn(jitInfo->getNewHelper(targetClass,
methodHandle));
The value of jitInfo->getNewHelper(targetClass, methodHandle) appears to
be CORINFO_HELP_NEWSFAST, and, according to the table hlpFuncTable, it
seems to map to JIT_NewFast. So, I thought the helper function helper_ftn
must have been JIT_NewFast. However, it does not seem to be the case. So,
what is the value of helper_ftn?
Thanks,
-Yuan