This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: EGCS: pointer to member functions.
- To: mrs at wrs dot com (Mike Stump)
- Subject: Re: EGCS: pointer to member functions.
- From: Alexandre Oliva <oliva at dcc dot unicamp dot br>
- Date: 21 Jun 1999 16:43:46 -0300
- Cc: brendan at dgs dot monash dot edu dot au, egcs at egcs dot cygnus dot com, martin at mira dot isdn dot cs dot tu-berlin dot de, egcs-patches at egcs dot cygnus dot com
- References: <199906171530.IAA14508@kankakee.wrs.com>
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>