[Top][All Lists]
[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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [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,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_attrs.c,1.14,1.15 cs_gather.c,1.35,1.36 cs_lookup.c,1.18,1.19
- Next by Date:
[Dotgnu-pnet-commits] CVS: pnet/image meta_index.c,1.4,1.5
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_attrs.c,1.14,1.15 cs_gather.c,1.35,1.36 cs_lookup.c,1.18,1.19
- Next by thread:
[Dotgnu-pnet-commits] CVS: pnet/image meta_index.c,1.4,1.5
- Index(es):