summaryrefslogtreecommitdiffstats
path: root/vmop.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-03-26 19:53:20 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-03-26 19:53:20 -0700
commitfd906cb17c6b51bcc61d6aea134d3857a294b627 (patch)
treec0f64658c23371b5bf66570c24985241e901cf45 /vmop.h
parent5f107b22b84b603d6bf4a554a4be729883fd6d7c (diff)
downloadtxr-fd906cb17c6b51bcc61d6aea134d3857a294b627.tar.gz
txr-fd906cb17c6b51bcc61d6aea134d3857a294b627.tar.bz2
txr-fd906cb17c6b51bcc61d6aea134d3857a294b627.zip
vm/asm: new swtch instruction.
* share/txr/stdlib/asm.tl (backpatch-low16, backpatch-high16): New struct types. (%backpatch-low16%, %backpatch-high16%): New global variables. (swtch): New opcode. (op-swtch): New opcode class. * vm.c (vm_swtch): New static function. (vm_execute): Handle SWTCH opcode via vm_swtch. * vmop.h: Regenerated.
Diffstat (limited to 'vmop.h')
-rw-r--r--vmop.h37
1 files changed, 19 insertions, 18 deletions
diff --git a/vmop.h b/vmop.h
index 827340e2..d1e26f34 100644
--- a/vmop.h
+++ b/vmop.h
@@ -46,22 +46,23 @@ typedef enum vm_op {
IF = 17,
IFQ = 18,
IFQL = 19,
- UWPROT = 20,
- BLOCK = 21,
- RETSR = 22,
- RETRS = 23,
- RETRR = 24,
- ABSCSR = 25,
- CATCH = 26,
- HANDLE = 27,
- GETV = 28,
- GETF = 29,
- GETL1 = 30,
- GETVB = 31,
- GETFB = 32,
- GETL1B = 33,
- SETV = 34,
- SETL1 = 35,
- BINDV = 36,
- CLOSE = 37,
+ SWTCH = 20,
+ UWPROT = 21,
+ BLOCK = 22,
+ RETSR = 23,
+ RETRS = 24,
+ RETRR = 25,
+ ABSCSR = 26,
+ CATCH = 27,
+ HANDLE = 28,
+ GETV = 29,
+ GETF = 30,
+ GETL1 = 31,
+ GETVB = 32,
+ GETFB = 33,
+ GETL1B = 34,
+ SETV = 35,
+ SETL1 = 36,
+ BINDV = 37,
+ CLOSE = 38,
} vm_op_t;