[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/include il_coder.h,1.40,1.41
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/include il_coder.h,1.40,1.41 |
Date: |
Wed, 07 May 2003 21:34:17 -0400 |
Update of /cvsroot/dotgnu-pnet/pnet/include
In directory subversions:/tmp/cvs-serv32457/include
Modified Files:
il_coder.h
Log Message:
Redesign parameter handling for coder method calls so that empty "__arglist"
specifications will work correctly.
Index: il_coder.h
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/include/il_coder.h,v
retrieving revision 1.40
retrieving revision 1.41
diff -C2 -r1.40 -r1.41
*** il_coder.h 14 Apr 2003 00:36:00 -0000 1.40
--- il_coder.h 8 May 2003 01:34:15 -0000 1.41
***************
*** 83,86 ****
--- 83,98 ----
/*
+ * Argument information for a method call.
+ */
+ typedef struct
+ {
+ ILEngineStackItem *args;
+ ILUInt32 numBaseArgs;
+ ILUInt32 numVarArgs;
+ int hasParamArray;
+
+ } ILCoderMethodInfo;
+
+ /*
* Inlineable method calls.
*/
***************
*** 530,568 ****
* Check a method call's first parameter for null.
*/
! void (*checkCallNull)(ILCoder *coder, ILEngineStackItem *args,
! ILUInt32 numArgs, int
extraVarArgParam);
/*
* Call a method directly.
*/
! void (*callMethod)(ILCoder *coder, ILEngineStackItem *args,
! ILUInt32 numArgs, ILEngineStackItem
*returnItem,
! ILMethod *methodInfo);
/*
* Call a method using an indirect pointer.
*/
! void (*callIndirect)(ILCoder *coder, ILEngineStackItem *args,
! ILUInt32 numArgs,
ILEngineStackItem *returnItem);
/*
* Call a constructor method directly.
*/
! void (*callCtor)(ILCoder *coder, ILEngineStackItem *args,
! ILUInt32 numArgs, ILMethod
*methodInfo);
/*
* Call a virtual method.
*/
! void (*callVirtual)(ILCoder *coder, ILEngineStackItem *args,
! ILUInt32 numArgs, ILEngineStackItem
*returnItem,
! ILMethod *methodInfo);
/*
* Call an interface method.
*/
! void (*callInterface)(ILCoder *coder, ILEngineStackItem *args,
! ILUInt32 numArgs,
ILEngineStackItem *returnItem,
! ILMethod *methodInfo);
/*
--- 542,576 ----
* Check a method call's first parameter for null.
*/
! void (*checkCallNull)(ILCoder *coder, ILCoderMethodInfo *info);
/*
* Call a method directly.
*/
! void (*callMethod)(ILCoder *coder, ILCoderMethodInfo *info,
! ILEngineStackItem *returnItem,
ILMethod *methodInfo);
/*
* Call a method using an indirect pointer.
*/
! void (*callIndirect)(ILCoder *coder, ILCoderMethodInfo *info,
! ILEngineStackItem *returnItem);
/*
* Call a constructor method directly.
*/
! void (*callCtor)(ILCoder *coder, ILCoderMethodInfo *info,
! ILMethod *methodInfo);
/*
* Call a virtual method.
*/
! void (*callVirtual)(ILCoder *coder, ILCoderMethodInfo *info,
! ILEngineStackItem *returnItem,
ILMethod *methodInfo);
/*
* Call an interface method.
*/
! void (*callInterface)(ILCoder *coder, ILCoderMethodInfo *info,
! ILEngineStackItem *returnItem,
ILMethod *methodInfo);
/*
***************
*** 879,903 ****
((*((coder)->classInfo->valueCtorArgs))((coder),
(_classInfo), \
(args), (numArgs)))
! #define ILCoderCheckCallNull(coder,args,numArgs,extraVarArgParam) \
! ((*((coder)->classInfo->checkCallNull))((coder),
(args), \
!
(numArgs), \
!
(extraVarArgParam)))
! #define ILCoderCallMethod(coder,args,numArgs,returnItem,methodInfo) \
! ((*((coder)->classInfo->callMethod))((coder), (args), \
!
(numArgs), (returnItem), \
(methodInfo)))
! #define ILCoderCallIndirect(coder,args,numArgs,returnItem) \
! ((*((coder)->classInfo->callIndirect))((coder), (args),
\
!
(numArgs), (returnItem)))
! #define ILCoderCallCtor(coder,args,numArgs,methodInfo) \
! ((*((coder)->classInfo->callCtor))((coder), (args), \
!
(numArgs), (methodInfo)))
! #define ILCoderCallVirtual(coder,args,numArgs,returnItem,methodInfo) \
! ((*((coder)->classInfo->callVirtual))((coder), (args), \
!
(numArgs), (returnItem), \
(methodInfo)))
! #define ILCoderCallInterface(coder,args,numArgs,returnItem,methodInfo) \
! ((*((coder)->classInfo->callInterface))((coder),
(args), \
!
(numArgs), (returnItem), \
(methodInfo)))
#define ILCoderCallInlineable(coder,inlineType,methodInfo) \
--- 887,909 ----
((*((coder)->classInfo->valueCtorArgs))((coder),
(_classInfo), \
(args), (numArgs)))
! #define ILCoderCheckCallNull(coder,info) \
! ((*((coder)->classInfo->checkCallNull))((coder),
(info)))
! #define ILCoderCallMethod(coder,info,returnItem,methodInfo) \
! ((*((coder)->classInfo->callMethod))((coder), (info), \
!
(returnItem), \
(methodInfo)))
! #define ILCoderCallIndirect(coder,info,returnItem) \
! ((*((coder)->classInfo->callIndirect))((coder), (info),
\
!
(returnItem)))
! #define ILCoderCallCtor(coder,info,methodInfo) \
! ((*((coder)->classInfo->callCtor))((coder), (info), \
!
(methodInfo)))
! #define ILCoderCallVirtual(coder,info,returnItem,methodInfo) \
! ((*((coder)->classInfo->callVirtual))((coder), (info), \
!
(returnItem), \
(methodInfo)))
! #define ILCoderCallInterface(coder,info,returnItem,methodInfo) \
! ((*((coder)->classInfo->callInterface))((coder),
(info), \
!
(returnItem), \
(methodInfo)))
#define ILCoderCallInlineable(coder,inlineType,methodInfo) \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/include il_coder.h,1.40,1.41,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnet/engine cvmc_call.c,1.25,1.26 null_coder.c,1.18,1.19 verify_call.c,1.37,1.38 verify_except.c,1.7,1.8
- Next by Date:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2336,1.2337
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnet/engine cvmc_call.c,1.25,1.26 null_coder.c,1.18,1.19 verify_call.c,1.37,1.38 verify_except.c,1.7,1.8
- Next by thread:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2336,1.2337
- Index(es):