From: Johan Knol <johan.knol@id...> - 2001-09-11 15:50:30
Yes, I know. But it still generates code for assing's. This one does a
memcpy of cseg to xseg if getSize(..)>64. Of couse, if you include an
uncompressed gif, ...
> Kevin added some code recently to optimise initilisation of runs of data
> which works quite nicely. I haven't tested it, but it should improve the
> case where the init data is mostly consistent. I added a simple run
> length encoder and decoder to the z80 port which turned out quite nicely -
> roughly 1/3 of the speed of memcpy, but packs the data better.
> -- Michael
> On Tue, 11 Sep 2001, Johan Knol wrote:
> > Hi, I couldn't withdraw the challenge ...
> > In SDCCast.c:InitAggregates(): If you now have the environmental
> > "TRY_THE_NEW_INITIALIZER" set, AND compile with -mmcs51
> > AND have an initialized array in xseg, you can experience the new VERY
> > EXPERIMENTAL way of how things COULD be done: memcpy cseg to xseg. This
> > certainly solves bug #453727.
> > Right now (under the pre-mentioned conditions) it emit's code in
> > SDCCast.c:initAggregates() WHICH IS A MORTAL SIN, I know, but hey: this
> > experimental and won't hurt those who are not addressed.
> > The point is that I can't figure out how to generate ast's for the
> > call and insert it in the right place. Can use some help here.
> > Please tell me what you think.
> > Johan
> > P.S. This is not what I think is the optimal solution. Every var now
> > this whereas copying a special cseg to a <whatever>segment would be even
> > much more efficient.
> > /JK
> > _______________________________________________
> > sdcc-devel mailing list
> > sdcc-devel@...
> > https://lists.sourceforge.net/lists/listinfo/sdcc-devel