[pooma-dev] AltView* classes
Jeffrey D. Oldham
oldham at codesourcery.com
Tue Mar 2 16:19:09 UTC 2004
James Crotinger wrote:
> Hi Richard,
>
> This tickled a neuron the other day, but I couldn't recall the details.
>
> The AltView classes were put in to reduce link times and sizes for large
> codes. The classes that have enums end up having a link-time cost, both
> in space and time. I believe this refactoring was done to reduce the
> cardinality of classes having the "sv" enum. My recollection is that
> this, and other similar "optimizations", had a pretty substantial impact
> on link-time for Blanca. Unless these are hurting something else, I
> would tend to leave them in.
>
> Does the CodeSourcery CVS repository have complete CVS history? (i.e.
> did we copy the repository, or just the head version?) This should have
> been easy to determine via CVS.
The POOMA CVS repository history goes back to at least 1998 March. For
example, see the log for src/Array/Array.h. This log gives an entry for
AltView0 and AltView1Implementation:
revision 1.141
date: 2001/05/25 17:42:48; author: oldham; state: Exp; lines: +47 -6
branches: 1.141.4;
2001-05-25 Jeffrey D. Oldham <oldham at codesourcery.com>
* Array/Array.h (View0): Modify initial comment to indicate
changes should also be made to AltView0.
(AltView0): New class to avoid explicit instantiation problems.
(ComponentView): Modify initial comment to indicate class should
not be explicitly instantiated.
(Array::read()): Change return type to AltView0.
(Array::operator()()): Likewise.
* NewField/Field.h (View1Implementation): Modify initial comment
to indicate changes should also be made to AltView1Implementation.
(AltView1Implementation): New class to avoid explicit
instantiation problems.
(View1): Modify initial comment to indicate changes should also be
made to AltView1.
(AltView1): New class to avoid explicit instantiation problems.
(Field::read()): Change return type to AltView1.
(Field::readAll()): Likewise.
(Field::read(s1)): Likewise.
(Field::operator()()): Likewise.
(Field::all()): Likewise.
(Field::operator()(s1)): Likewise.
Perhaps this will jog Jim's memory more. I do not remember much about this.
--
Jeffrey D. Oldham
oldham at codesourcery.com
More information about the pooma-dev
mailing list