[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_attrs.c,1.14,1.15 cs_gat
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[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 |
Date: |
Fri, 14 Feb 2003 21:14:55 -0500 |
Update of /cvsroot/dotgnu-pnet/pnet/cscc/csharp
In directory subversions:/tmp/cvs-serv22461/cscc/csharp
Modified Files:
cs_attrs.c cs_gather.c cs_lookup.c
Log Message:
Use ILClassNextMemberMatch to speed up member resolution in the C# compiler.
Index: cs_attrs.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_attrs.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** cs_attrs.c 12 Jan 2003 05:43:36 -0000 1.14
--- cs_attrs.c 15 Feb 2003 02:14:53 -0000 1.15
***************
*** 144,157 ****
{
member = 0;
! while((member = ILClassNextMember(classInfo, member)) != 0)
{
/* Skip members that aren't accessible to the module */
if(!ILMemberAccessible(member, scope))
- {
- continue;
- }
-
- /* Check the member name */
- if(strcmp(ILMember_Name(member), name) != 0)
{
continue;
--- 144,152 ----
{
member = 0;
! while((member = ILClassNextMemberMatch
! (classInfo, member, 0, name, 0)) != 0)
{
/* Skip members that aren't accessible to the module */
if(!ILMemberAccessible(member, scope))
{
continue;
Index: cs_gather.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_gather.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -r1.35 -r1.36
*** cs_gather.c 12 Jan 2003 21:15:51 -0000 1.35
--- cs_gather.c 15 Feb 2003 02:14:53 -0000 1.36
***************
*** 401,408 ****
/* Scan the members of this class */
member = 0;
! while((member = ILClassNextMember(classInfo, member)) != 0)
{
! if(!strcmp(ILMember_Name(member), name) &&
! ILMemberAccessible(member, scope))
{
return member;
--- 401,408 ----
/* Scan the members of this class */
member = 0;
! while((member = ILClassNextMemberMatch
! (classInfo, member, 0, name, 0)) != 0)
{
! if(ILMemberAccessible(member, scope))
{
return member;
***************
*** 447,454 ****
/* Scan the members of this class */
member = 0;
! while((member = ILClassNextMember(classInfo, member)) != 0)
{
if(member != notThis &&
- !strcmp(ILMember_Name(member), name) &&
ILMemberAccessible(member, scope) &&
(!interfaceOverride || classInfo == scope))
--- 447,454 ----
/* Scan the members of this class */
member = 0;
! while((member = ILClassNextMemberMatch
! (classInfo, member, 0, name, 0)) != 0)
{
if(member != notThis &&
ILMemberAccessible(member, scope) &&
(!interfaceOverride || classInfo == scope))
***************
*** 625,634 ****
{
ILMember *member = 0;
! while((member = ILClassNextMemberByKind(interface, member, kind)) != 0)
{
- if(strcmp(ILMember_Name(member), name) != 0)
- {
- continue;
- }
if(kind == IL_META_MEMBERKIND_METHOD ||
kind == IL_META_MEMBERKIND_PROPERTY)
--- 625,631 ----
{
ILMember *member = 0;
! while((member = ILClassNextMemberMatch
! (interface, member, kind, name, 0)) != 0)
{
if(kind == IL_META_MEMBERKIND_METHOD ||
kind == IL_META_MEMBERKIND_PROPERTY)
***************
*** 904,913 ****
{
methodInfo = 0;
! while((methodInfo = (ILMethod *)ILClassNextMemberByKind
(classInfo, (ILMember *)methodInfo,
! IL_META_MEMBERKIND_METHOD)) != 0)
{
! if(!strcmp(ILMethod_Name(methodInfo), ".ctor") &&
! (ILMethod_Token(methodInfo) & IL_META_TOKEN_MASK) ==
IL_META_TOKEN_MEMBER_REF)
{
--- 901,909 ----
{
methodInfo = 0;
! while((methodInfo = (ILMethod *)ILClassNextMemberMatch
(classInfo, (ILMember *)methodInfo,
! IL_META_MEMBERKIND_METHOD, ".ctor",
0)) != 0)
{
! if((ILMethod_Token(methodInfo) & IL_META_TOKEN_MASK) ==
IL_META_TOKEN_MEMBER_REF)
{
Index: cs_lookup.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_lookup.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -r1.18 -r1.19
*** cs_lookup.c 28 Dec 2002 18:11:19 -0000 1.18
--- cs_lookup.c 15 Feb 2003 02:14:53 -0000 1.19
***************
*** 317,324 ****
{
member = 0;
! while((member = ILClassNextMember(info, member)) != 0)
{
! if(!strcmp(ILMember_Name(member), name) &&
! ILMemberAccessible(member, accessedFrom))
{
kind = ILMemberGetKind(member);
--- 317,324 ----
{
member = 0;
! while((member = ILClassNextMemberMatch
! (info, member, 0, name, 0)) !=
0)
{
! if(ILMemberAccessible(member, accessedFrom))
{
kind = ILMemberGetKind(member);
[Prev in Thread] |
Current Thread |
[Next in 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,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2135,1.2136
- Next by Date:
[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
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2135,1.2136
- Next by 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
- Index(es):