[m-dev.] Bug #309

Paul Bone paul at bone.id.au
Wed Jan 22 15:36:48 AEDT 2014


On Wed, Jan 22, 2014 at 03:15:36PM +1100, Mark Brown wrote:
> On Wed, Jan 22, 2014 at 2:18 PM, Paul Bone <paul at bone.id.au> wrote:
> > Another idea I had was to turn an exist_cast HLDS goal of something like io
> > or store(S) into an assignment from NULL (eg: "MR_r3 = NULL"[0]) rather than
> > an assignment from where-ever we thought that store(S) or io was stored.
> 
> Yes, this is also correct.
> 
> > NULL is just as good as junk but it has the benefit of being a 'cached'
> > value (as far as the LLDS is concerned), this means that if all it's
> > locations get clobbered that we can generate a new value for it from the
> > constant NULL.  No stack slot or temporary register is required.  This is
> > not an improvement on your suggestion above, it's just easier.
> 
> NULL won't point to the heap, hence won't cause Boehm to hang onto any
> further garbage. So I think your solution is probably better. :-)

I thought of that but for some reason I'd dismissed it.  Okay I'll fix it
this way.  Thanks.



-- 
Paul Bone
http://www.bone.id.au



More information about the developers mailing list