This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: EGCS: pointer to member functions.


On Jun 17, 1999, mrs@wrs.com (Mike Stump) wrote:

>> From: Alexandre Oliva <oliva@dcc.unicamp.br>

>> It seems to me that a pair<pointer_to_thunk,offset> is fast and
>> general enough, but generating specialized thunks could save us
>> space.  Do you think it is worth it?

> No, not at this point in time.  I would rather see other bugs fixed
> personally.

Ok, here's a new entry for the projects page, as you had suggested.
Ok to install?

-- 
Alexandre Oliva http://www.dcc.unicamp.br/~oliva IC-Unicamp, Bra[sz]il
{oliva,Alexandre.Oliva}@dcc.unicamp.br  aoliva@{acm.org,computer.org}
oliva@{gnu.org,kaffe.org,{egcs,sourceware}.cygnus.com,samba.org}
*** E-mail about software projects will be forwarded to mailing lists
Index: projects.html
===================================================================
RCS file: /egcs/carton/cvsfiles/wwwdocs/htdocs/projects.html,v
retrieving revision 1.3
diff -u -r1.3 projects.html
--- projects.html	1999/06/15 14:48:54	1.3
+++ projects.html	1999/06/21 19:43:32
@@ -73,6 +73,21 @@
 <p>Contact <a href="mailto:law@cygnus.com">law@cygnus.com</a> if
 you're interested in working on lazy code motion.
 
+<p>Handling of C++ pointers-to-member-function could be simplified.
+Currently, pointers to virtual methods require different handling from
+pointers to non-virtual methods, and a test is performed every time
+such a pointer is dereferenced to invoke the pointed method, to tell
+whether non-virtual or virtual dispatching must be performed.  By
+creating a thunk for each pointer to virtual method, as if it were a
+template instantiation, we could eliminate the need for such decision,
+and a pointer-to-member-function could be handled uniformly, as a
+pointer to the non-virtual method or a pointer to the thunk, and an
+offset, that has to be adjusted in case of casting across the
+inheritance hierarchy.  We could get rid of the offset too, using some
+dirty technique such as the one described <A
+HREF="http://egcs.cygnus.com/ml/egcs/1999-06/msg00589.html">here</A>,
+but it's not clear whether it would pay off.
+
 <hr>
 
 <p>The old PROJECTS file.  Stuff I know has been done has been deleted.
@@ -517,7 +532,7 @@
 <li>  References to the literature for the algorithms used in GCC
 </ol>
 
-<small><i>Last modified May 15, 1999.</i></small>
+<small><i>Last modified June 21, 1999.</i></small>
 
 <hr>
 <p><a href="index.html">Return to the EGCS home page</a>

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]