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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/codegen cg_coerce.c,1.18,1.19 cg_lvalue


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/codegen cg_coerce.c,1.18,1.19 cg_lvalue.tc,1.19,1.20 cg_resolve.c,1.12,1.13
Date: Fri, 14 Feb 2003 21:14:55 -0500

Update of /cvsroot/dotgnu-pnet/pnet/codegen
In directory subversions:/tmp/cvs-serv22461/codegen

Modified Files:
        cg_coerce.c cg_lvalue.tc cg_resolve.c 
Log Message:


Use ILClassNextMemberMatch to speed up member resolution in the C# compiler.


Index: cg_coerce.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/codegen/cg_coerce.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -r1.18 -r1.19
*** cg_coerce.c 19 Nov 2002 00:29:40 -0000      1.18
--- cg_coerce.c 15 Feb 2003 02:14:52 -0000      1.19
***************
*** 561,570 ****
                arg1Class= ILClassResolve(arg1Class);
                member=0;
!               while((member = ILClassNextMemberByKind
!                                       (arg1Class, member, 
IL_META_MEMBERKIND_METHOD)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if(strcmp(ILMember_Name(member), "op_Implicit") != 0 ||
!                          (ILMember_Attrs(member) & METHOD_TYPE_ATTRS) !=
                        (IL_META_METHODDEF_STATIC 
|IL_META_METHODDEF_SPECIAL_NAME))
                        {
--- 561,570 ----
                arg1Class= ILClassResolve(arg1Class);
                member=0;
!               while((member = ILClassNextMemberMatch
!                                       (arg1Class, member,
!                                        IL_META_MEMBERKIND_METHOD, 
"op_Implicit", 0)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if((ILMember_Attrs(member) & METHOD_TYPE_ATTRS) !=
                        (IL_META_METHODDEF_STATIC 
|IL_META_METHODDEF_SPECIAL_NAME))
                        {
***************
*** 603,612 ****
                arg2Class= ILClassResolve(arg2Class);
                member=0;
!               while((member = ILClassNextMemberByKind
!                                       (arg2Class, member, 
IL_META_MEMBERKIND_METHOD)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if(strcmp(ILMember_Name(member), "op_Implicit") != 0 ||
!                          (ILMember_Attrs(member) & METHOD_TYPE_ATTRS) !=
                        (IL_META_METHODDEF_STATIC 
|IL_META_METHODDEF_SPECIAL_NAME))
                        {
--- 603,612 ----
                arg2Class= ILClassResolve(arg2Class);
                member=0;
!               while((member = ILClassNextMemberMatch
!                                       (arg2Class, member,
!                                        IL_META_MEMBERKIND_METHOD, 
"op_Implicit", 0)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if((ILMember_Attrs(member) & METHOD_TYPE_ATTRS) !=
                        (IL_META_METHODDEF_STATIC 
|IL_META_METHODDEF_SPECIAL_NAME))
                        {
***************
*** 653,662 ****
                arg1Class= ILClassResolve(arg1Class);
                member=0;
!               while((member = ILClassNextMemberByKind
!                                       (arg1Class, member, 
IL_META_MEMBERKIND_METHOD)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if(strcmp(ILMember_Name(member), "op_Explicit") != 0 ||
!                          (ILMember_Attrs(member) & METHOD_TYPE_ATTRS) !=
                        (IL_META_METHODDEF_STATIC 
|IL_META_METHODDEF_SPECIAL_NAME))
                        {
--- 653,662 ----
                arg1Class= ILClassResolve(arg1Class);
                member=0;
!               while((member = ILClassNextMemberMatch
!                                       (arg1Class, member,
!                                        IL_META_MEMBERKIND_METHOD, 
"op_Explicit", 0)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if((ILMember_Attrs(member) & METHOD_TYPE_ATTRS) !=
                        (IL_META_METHODDEF_STATIC 
|IL_META_METHODDEF_SPECIAL_NAME))
                        {
***************
*** 695,704 ****
                arg2Class= ILClassResolve(arg2Class);
                member=0;
!               while((member = ILClassNextMemberByKind
!                                       (arg2Class, member, 
IL_META_MEMBERKIND_METHOD)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if(strcmp(ILMember_Name(member), "op_Explicit") != 0 ||
!                          (ILMember_Attrs(member) & METHOD_TYPE_ATTRS) !=
                        (IL_META_METHODDEF_STATIC 
|IL_META_METHODDEF_SPECIAL_NAME))
                        {
--- 695,704 ----
                arg2Class= ILClassResolve(arg2Class);
                member=0;
!               while((member = ILClassNextMemberMatch
!                                       (arg2Class, member,
!                                        IL_META_MEMBERKIND_METHOD, 
"op_Explicit", 0)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if((ILMember_Attrs(member) & METHOD_TYPE_ATTRS) !=
                        (IL_META_METHODDEF_STATIC 
|IL_META_METHODDEF_SPECIAL_NAME))
                        {

Index: cg_lvalue.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/codegen/cg_lvalue.tc,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -r1.19 -r1.20
*** cg_lvalue.tc        6 Dec 2002 00:18:08 -0000       1.19
--- cg_lvalue.tc        15 Feb 2003 02:14:52 -0000      1.20
***************
*** 346,358 ****
  
        /* Find the method called "name" */
!       method = 0;
!       while((method = (ILMethod *)ILClassNextMemberByKind
!               (classInfo, (ILMember *)method, IL_META_MEMBERKIND_METHOD)) != 
0)
        {
!               if(!strcmp(ILMethod_Name(method), name))
!               {
!                       ILGenCallByMethod(info, method);
!                       return;
!               }
        }
  }
--- 346,353 ----
  
        /* Find the method called "name" */
!       if((method = (ILMethod *)ILClassNextMemberMatch
!               (classInfo, (ILMember *)0, IL_META_MEMBERKIND_METHOD, name, 0)) 
!= 0)
        {
!               ILGenCallByMethod(info, method);
        }
  }

Index: cg_resolve.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/codegen/cg_resolve.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** cg_resolve.c        16 Dec 2002 18:18:46 -0000      1.12
--- cg_resolve.c        15 Feb 2003 02:14:52 -0000      1.13
***************
*** 55,64 ****
                classInfo = ILClassResolve(classInfo);
                member = 0;
!               while((member = ILClassNextMemberByKind
!                                       (classInfo, member, 
IL_META_MEMBERKIND_METHOD)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if(strcmp(ILMember_Name(member), name) != 0 ||
!                          (ILMember_Attrs(member) & METHOD_TYPE_ATTRS) != 
attrs)
                        {
                                continue;
--- 55,64 ----
                classInfo = ILClassResolve(classInfo);
                member = 0;
!               while((member = ILClassNextMemberMatch
!                                       (classInfo, member,
!                                        IL_META_MEMBERKIND_METHOD, name, 0)) 
!= 0)
                {
                        /* Filter out members that aren't interesting */
!                       if((ILMember_Attrs(member) & METHOD_TYPE_ATTRS) != 
attrs)
                        {
                                continue;
***************
*** 250,259 ****
                classInfo = ILClassResolve(classInfo);
                member = 0;
!               while((member = ILClassNextMemberByKind
!                                       (classInfo, member, 
IL_META_MEMBERKIND_PROPERTY)) != 0)
                {
                        /* Filter out members that aren't interesting */
!                       if(strcmp(ILMember_Name(member), name) != 0 ||
!                          (ILMember_Attrs(member) & PROPERTY_TYPE_ATTRS) != 
attrs)
                        {
                                continue;
--- 250,259 ----
                classInfo = ILClassResolve(classInfo);
                member = 0;
!               while((member = ILClassNextMemberMatch
!                                       (classInfo, member,
!                                        IL_META_MEMBERKIND_PROPERTY, name, 0)) 
!= 0)
                {
                        /* Filter out members that aren't interesting */
!                       if((ILMember_Attrs(member) & PROPERTY_TYPE_ATTRS) != 
attrs)
                        {
                                continue;





reply via email to

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