Make the interpreter's state thread-local.
authorMatt Birkholz <puck@birchwood-abbey.net>
Sat, 25 Jul 2015 21:48:11 +0000 (14:48 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Thu, 26 Nov 2015 08:09:45 +0000 (01:09 -0700)
commit67d18a54f363b632d079e9b92d19968ab7f4323a
tree232254dcc78d93b3095d1f53b03660d7be31d2e9
parentd32525d1709fc816abf0896c239caf86cf25d5ca
Make the interpreter's state thread-local.

Pull the initialization of the affected variables into a new
initialize_processor_early function and call it in both main and the
co-processors' "work" function.

Still, stack_pointer, Free and Registers are not yet thread-local.
Such declarations would be in conflict with the x86_64 assembly code.
13 files changed:
src/microcode/boot.c
src/microcode/critsec.h
src/microcode/dstack.h
src/microcode/extern.h
src/microcode/floenv.c
src/microcode/history.h
src/microcode/interp.c
src/microcode/interp.h
src/microcode/prossmp.c
src/microcode/storage.c
src/microcode/transact.c
src/microcode/utils.c
src/microcode/wind.c