new Cps optimization -- flattening arrays
Stephen Weeks
sweeks@wasabi.epr.com
Tue, 21 Dec 1999 13:27:12 -0800 (PST)
> For this transformation to be fast, it is clearly essential that cps sub does
> NOT do the bounds check, otherwise you would do the check twice.
Right. That is the current state of affairs.
> Are you convinced that the transformation is always a win. Note, it is
> essentially flattening out something, and that can cost you. As a concrete
> example: if I subscript into an (int * int) array, and the result has to
> actually be a tuple, then the old code will not have to allocate the tuple
> (because it can share with the array element) while the new code will.
I agree this could happen, but I would be surprised if it happens
much. And I'd still take the space win anyways.