diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index e574eacab..cb5af2487 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -2783,15 +2783,15 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp, NEXT (3); } - /* make-array dst:12 type:12 _:8 fill:12 bounds:12 + /* make-array dst:8 type:8 fill:8 _:8 bounds:24 * * Make a new array with TYPE, FILL, and BOUNDS, storing it in DST. */ - VM_DEFINE_OP (106, make_array, "make-array", OP2 (U8_U12_U12, X8_U12_U12) | OP_DST) + VM_DEFINE_OP (106, make_array, "make-array", OP2 (U8_U8_U8_U8, X8_U24) | OP_DST) { - scm_t_uint16 dst, type, fill, bounds; - UNPACK_12_12 (op, dst, type); - UNPACK_12_12 (ip[1], fill, bounds); + scm_t_uint8 dst, type, fill, bounds; + UNPACK_8_8_8 (op, dst, type, fill); + UNPACK_24 (ip[1], bounds); SYNC_IP (); LOCAL_SET (dst, scm_make_typed_array (LOCAL_REF (type), LOCAL_REF (fill), LOCAL_REF (bounds))); diff --git a/module/system/vm/assembler.scm b/module/system/vm/assembler.scm index 8bbe1d90e..ca6ad02e9 100644 --- a/module/system/vm/assembler.scm +++ b/module/system/vm/assembler.scm @@ -398,12 +398,6 @@ later by the linker." ((U8_L24 a label) (record-label-reference asm label) (emit asm a)) - ((U8_U8_I16 a b imm) - (emit asm (pack-u8-u8-u16 a b (object-address imm)))) - ((U8_U12_U12 a b) - (emit asm (pack-u8-u12-u12 a b c))) - ((U8_U8_U8_U8 a b c d) - (emit asm (pack-u8-u8-u8-u8 a b c d))) ((U32 a) (emit asm a)) ((I32 imm) @@ -432,8 +426,6 @@ later by the linker." (emit asm 0)) ((X8_U24 a) (emit asm (pack-u8-u24 0 a))) - ((X8_U12_U12 a b) - (emit asm (pack-u8-u12-u12 0 a b))) ((X8_L24 label) (record-label-reference asm label) (emit asm 0)) 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)