dotgnu-pnet-commits
[Top][All Lists]
Advanced

[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) \





reply via email to

[Prev in Thread] Current Thread [Next in Thread]