This is the mail archive of the 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]
Other format: [Raw text]

[PATCH] C++ space optimization: de-cloning con/de/structors, take II


This is my second offering for a C++ space optimization.

My original patch is here:

I've since had many stimulating discussions about this.  :-)

I believe I've addressed almost every point raised thus far, either by
changing the code or with a counterexample or an explanation.
Thank-you to all for your comments.

The one unresolved point has to do with DECL_NUM_STMTS(); an objection
was raised, characterizing this usage as "bogus."  If it's bogus, I'd
be happy to change it, especially if someone could suggest a better
triviality check (do I need to walk the tree and count nodes?).  Since
de-cloning a trivial con/de/structor can waste space, it would be
useful to make this accurate.

Testing: This version has bootstrapped on Mac OS X (PPC) and Linux
(x86), and passed the C++ testsuite on Linux.

Compatibility: Unchanged.  Linktime-compatibile with the current
cloning scheme, and with the previous de-cloning scheme.

Attachment: patch.decloner.2
Description: Binary data

stuart hastings
Apple Computer

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