[Openmcl-cvs-notifications] r14768 - /trunk/source/compiler/ARM/arm-vinsns.lisp
gb at clozure.com
gb at clozure.com
Sun May 1 07:27:53 CDT 2011
Author: gb
Date: Sun May 1 07:27:53 2011
New Revision: 14768
Log:
!ALLOC-EABI-C-FRAME: can save a few instructions, since the size
of the frame is a constant.
Modified:
trunk/source/compiler/ARM/arm-vinsns.lisp
Modified: trunk/source/compiler/ARM/arm-vinsns.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/ARM/arm-vinsns.lisp (original)
+++ trunk/source/compiler/ARM/arm-vinsns.lisp Sun May 1 07:27:53 2011
@@ -2039,14 +2039,10 @@
(()
((n-c-args :u16const))
((header :u32)
- (size :imm)
(prevsp :imm)))
- (mov header (:$ (:apply ash (:apply + 1 (:apply logandc2 (:apply + 4 4 1=
n-c-args) 1)) arm::num-subtag-bits)))
- (mov size (:lsr header (:$ (- arm::num-subtag-bits arm::word-shift))))
- (orr header header (:$ arm::subtag-u32-vector))
+ (movw header (:$ (:apply logior (:apply ash (:apply + 1 (:apply logandc2=
(:apply + 4 4 1 n-c-args) 1)) arm::num-subtag-bits) arm::subtag-u32-vector=
)))
(mov prevsp sp)
- (add size size (:$ arm::node-size))
- (str header (:-@! sp size))
+ (str header (:@! sp (:$ (:apply - (:apply ash (:apply + 2 (:apply logand=
c2 (:apply + 4 4 1 n-c-args) 1)) arm::word-shift)))))
(str prevsp (:@ sp (:$ 4))))
=
(define-arm-vinsn (alloc-variable-eabi-c-frame :predicatable)
More information about the Openmcl-cvs-notifications
mailing list