summaryrefslogtreecommitdiff
path: root/libguile/async.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2016-11-17 22:13:53 +0100
committerAndy Wingo <wingo@pobox.com>2016-11-17 22:13:53 +0100
commit4985ef13e68c83adf3e83f2c981205806ed9b621 (patch)
treeb5027ca3f4c0ce3c904c1e015ddae6d924db2c56 /libguile/async.c
parentca74e3fae52dd23f8e8f12194d07041e207f68e7 (diff)
downloadguile-4985ef13e68c83adf3e83f2c981205806ed9b621.tar.gz
Explicit interrupt handling in VM
* libguile/foreign.c (CODE, get_foreign_stub_code): Add explicit handle-interrupts and return-values calls, as foreign-call will fall through. * libguile/gsubr.c (A, B, C, AB, AC, BC, ABC, SUBR_STUB_CODE) (scm_i_primitive_call_ip): Same. * libguile/vm-engine.c (VM_HANDLE_INTERRUPTS): Inline into handle-interrupts. (RETURN_ONE_VALUE, RETURN_VALUE_LIST): Inline into callers, and fall through instead of returning. (BR_BINARY, BR_UNARY, BR_ARITHMETIC, BR_U64_ARITHMETIC): Remove conditional VM_HANDLE_INTERRUPTS, as the compiler already inserted the handle-interrupts calls if needed. (vm_engine): Remove VM_HANDLE_INTERRUPTS invocations except in the handle-interrupts instruction.
Diffstat (limited to 'libguile/async.c')
0 files changed, 0 insertions, 0 deletions