mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-12 06:41:13 +02:00
Recognize `raise-exception` in the same way we recognize `throw`, though it is a bit less optimized and the boot story is not as complicated. * doc/ref/vm.texi (Non-Local Control Flow Instructions): * libguile/jit.c (compile_unreachable): (compile_unreachable_slow): * libguile/vm-engine.c (VM_NAME): * module/language/cps/compile-bytecode.scm (compile-function): * module/system/vm/assembler.scm (emit-unreachable): Add new "unreachable" instruction, inserted after a call to non-continuable `raise-exception`. * module/language/tree-il/compile-cps.scm (raise-exception): * module/language/tree-il/primitives.scm (*interesting-primitive-names*): Recognize raise-exception, and if it is called with just one argument, prune that branch of the control-flow graph. |
||
---|---|---|
.. | ||
assembler.scm | ||
coverage.scm | ||
debug.scm | ||
disassembler.scm | ||
dwarf.scm | ||
elf.scm | ||
frame.scm | ||
inspect.scm | ||
linker.scm | ||
loader.scm | ||
program.scm | ||
trace.scm | ||
trap-state.scm | ||
traps.scm | ||
vm.scm |