Search code examples
c#ilopcodeopcodes

What is the semantic inference or meaning of the term "Calli"?


I have seen this term in various places in code, such as in graphics programming samples. It seems to be a C++ semantic, but apparently there is a C# / .NET managed implementation called EmitCalli which seems to be related to OpCodes.Calli. I presume this is a machine language instruction. Is there an explanation of this term that is somewhat close to layman's terms?


Solution

  • It means call indirect and it is for the MSIL

    Calls the method indicated on the evaluation stack (as a pointer to an entry point) with arguments described by a calling convention.

    In call, the method descriptor is passed with the instruction ( and hence direct)

    In calli, it is given a method entry pointer ( and hence indirect)