diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-02-14 10:14:39 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-02-14 10:14:39 -0800 |
commit | e598f74891592a67d31985182af24243a2e6ccd5 (patch) | |
tree | 298a50b3e245b19874fbfa126fc70fb780e1a74b /share | |
parent | bdd4e1c8e141e3d29cc34f16de962d96f4dd8844 (diff) | |
download | txr-e598f74891592a67d31985182af24243a2e6ccd5.tar.gz txr-e598f74891592a67d31985182af24243a2e6ccd5.tar.bz2 txr-e598f74891592a67d31985182af24243a2e6ccd5.zip |
vm/asm: housecleaning: remove deprecated opcodes.
Since we have are breaking binary compatibility in the
upcoming TXR 252, we might as well take the opportunity to
remove deprecated opcodes that the compiler doesn't use.
* share/txr/stdlib/asm.tl (op-fin): Opcode removed.
(op-pprof): Derive directly from op-end rather than op-fin.
(op-movrsi, op-movsmi, op-movrbi, op-movi-pseudo): Opcodes
removed.
* vm.c (vm_fin, vm_movrsi, vm_movsmi, vm_movrbi): Functions
removed.
(vm_execute): FIN, MOVRSI, MOVSMI, MOVRBI cases removed.
* vmop.h: Regenerated.
(vm_op_t): Enum members FIN, MOVRSI, MOVSMI, MOVRBI removed.
Diffstat (limited to 'share')
-rw-r--r-- | share/txr/stdlib/asm.tl | 47 |
1 files changed, 1 insertions, 46 deletions
diff --git a/share/txr/stdlib/asm.tl b/share/txr/stdlib/asm.tl index 365cda78..8b63a557 100644 --- a/share/txr/stdlib/asm.tl +++ b/share/txr/stdlib/asm.tl @@ -387,9 +387,8 @@ (:method dis (me asm extension res) ^(,me.symbol ,(operand-to-sym res)))) -(defopcode-derived op-fin fin auto op-end) -(defopcode-derived op-prof prof auto op-fin) +(defopcode-derived op-prof prof auto op-end) (defopcode op-call call auto (:method asm (me asm syntax) @@ -484,50 +483,6 @@ (t 'movrr))])) real.(asm asm syntax))))) -(defopcode op-movrsi movrsi auto - (:static deprecated t) - (:method asm (me asm syntax) - me.(chk-arg-count 2 syntax) - (tree-bind (dst imm) asm.(parse-args me syntax '(d si)) - asm.(put-insn me.code (logtrunc (sys:bits imm) 10) dst))) - - (:method dis (me asm imm dst) - ^(,me.symbol ,(operand-to-sym dst) ,(bits-to-obj imm 10)))) - -(defopcode op-movsmi movsmi auto - (:static deprecated t) - (:method asm (me asm syntax) - me.(chk-arg-count 2 syntax) - (tree-bind (dst imm) asm.(parse-args me syntax '(ds mi)) - asm.(put-insn me.code (enc-small-op dst) - (logtrunc (sys:bits imm) 16)))) - - (:method dis (me asm dst imm ) - ^(,me.symbol ,(small-op-to-sym dst) ,(bits-to-obj imm 16)))) - -(defopcode op-movrbi movrbi auto - (:static deprecated t) - (:method asm (me asm syntax) - me.(chk-arg-count 2 syntax) - (tree-bind (dst imm) asm.(parse-args me syntax '(d bi)) - asm.(put-insn me.code 0 dst) - asm.(put-word (logtrunc (sys:bits imm) 32)))) - - (:method dis (me asm extension dst) - (let ((imm asm.(get-word))) - ^(,me.symbol ,(operand-to-sym dst) ,(bits-to-obj imm 32))))) - -(defopcode op-movi-pseudo movi nil - (:static deprecated t) - (:method asm (me asm syntax) - (tree-bind (dst src) asm.(parse-args me syntax '(d bi)) - (let ((real [%oc-hash% (cond - (asm.(immediate-fits-type src 'si) 'movrsi) - ((and asm.(immediate-fits-type src 'si) - (small-op-p dst)) 'movsmi) - (t 'movrbi))])) - real.(asm asm syntax))))) - (defopcode op-jmp jmp auto (:method asm (me asm syntax) me.(chk-arg-count 1 syntax) |