[gclist] Baker Treadmill as an alternative to reference counting.

Larry Evans jcampbell3@prodigy.net
Tue, 05 Sep 2000 10:24:13 -0500


Larry Evans wrote:

> Charles Fiterman wrote:
>
> > At 11:06 AM 9/4/00 -0700, you wrote:
> > >>Date: Sun, 3 Sep 100 08:47:32 -0700 (PDT)
> > >>From: "Henry G. Baker" <hbaker@netcom.com>
> > >>Subject: Re: [gclist] ref-counting performance cost

...skipping

>
> Does anyone see any other advantages/disadvantages to this method?

I should have added the following to make the adv/disadv more plain.  Each
pointee
is derived from:

  class
SubjZomable
  {
 public:
       virtual
  ~SubjZomable(void)
      {}
         virtual
     SubjZomable*
  var_self(void)
     throw(ZombieAccess)
     { return this
    ;}
  }
   ;

The Zombie class is derived from the above, but Zombie::var_self actually throws
ZombieAccess.

Access from RefWrapper uses var_self, but LiveWrapper just returns the pointee.