public inbox for guile-emacs@sourceware.org
 help / color / mirror / Atom feed
From: Kalle Olavi Niemitalo <tosi@stekt.oulu.fi>
To: Keisuke Nishida <kxn30@po.cwru.edu>
Cc: guile-emacs@sourceware.cygnus.com
Subject: guile-emacs GC (was special forms)
Date: Wed, 15 Mar 2000 11:37:00 -0000	[thread overview]
Message-ID: <873dpsauvn.fsf_-_@PC486.Niemitalo.LAN> (raw)
In-Reply-To: <iznn1o0qq3q.fsf@stekt.oulu.fi>

Kalle Olavi Niemitalo <tosi@ee.oulu.fi> writes:

> Besides I don't know enough about the Emacs garbage collector.

The garbage collectors may be a larger problem than I thought...

In guileapi.c, you have a list of Emacs Lisp objects which are
being used by Guile.  This protect_list prevents Emacs from
garbage-collecting those objects and anything they point to.  It
is working fine (although lval_free() may get slow if the list is
long).

Now, if Emacs Lisp objects can also contain references to Guile
objects, there must be a mechanism to prevent Guile from
collecting those objects.  One could perhaps add a similar list
in the Guile side.

If something causes a cycle of references between Lisp and
Scheme, neither garbage collector can free the data.  It's all
locked down by the protect lists.  To detect the situation, the
garbage collectors would have to cooperate.  I'm sure that would
be a pain to code.

  reply	other threads:[~2000-03-15 11:37 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-03-14 12:46 special forms (save-excursion) Kalle Olavi Niemitalo
2000-03-14 13:32 ` Keisuke Nishida
2000-03-14 14:11 ` Keisuke Nishida
2000-03-14 14:17   ` Keisuke Nishida
2000-03-15  0:34   ` Kalle Olavi Niemitalo
2000-03-15  3:32     ` Keisuke Nishida
2000-03-15  5:11       ` Kalle Olavi Niemitalo
2000-03-15  5:43         ` Keisuke Nishida
2000-03-15  6:12           ` Kalle Olavi Niemitalo
2000-03-15 11:37             ` Kalle Olavi Niemitalo [this message]
2000-03-15 12:18               ` guile-emacs GC (was special forms) Keisuke Nishida
2000-03-15 13:48                 ` Jim Blandy
2000-03-15 15:14                   ` Keisuke Nishida
2000-03-15 11:30           ` special forms (save-excursion) Kalle Olavi Niemitalo
2000-03-15 12:42             ` Keisuke Nishida

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=873dpsauvn.fsf_-_@PC486.Niemitalo.LAN \
    --to=tosi@stekt.oulu.fi \
    --cc=guile-emacs@sourceware.cygnus.com \
    --cc=kxn30@po.cwru.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).