diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-03-26 19:53:20 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-03-26 19:53:20 -0700 |
commit | fd906cb17c6b51bcc61d6aea134d3857a294b627 (patch) | |
tree | c0f64658c23371b5bf66570c24985241e901cf45 /vmop.h | |
parent | 5f107b22b84b603d6bf4a554a4be729883fd6d7c (diff) | |
download | txr-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.h | 37 |
1 files changed, 19 insertions, 18 deletions
@@ -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; |