summaryrefslogtreecommitdiff
path: root/module/system/vm/disassembler.scm
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2014-04-20 11:52:14 +0200
committerAndy Wingo <wingo@pobox.com>2014-04-20 11:52:14 +0200
commitc09708f985a7b39c1f07890e75ec2ec18c3565b6 (patch)
tree4a4ac0e1f66ff00b77f51133adfc102f262e1cfc /module/system/vm/disassembler.scm
parentd6651f690315df2ad14c2c043ffb6c949c28884e (diff)
downloadguile-c09708f985a7b39c1f07890e75ec2ec18c3565b6.tar.gz
VM opcodes only have <24-bit slot operands in the first word
* libguile/vm-engine.c (make-array): Change to only have restricted-width operands in the first word. This instruction is currently unused, however. * module/system/vm/assembler.scm (assembler): * module/system/vm/disassembler.scm (disassembler): Disallow restricted-width operands in tail words.
Diffstat (limited to 'module/system/vm/disassembler.scm')
-rw-r--r--module/system/vm/disassembler.scm16
1 files changed, 0 insertions, 16 deletions
diff --git a/module/system/vm/disassembler.scm b/module/system/vm/disassembler.scm
index 248b44e14..3d8de82f2 100644
--- a/module/system/vm/disassembler.scm
+++ b/module/system/vm/disassembler.scm
@@ -110,19 +110,6 @@
((U8_L24)
#'((logand word #xff)
(unpack-s24 (ash word -8))))
- ((U8_U8_I16)
- #'((logand word #xff)
- (logand (ash word -8) #xff)
- (ash word -16)))
- ((U8_U12_U12)
- #'((logand word #xff)
- (logand (ash word -8) #xfff)
- (ash word -20)))
- ((U8_U8_U8_U8)
- #'((logand word #xff)
- (logand (ash word -8) #xff)
- (logand (ash word -16) #xff)
- (ash word -24)))
((U32)
#'(word))
((I32)
@@ -141,9 +128,6 @@
#'((unpack-s32 word)))
((X8_U24)
#'((ash word -8)))
- ((X8_U12_U12)
- #'((logand (ash word -8) #xfff)
- (ash word -20)))
((X8_L24)
#'((unpack-s24 (ash word -8))))
((B1_X7_L24)