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

Reply via email to