[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kfm-devel
Subject:    Re: KJS crashes
From:       Peter Kelly <pmk () post ! com>
Date:       2001-07-31 14:30:44
[Download RAW message or body]

It's a bit ugly because of the fact we're maintaining BC with the Imp
class, and we're dealing with Imps potentially when they are half-way
through being constructed.

Imp::prev is used to store whether or not the object is marked (prev ==
this or prev == 0). Now with the patch, Imp::next serves two purposes:

- has it been fully created? (imp != 0)
- can it be used for garbage collection (imp != 0 && imp != this)

Since gcAllowed() is never supposed to be true before the object is
fully constructed, we can get away with not having a !created() and
!gcAllowed() state.

--
Peter Kelly
pmk@post.com

Harri Porten wrote:
> 
> On Tue, 31 Jul 2001, Peter Kelly wrote:
> 
> > This patch should fix the problem.
> 
> So you experienced it as well and this fix made the problem go away ?
> 
> I got lost in the number of new flags now ;) What is the 'created' flag
> for ? A post-contructor flag that prevents an object from being cleaned
> before fully constructed ? The object that is currently allocated maybe ?
> 
> Harri.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic