[DGD]1.2.19

Felix A. Croes felix at dworkin.nl
Tue Apr 10 02:14:42 CEST 2001


diff -c dgd/src/Changelog:1.257 dgd/src/Changelog:1.258
*** dgd/src/Changelog:1.257     Mon Apr  9 17:07:29 2001
--- dgd/src/Changelog   Tue Apr 10 01:58:57 2001
***************
*** 1461,1463 ****
--- 1461,1464 ----
   - Show a proper errormessage if precompiling fails.
   - Made a minor change to the code optimizer, in preparation for light-weight
     objects.
+  - Partial implementation of light-weight objects.

ftp://ftp.dworkin.nl/pub/dgd/experimental/1.2.18-1.2.19.gz

Create a light-weight object using new_object(object obj).  The kernel
library uses new_object(string path).  All light-weight instances
of an object will have the same name, which is that of the master
object with "#-1" appended.

This is only a partial implementation of light-weight objects.  They
don't garbage collect properly yet -- for instance, a light-weight
object with a variable set to this_object() will not be deallocated --
and upgrading doesn't work: if you upgrade an object of which light-
weight instances exist, and the upgrade adds, removes or moves around
variables in the object, the result is undefined and will likely
cause a crash.

Furthermore, there are no doubt new bugs.  The most stable version of
DGD is still 1.2.18.

Finally, if you restore from a statedump, you must make sure that
all objects in it were recompiled under 1.2.18, or you may get a
fatal error on executing code in a light-weight object.

Regards,
Dworkin

List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list