[Mono-list] VarPush for CEE_CALL: how to make CEE_CALL push back multiple values into a stack?

Okehee Goh ogoh@asu.edu
Thu, 28 Aug 2003 18:19:39 -0700


 Hello,
 I have a question regarding implementing an internal call correspondent to
a class API. The class API has an attribute
[MethodImplAttribute(MethodImplOptions.InternalCall)], so that its
correspondent API is implemented as ves_icall_System_Someting in Mono.
 The internal API (called as ves_icall_System..) pushes several values back
into a stack.
 It seems to be possible because CEE_CALL supports VarPush according to
opcode.def.

 << definition of CEE_CALL>>
  OPDEF(CEE_CALL, "call", VarPop, VarPush, InlineMethod, X, 1, 0xFF, 0x28,
CALL)

 But I don't know how to make the internal API return multiple numbers of
values so that they are put back into stack.
 Should it return array?

 Thank you so much in advance.

 Regards,

 Okehee