diff options
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r-- | libguile/vm-engine.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 6b2458f0b..991280b0c 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -3468,7 +3468,20 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp, NEXT (3); } - VM_DEFINE_OP (160, unused_160, NULL, NOP) + /* current-thread dst:24 + * + * Write the current thread into DST. + */ + VM_DEFINE_OP (160, current_thread, "current-thread", OP1 (X8_S24) | OP_DST) + { + scm_t_uint32 dst; + + UNPACK_24 (op, dst); + SP_SET (dst, thread->handle); + + NEXT (1); + } + VM_DEFINE_OP (161, unused_161, NULL, NOP) VM_DEFINE_OP (162, unused_162, NULL, NOP) VM_DEFINE_OP (163, unused_163, NULL, NOP) |