Hello!

"Andy Wingo" <wi...@pobox.com> writes:

> commit a2a6c0e319b5c146c484cb1fe8ffc9b14b9a9876
> Author: Andy Wingo <wi...@pobox.com>
> Date:   Fri May 6 00:17:35 2011 +0200
>
>     avoid tls gets when handling interrupts in the vm
>     
>     * libguile/__scm.h (SCM_ASYNC_TICK_WITH_CODE): Redefine to take a
>       scm_i_thread* as well.  OK to do because it's within a
>       BUILDING_LIBGUILE block.
>     
>     * libguile/vm-engine.c (vm_engine): Cache the scm_i_thread* instead of
>       the dynstate, so we can use the thread for ticks.
>     
>     * libguile/vm-engine.h (VM_HANDLE_INTERRUPTS): Tick with the
>       scm_i_thread* local var, to avoid excessive tls calls.
>     
>     * libguile/vm-i-system.c: Fix dynstate users to use
>       current_thread->dynamic_state.

What effect does it have on performance?  Registers are scarce on x86...

Message <877hv9a5z5....@gnu.org>
(aka. <http://thread.gmane.org/gmane.lisp.guile.devel/9444>) might be
relevant.

Thanks,
Ludo’.

Reply via email to