[Top][All Lists]
[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
- Several questions.,
Dirk Herrmann <=
- Re: Several questions., Marius Vollmer, 2001/04/20
- Re: Several questions., Dirk Herrmann, 2001/04/20
- Re: Several questions., Neil Jerram, 2001/04/21
- Re: Several questions., Dirk Herrmann, 2001/04/21
- Re: Several questions., Marius Vollmer, 2001/04/21
- Re: Several questions., Dirk Herrmann, 2001/04/22
- Handling deprecated features, Marius Vollmer, 2001/04/29