guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Several questions.


From: Dirk Herrmann
Subject: Several questions.
Date: Fri, 20 Apr 2001 10:14:54 +0200 (MEST)

Hello everybody.

I noticed a couple of things:

* Interrupts are disabled until guile enters interactive mode.  This has
  tricked me, since the after-gc-hook does not get called.  What are the
  reasons that interrupts are only allowed in such a restrictive way?

* scm_smobs is a malloc'd array that gets resized for every new
  smob.  With preemptive threading, this will not work well:  It would be
  necessary to guard every access to scm_smobs with a mutex.  The simplest
  alternative solution would be to allocate scm_smobs with its full
  size.  This will cost 12Kbytes of memory, though.  Another possibility
  is to use a level of indirection by making scm_smobs into a fixed size
  array of pointers (using only 1Kbyte), and mallocing each smob
  descriptor on demand.  Further, there's the possibility to make
  scm_smobs a malloc'd array again, but one that is put under control of
  the garbage collector.  This will, however, also add a level of
  indirection.  How should we solve this issue?  How should we solve it if
  the smob space gets extented?

* Building guile with  make "CFLAGS=-g -DSCM_DEBUG=1"  shows some
  inconsistent uses of DEFER/ALLOW ints.

Best regards,
Dirk Herrmann




reply via email to

[Prev in Thread] Current Thread [Next in Thread]