mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 08:10:17 +02:00
VM throw uses intrinsics
* libguile/intrinsics.h (SCM_FOR_ALL_VM_INTRINSICS): Add intrinsics for throw, throw/value, and throw/value+data. * libguile/intrinsics.c (throw_, throw_with_value): (throw_with_value_and_data): And here they are. * libguile/vm-engine.c (throw, throw/value, throw/value+data): Use intrinsics. * libguile/vm.c: Remove vm_throw et al.
This commit is contained in:
parent
51e71a473f
commit
0ce9a1f870
4 changed files with 52 additions and 44 deletions
|
@ -832,7 +832,7 @@ VM_NAME (scm_thread *thread, jmp_buf *registers, int resume)
|
|||
args = SP_REF (b);
|
||||
|
||||
SYNC_IP ();
|
||||
vm_throw (key, args);
|
||||
scm_vm_intrinsics.throw_ (key, args);
|
||||
|
||||
abort (); /* never reached */
|
||||
}
|
||||
|
@ -861,7 +861,7 @@ VM_NAME (scm_thread *thread, jmp_buf *registers, int resume)
|
|||
key_subr_and_message = SCM_PACK (key_subr_and_message_bits);
|
||||
|
||||
SYNC_IP ();
|
||||
vm_throw_with_value (val, key_subr_and_message);
|
||||
scm_vm_intrinsics.throw_with_value (val, key_subr_and_message);
|
||||
|
||||
abort (); /* never reached */
|
||||
}
|
||||
|
@ -890,7 +890,7 @@ VM_NAME (scm_thread *thread, jmp_buf *registers, int resume)
|
|||
key_subr_and_message = SCM_PACK (key_subr_and_message_bits);
|
||||
|
||||
SYNC_IP ();
|
||||
vm_throw_with_value_and_data (val, key_subr_and_message);
|
||||
scm_vm_intrinsics.throw_with_value_and_data (val, key_subr_and_message);
|
||||
|
||||
abort (); /* never reached */
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue