From: Godmar Back (gback@cs.utah.edu)
Date: Sun Jan 03 1999 - 13:28:13 EST
Currently, it's pretty broken; I'm working on it so hold off your fixes.
Basically, the problem is that the constructors of Methods and Fields must
acquire references to their utf8, and the class finalizer must release them.
This also requires the combination of the class finalizer and the method/field
finalizers, leading to the eventual elimination of the latter.
It's a bunch of changes, and I am half through with debugging.
It's a bit tricky in parts, because objects must still be walkable after
they've been finalized: for instance, an object of class A may have to be
walked after class A has been finalized; which means class A must be walkable,
which also means gc_layout must stay valid, etc.
Plus, there are some occassions where utf8pointers are assigned, but
the ref count was not adjusted. Basically, any time you do a
a = b where a survives the current scope, you have to do utf8ConstAddRef(a);
in addition, you have to add a utf8ConstRelease(a) when a is destroyed.
- Godmar
This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:28 EDT