Bruno,
would it be possible to make gnulib cond allocate on stack?
would it be possible to use fast clisp spinlocks in gnulib lock?
Thanks.
Vladimir Tzankov wrote:
On Nov 17, 2008, at 9:28 PM, Sam Steingold wrote:
I plan to create the thread2 branch after I switch to gnulib
threadlib/lock/cond to get solaris and win32 "for free".
Not real objections - but few concerns.
The xmutex_t should be recursive (for consistency - critical section
on Win32 are recursive - and gnulib uses them as well).
The cond implementation in gnulib uses malloc() while the current
clisp implementation uses the stack. In a long running process this
may cause unexpected behavior. Also this is especially true for
SPVW_PURE - where the malloc-ed areas can easily mix with the lisp
heap (looks to me).
I just looked on the gnulib and do not see "realy fast" spinlocks
(may be I am wrong - have not looked too hard). In the current clisp
spinlocks are inlined assembly instructions. Every heap allocation is
guarded with a spinlock - so any overhead may cause significant
decrease in performance.
SAm.