[Openmcl-cvs-notifications] r14518 - in /trunk/source: compiler/ARM/arm-lapmacros.lisp compiler/ARM/arm-vinsns.lisp level-0/ARM/arm-def.lisp level-0/ARM/arm-symbol.lisp level-0/ARM/arm-utils.lisp
gb at clozure.com
gb at clozure.com
Mon Dec 27 13:48:03 CST 2010
Author: gb
Date: Mon Dec 27 13:48:03 2010
New Revision: 14518
Log:
No more conditional UUOs on ARM.
Modified:
trunk/source/compiler/ARM/arm-lapmacros.lisp
trunk/source/compiler/ARM/arm-vinsns.lisp
trunk/source/level-0/ARM/arm-def.lisp
trunk/source/level-0/ARM/arm-symbol.lisp
trunk/source/level-0/ARM/arm-utils.lisp
Modified: trunk/source/compiler/ARM/arm-lapmacros.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-lapmacros.lisp (original)
+++ trunk/source/compiler/ARM/arm-lapmacros.lisp Mon Dec 27 13:48:03 2010
@@ -26,24 +26,36 @@
`(mov nargs ($ (ash ,n arm::fixnumshift))))
=
(defarmlapmacro check-nargs (min &optional (max min))
- (if (eq max min)
- `(progn
- (cmp nargs (:$ (ash ,min arm::fixnumshift)))
- (uuo-error-wrong-nargs (:? ne)))
- (if (null max)
- (unless (=3D min 0)
- `(progn
- (cmp nargs (:$ (ash ,min arm::fixnumshift)))
- (uuo-error-wrong-nargs (:? lo))))
- (if (=3D min 0)
- `(progn
- (cmp nargs ($ (ash ,max arm::fixnumshift)))
- (uuo-error-wrong-nargs (:? hi)))
- `(progn
- (cmp nargs ($ (ash ,max arm::fixnumshift)))
- (uuo-error-wrong-nargs (:? lo))
- (cmp nargs ($ (ash ,max arm::fixnumshift)))
- (uuo-error-wrong-nargs (:? hi)))))))
+ (let* ((ok1 (gensym))
+ (ok2 (gensym)))
+ (if (eq max min)
+ `(progn
+ (cmp nargs (:$ (ash ,min arm::fixnumshift)))
+ (beq ,ok1)
+ (uuo-error-wrong-nargs (:? ne))
+ ,ok1)
+ (if (null max)
+ (unless (=3D min 0)
+ `(progn
+ (cmp nargs (:$ (ash ,min arm::fixnumshift)))
+ (bhs ,ok1)
+ (uuo-error-wrong-nargs (:? lo))
+ ,ok1))
+ (if (=3D min 0)
+ `(progn
+ (cmp nargs ($ (ash ,max arm::fixnumshift)))
+ (bls ,ok1)
+ (uuo-error-wrong-nargs (:? hi))
+ ,ok1)
+ `(progn
+ (cmp nargs ($ (ash ,max arm::fixnumshift)))
+ (bhs ,ok1)
+ (uuo-error-wrong-nargs (:? lo))
+ ,ok1
+ (cmp nargs ($ (ash ,max arm::fixnumshift)))
+ (bls ,ok2)
+ (uuo-error-wrong-nargs (:? hi))
+ ,ok2))))))
=
=
=
@@ -114,29 +126,41 @@
`(tst ,node (:$ arm::tagmask)))
=
(defarmlapmacro trap-unless-fixnum (node)
+ (let* ((ok (gensym)))
`(progn
(test-fixnum ,node)
- (uuo-error-reg-not-lisptag (:? ne) ,node (:$ arm::tag-fixnum))))
+ (beq ,ok)
+ (uuo-error-reg-not-lisptag ,node (:$ arm::tag-fixnum))
+ ,ok)))
=
=
(defarmlapmacro trap-unless-lisptag=3D (node tag &optional (immreg 'imm0))
+ (let* ((ok (gensym)))
`(progn
(extract-lisptag ,immreg ,node)
(cmp ,immreg (:$ ,tag))
- (uuo-error-reg-not-lisptag (:? ne) ,node (:$ ,tag))))
+ (beq ,ok)
+ (uuo-error-reg-not-lisptag ,node (:$ ,tag))
+ ,ok)))
=
(defarmlapmacro trap-unless-fulltag=3D (node tag &optional (immreg 'imm0))
+ (let* ((ok (gensym)))
`(progn
(extract-fulltag ,immreg ,node)
(cmp ,immreg (:$ ,tag))
- (uuo-error-reg-not-fulltag (:? ne) ,node (:$ ,tag))))
+ (beq ,ok)
+ (uuo-error-reg-not-fulltag ,node (:$ ,tag))
+ ,ok)))
=
=
(defarmlapmacro trap-unless-xtype=3D (node tag &optional (immreg 'imm0))
+ (let* ((ok (gensym)))
`(progn
(extract-typecode ,immreg ,node)
(cmp ,immreg (:$ ,tag))
- (uuo-error-reg-not-xtype (:? ne) ,node (:$ ,tag))))
+ (beq ,ok)
+ (uuo-error-reg-not-xtype ,node (:$ ,tag))
+ ,ok)))
=
=
(defarmlapmacro load-constant (dest constant)
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 Mon Dec 27 13:48:03 2010
@@ -396,7 +396,9 @@
(ldr temp (:@ v (:$ arm::misc-header-offset)))
(bic temp temp (:$ arm::subtag-mask))
(cmp idx (:lsr temp (:$ (- arm::num-subtag-bits arm::fixnum-shift))))
- (uuo-error-vector-bounds (:? hs) idx v))
+ (blo :ok)
+ (uuo-error-vector-bounds idx v)
+ :ok)
=
(define-arm-vinsn (2d-unscaled-index :predicatable)
(((dest :imm)
@@ -449,10 +451,14 @@
(header :lisp)))
(ldr dim (:@ header (:$ (+ arm::misc-data-offset (* 4 arm::arrayH.dim0-c=
ell)))))
(cmp i dim)
- (uuo-error-array-bounds (:? hs) i header)
+ (blo :ok1)
+ (uuo-error-array-bounds i header)
+ :ok1
(ldr dim (:@ header (:$ (+ arm::misc-data-offset (* 4 (1+ arm::arrayH.di=
m0-cell))))))
(cmp j dim)
- (uuo-error-array-bounds (:? hs) j header)
+ (blo :ok2)
+ (uuo-error-array-bounds j header)
+ :ok2
(mov dim (:asr dim (:$ arm::fixnumshift))))
=
(define-arm-vinsn check-3d-bound (((dim1 :u32)
@@ -463,13 +469,19 @@
(header :lisp)))
(ldr dim1 (:@ header (:$ (+ arm::misc-data-offset (* 4 arm::arrayH.dim0-=
cell)))))
(cmp i dim1)
- (uuo-error-array-bounds (:? hs) i header)
+ (blo :ok1)
+ (uuo-error-array-bounds i header)
+ :ok1
(ldr dim1 (:@ header (:$ (+ arm::misc-data-offset (* 4 (1+ arm::arrayH.d=
im0-cell))))))
(cmp j dim1)
- (uuo-error-array-bounds (:? hs) i header)
+ (blo :ok2)
+ (uuo-error-array-bounds i header)
+ :ok2
(ldr dim2 (:@ header (:$ (+ arm::misc-data-offset (* 4 (+ 2 arm::arrayH.=
dim0-cell))))))
(cmp k dim2)
- (uuo-error-array-bounds (:? hs) i header)
+ (blo :ok3)
+ (uuo-error-array-bounds i header)
+ :ok3
(mov dim1 (:asr dim1 (:$ arm::fixnumshift)))
(mov dim2 (:asr dim2 (:$ arm::fixnumshift))))
=
@@ -477,13 +489,6 @@
(((dest :lisp))
((header :lisp)))
(ldr dest (:@ header (:$ arm::arrayH.data-vector))))
- =
-
-
-
-
- =
-
=
=
(define-arm-vinsn (node-slot-ref :predicatable)
@@ -501,7 +506,9 @@
(add scaled index (:$ arm::misc-data-offset))
(ldr dest (:@ instance scaled))
(cmp dest (:$ arm::slot-unbound-marker))
- (uuo-error-slot-unbound (:? eq) dest instance index))
+ (bne :ok)
+ (uuo-error-slot-unbound dest instance index)
+ :ok)
=
=
;;; Untagged memory reference & assignment.
@@ -824,7 +831,9 @@
(and bit-shift bit-shift (:lsr bit-index (:$ arm::fixnumshift)))
(mov mask (:lsl mask bit-shift))
(ldrb bit-shift (:@ src (:lsr bit-index (:$ (+ 3 arm::fixnumshift)))))
- (uuo-error-reg-not-xtype (:? hi) val (:$ arm::xtype-bit))
+ (bls :ok)
+ (uuo-error-reg-not-xtype val (:$ arm::xtype-bit))
+ :ok
(orrne bit-shift bit-shift mask)
(biceq bit-shift bit-shift mask)
(strb bit-shift (:@ src (:lsr bit-index (:$ (+ 3 arm::fixnumshift))))))
@@ -878,7 +887,9 @@
((object :lisp))
())
(tst object (:$ arm::tagmask))
- (uuo-cerror-reg-not-lisptag (:? ne) object (:$ arm::tag-fixnum)))
+ (beq :ok)
+ (uuo-cerror-reg-not-lisptag object (:$ arm::tag-fixnum))
+ :ok)
=
(define-arm-vinsn require-integer (()
((object :lisp))
@@ -888,7 +899,8 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-bignum))
- (uuo-cerror-reg-not-xtype (:? ne) object (:$ arm::xtype-integer))
+ (beq :got-it)
+ (uuo-cerror-reg-not-xtype object (:$ arm::xtype-integer))
:got-it)
=
(define-arm-vinsn require-simple-vector (()
@@ -898,7 +910,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-simple-vector))
- (uuo-cerror-reg-not-xtype (:? ne) object (:$ arm::subtag-simple-vector)))
+ (beq :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::subtag-simple-vector))
+ :ok)
=
(define-arm-vinsn require-simple-string (()
((object :lisp))
@@ -907,7 +921,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-simple-base-string))
- (uuo-cerror-reg-not-xtype (:? ne) object (:$ arm::subtag-simple-base-str=
ing)))
+ (beq :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::subtag-simple-base-string))
+ :ok)
=
=
(define-arm-vinsn require-real (()
@@ -922,7 +938,9 @@
(movt realtags (:$ (ldb (byte 16 16) arm::real-tags-mask)))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(tst realtags (:lsl mask tag))
- (uuo-cerror-reg-not-xtype (:? eq) object (:$ arm::xtype-real)))
+ (bne :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::xtype-real))
+ :ok)
=
(define-arm-vinsn require-number (()
((object :lisp))
@@ -936,7 +954,9 @@
(movt numtags (:$ (ldb (byte 16 16) arm::numeric-tags-mask)))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(tst numtags (:lsl mask tag))
- (uuo-cerror-reg-not-xtype (:? eq) object (:$ arm::xtype-number)))
+ (bne :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::xtype-number))
+ :ok)
=
=
(define-arm-vinsn require-list (()
@@ -944,7 +964,9 @@
((tag :u8)))
(and tag object (:$ arm::tagmask))
(cmp tag (:$ arm::tag-list))
- (uuo-cerror-reg-not-lisptag (:? ne) object (:$ arm::tag-list)))
+ (beq :ok)
+ (uuo-cerror-reg-not-lisptag object (:$ arm::tag-list))
+ :ok)
=
(define-arm-vinsn require-symbol (()
((object :lisp))
@@ -954,14 +976,18 @@
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(cmpeq tag (:$ arm::subtag-symbol))
(cmpne object (:$ arm::nil-value))
- (uuo-cerror-reg-not-xtype (:? ne) object (:$ arm::subtag-symbol)))
+ (beq :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::subtag-symbol))
+ :ok)
=
(define-arm-vinsn require-character (()
((object :lisp))
((tag :u8)))
(and tag object (:$ arm::subtag-mask))
(cmp tag (:$ arm::subtag-character))
- (uuo-cerror-reg-not-xtype (:? ne) object (:$ arm::subtag-character)))
+ (beq :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::subtag-character))
+ :ok)
=
=
(define-arm-vinsn require-s8 (()
@@ -970,7 +996,9 @@
(mov tag (:lsl object (:$ (- arm::nbits-in-word (+ 8 arm::fixnumshift)))=
))
(mov tag (:asr tag (:$ (- arm::nbits-in-word (+ 8 arm::fixnumshift)))))
(cmp object (:lsl tag (:$ arm::fixnumshift)))
- (uuo-cerror-reg-not-xtype (:? ne) object (:$ arm::xtype-s8)))
+ (beq :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::xtype-s8))
+ :ok)
=
=
(define-arm-vinsn require-u8 (()
@@ -978,7 +1006,9 @@
((temp :u32)))
(mov temp (:$ (lognot (ash #xff arm::fixnumshift))))
(tst object temp)
- (uuo-cerror-reg-not-xtype (:? ne) object (:$ arm::xtype-u8)))
+ (beq :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::xtype-u8))
+ :ok)
=
(define-arm-vinsn require-s16 (()
((object :lisp))
@@ -986,7 +1016,9 @@
(mov tag (:lsl object (:$ (- arm::nbits-in-word (+ 16 arm::fixnumshift))=
)))
(mov tag (:asr tag (:$ (- arm::nbits-in-word 16))))
(cmp object (:lsl tag (:$ arm::fixnumshift)))
- (uuo-cerror-reg-not-xtype (:? ne) object (:$ arm::xtype-s16)))
+ (beq :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::xtype-s16))
+ :ok)
=
(define-arm-vinsn require-u16 (()
((object :lisp))
@@ -994,7 +1026,9 @@
(mov tag (:$ (lognot (ash #xff arm::fixnumshift))))
(bic tag tag (:$ (ash #xff (+ 8 arm::fixnumshift))))
(tst object tag)
- (uuo-cerror-reg-not-xtype (:? ne) object (:$ arm::xtype-u16)))
+ (beq :ok)
+ (uuo-cerror-reg-not-xtype object (:$ arm::xtype-u16))
+ :ok)
=
(define-arm-vinsn require-s32 (()
((src :lisp))
@@ -1006,7 +1040,8 @@
(movw tag (:$ arm::one-digit-bignum-header))
(ldreq header (:@ src (:$ arm::misc-header-offset)))
(cmpeq tag header)
- (uuo-cerror-reg-not-xtype (:? ne) src (:$ arm::xtype-s32))
+ (beq :got-it)
+ (uuo-cerror-reg-not-xtype src (:$ arm::xtype-s32))
:got-it)
=
=
@@ -1034,7 +1069,8 @@
(ldr temp (:@ src (:$ (+ 4 arm::misc-data-offset))))
(cmp temp (:$ 0))
:bad-if-ne
- (uuo-cerror-reg-not-xtype (:? ne) src (:$ arm::xtype-u32))
+ (beq :got-it)
+ (uuo-cerror-reg-not-xtype src (:$ arm::xtype-u32))
:got-it)
=
(define-arm-vinsn require-s64 (()
@@ -1053,6 +1089,7 @@
(beq :got-it)
(cmp header (:$ 2))
:bad-if-ne
+ (beq :got-it)
(uuo-cerror-reg-not-xtype src (:$ arm::xtype-s64))
:got-it)
=
@@ -1085,7 +1122,8 @@
:three
(cmp temp (:$ 0))
:bad-if-ne
- (uuo-cerror-reg-not-xtype (:? ne) src (:$ arm::xtype-s64))
+ (beq :got-it)
+ (uuo-cerror-reg-not-xtype src (:$ arm::xtype-s64))
:got-it)
=
=
@@ -1098,7 +1136,7 @@
(cmp object (:$ (ash char-code-limit arm::fixnumshift)))
(bls :got-it)
:bad
- (uuo-error-reg-not-xtype (:? al) object (:$ arm::xtype-char-code))
+ (uuo-error-reg-not-xtype object (:$ arm::xtype-char-code))
:got-it)
=
=
@@ -1131,22 +1169,25 @@
(beq :got-it)
(and temp src (:$ arm::tagmask))
(cmp temp (:$ arm::tag-misc))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::xtype-u32))
+ (beq :is-uvector)
+ (uuo-error-reg-not-xtype src (:$ arm::xtype-u32))
+ :is-uvector
(ldr dest (:@ src (:$ arm::misc-header-offset)))
(movw temp (:$ arm::one-digit-bignum-header))
(cmp dest temp)
(bne :maybe-two-digit)
(ldr dest (:@ src (:$ arm::misc-data-offset)))
(tst dest (:$ (ash 1 31)))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::xtype-u32))
- (b :got-it)
+ (beq :got-it)
+ (uuo-error-reg-not-xtype src (:$ arm::xtype-u32))
:maybe-two-digit
(add temp temp (:$ (ash 1 arm::num-subtag-bits)))
(cmp dest temp)
(ldreq temp (:@ src (:$ (+ arm::misc-data-offset 4))))
(cmpeq temp (:$ 0))
(ldreq dest (:@ src (:$ arm::misc-data-offset)))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::xtype-u32))
+ (beq :got-it)
+ (uuo-error-reg-not-xtype src (:$ arm::xtype-u32))
:got-it)
=
;;; an object is of type (SIGNED-BYTE 32) iff
@@ -1164,7 +1205,8 @@
(ldreq tag (:@ src (:$ arm::misc-header-offset)))
(cmpeq dest tag)
(ldreq dest (:@ src (:$ arm::misc-data-offset)))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::xtype-s32))
+ (beq :got-it)
+ (uuo-error-reg-not-xtype src (:$ arm::xtype-s32))
:got-it)
=
=
@@ -1174,14 +1216,18 @@
(mov dest (:lsl src (:$ (- 16 arm::fixnumshift))))
(mov dest (:lsr dest (:$ 16)))
(cmp src (:lsl dest (:$ arm::fixnumshift)))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::xtype-u16)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype src (:$ arm::xtype-u16))
+ :ok)
=
(define-arm-vinsn unbox-s16 (((dest :s16))
((src :lisp)))
(mov dest (:lsl src (:$ (- arm::nbits-in-word (+ 16 arm::fixnumshift)))))
(mov dest (:asr dest (:$ 16)))
(cmp src (:lsl dest (:$ arm::fixnumshift)))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::xtype-s16)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype src (:$ arm::xtype-s16))
+ :ok)
=
=
=
@@ -1190,7 +1236,9 @@
(mov dest (:lsl src (:$ (- 24 arm::fixnumshift))))
(mov dest (:lsr dest (:$ 24)))
(cmp src (:lsl dest (:$ arm::fixnumshift)))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::xtype-u8)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype src (:$ arm::xtype-u8))
+ :ok)
=
(define-arm-vinsn (%unbox-u8 :predicatable)
(((dest :u8))
@@ -1203,21 +1251,27 @@
(mov dest (:lsl src (:$ (- 24 arm::fixnumshift))))
(mov dest (:asr dest (:$ 24)))
(cmp src (:lsl dest (:$ arm::fixnumshift)))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::xtype-s8)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype src (:$ arm::xtype-s8))
+ :ok)
=
(define-arm-vinsn unbox-base-char (((dest :u32))
((src :lisp)))
(and dest src (:$ arm::subtag-mask))
(cmp dest (:$ arm::subtag-character))
(mov dest (:lsr src (:$ arm::charcode-shift)))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::subtag-character)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype src (:$ arm::subtag-character))
+ :ok)
=
=
(define-arm-vinsn unbox-bit (((dest :u32))
((src :lisp)))
(cmp src (:$ arm::fixnumone))
(mov dest (:lsr src (:$ arm::fixnumshift)))
- (uuo-error-reg-not-xtype (:? hi) src (:$ arm::xtype-bit)))
+ (bls :ok)
+ (uuo-error-reg-not-xtype src (:$ arm::xtype-bit))
+ :ok)
=
=
=
@@ -1292,14 +1346,18 @@
(define-arm-vinsn trap-unless-fixnum (()
((object :lisp)))
(tst object (:$ arm::fixnummask))
- (uuo-error-reg-not-lisptag (:? ne) object (:$ arm::tag-fixnum)))
+ (beq :ok)
+ (uuo-error-reg-not-lisptag object (:$ arm::tag-fixnum))
+ :ok)
=
(define-arm-vinsn trap-unless-list (()
((object :lisp))
((tag :u8)))
(and tag object (:$ arm::tagmask))
(cmp tag (:$ arm::tag-list))
- (uuo-error-reg-not-lisptag (:? ne) object (:$ arm::tag-list)))
+ (beq :ok)
+ (uuo-error-reg-not-lisptag object (:$ arm::tag-list))
+ :ok)
=
(define-arm-vinsn trap-unless-single-float (()
((object :lisp))
@@ -1308,7 +1366,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-single-float))
- (uuo-error-reg-not-xtype (:? ne) object (:$ arm::subtag-single-float)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype object (:$ arm::subtag-single-float))
+ :ok)
=
(define-arm-vinsn trap-unless-double-float (()
((object :lisp))
@@ -1317,7 +1377,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-double-float))
- (uuo-error-reg-not-xtype (:? ne) object (:$ arm::subtag-double-float)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype object (:$ arm::subtag-double-float))
+ :ok)
=
=
(define-arm-vinsn trap-unless-array-header (()
@@ -1327,7 +1389,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-arrayH))
- (uuo-error-reg-not-xtype (:? ne) object (:$ arm::subtag-arrayH)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype object (:$ arm::subtag-arrayH))
+ :ok)
=
(define-arm-vinsn trap-unless-macptr (()
((object :lisp))
@@ -1336,7 +1400,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-macptr))
- (uuo-error-reg-not-xtype (:? ne) object (:$ arm::subtag-macptr)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype object (:$ arm::subtag-macptr))
+ :ok)
=
=
=
@@ -1345,7 +1411,9 @@
((tag :u8)))
(and tag object (:$ arm::tagmask))
(cmp tag (:$ arm::tag-misc))
- (uuo-error-reg-not-lisptag (:? ne) object (:$ arm::tag-misc)))
+ (beq :ok)
+ (uuo-error-reg-not-lisptag object (:$ arm::tag-misc))
+ :ok)
=
=
=
@@ -1354,14 +1422,18 @@
((tag :u8)))
(and tag object (:$ arm::subtag-mask))
(cmp tag (:$ arm::subtag-character))
- (uuo-error-reg-not-xtype (:? ne) object (:$ arm::subtag-character)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype object (:$ arm::subtag-character))
+ :ok)
=
(define-arm-vinsn trap-unless-cons (()
((object :lisp))
((tag :u8)))
(and tag object (:$ arm::fulltagmask))
(cmp tag (:$ arm::fulltag-cons))
- (uuo-error-reg-not-fulltag (:? ne) object (:$ arm::fulltag-cons)))
+ (beq :ok)
+ (uuo-error-reg-not-fulltag object (:$ arm::fulltag-cons))
+ :ok)
=
(define-arm-vinsn trap-unless-typecode=3D (()
((object :lisp)
@@ -1371,7 +1443,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ object (:$ arm::misc-subtag-offset)))
(cmp tag (:$ tagval))
- (uuo-error-reg-not-xtype (:? ne) object (:$ tagval)))
+ (beq :ok)
+ (uuo-error-reg-not-xtype object (:$ tagval))
+ :ok)
=
(define-arm-vinsn (subtract-constant :predicatable)
(((dest :imm))
@@ -1793,7 +1867,9 @@
(sub allocptr allocptr (:$ (- arm::value-cell.size arm::fulltag-misc)))
(ldr dest (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr dest)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str header (:@ allocptr (:$ arm::misc-header-offset)))
(mov dest allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2060,7 +2136,9 @@
(sub allocptr allocptr (:$ (- arm::cons.size arm::fulltag-cons)))
(ldr allocbase (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr allocbase)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str newcdr (:@ allocptr (:$ arm::cons.cdr)))
(str newcar (:@ allocptr (:$ arm::cons.car)))
(mov dest allocptr)
@@ -2091,7 +2169,9 @@
arm::fulltag-misc)))))
(ldr dest (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr dest)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str Rheader (:@ allocptr (:$ arm::misc-header-offset)))
(mov dest allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2125,7 +2205,9 @@
arm::fulltag-misc)))))
(ldr dest (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr dest)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str Rheader (:@ allocptr (:$ arm::misc-header-offset)))
(mov dest allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask)))
@@ -2242,7 +2324,9 @@
(add allocptr allocptr (:$ (- arm::fulltag-misc 8)))
(ldr result (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr result)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str temp (:@ allocptr (:$ arm::misc-header-offset)))
(mov result allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2267,7 +2351,9 @@
(sub allocptr allocptr size)
(ldr result (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr result)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str temp (:@ allocptr (:$ arm::misc-header-offset)))
(mov result allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2312,7 +2398,9 @@
(sub allocptr allocptr (:$ (- arm::double-float.size arm::fulltag-misc)))
(ldr result (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr result)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str header-temp (:@ allocptr (:$ arm::misc-header-offset)))
(mov result allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2331,7 +2419,9 @@
(sub allocptr allocptr (:$ (- arm::single-float.size arm::fulltag-misc)))
(ldr result (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr result)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str header-temp (:@ allocptr (:$ arm::misc-header-offset)))
(mov result allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2368,7 +2458,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ source (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-double-float))
- (uuo-error-reg-not-xtype (:? ne) source (:$ arm::subtag-double-float))
+ (beq :ok)
+ (uuo-error-reg-not-xtype source (:$ arm::subtag-double-float))
+ :ok
(add lr source (:$ arm::double-float.pad))
(fldd target (:@ lr (:$ (- arm::double-float.value arm::double-float.pad=
)))))
=
@@ -2466,7 +2558,9 @@
(sub allocptr allocptr (:$ (- arm::macptr.size arm::fulltag-misc)))
(ldr dest (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr dest)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str header (:@ allocptr (:$ arm::misc-header-offset)))
(mov dest allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2532,7 +2626,9 @@
(sub allocptr allocptr (:$ (- arm::dnode-size arm::fulltag-misc)))
(ldr dest (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr dest)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str header (:@ allocptr (:$ arm::misc-header-offset)))
(mov dest allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2700,11 +2796,15 @@
(mov flags (:$ (ash 2 arm::fixnumshift)))
(ldr tag (:@ object (:$ arm::arrayH.rank)))
(cmp tag flags)
- (uuo-error-array-rank (:? ne) flags object)
+ (beq :ok)
+ (uuo-error-array-rank flags object)
+ :ok
(ldr flags (:@ object (:$ arm::arrayH.flags)))
(cmp flags rexpected-flags)
:bad-if-ne
- (uuo-error-array-flags (:? ne) rexpected-flags object ))
+ (beq :done)
+ (uuo-error-array-flags rexpected-flags object )
+ :done)
=
(define-arm-vinsn trap-unless-simple-array-3 (()
((object :lisp)
@@ -2719,11 +2819,15 @@
(ldr tag (:@ object (:$ arm::arrayH.rank)))
(mov flags (:$ (ash 3 arm::fixnumshift)))
(cmp tag flags)
- (uuo-error-array-rank (:? ne) flags object)
+ (beq :rank-ok)
+ (uuo-error-array-rank flags object)
+ :rank-ok
(ldr flags (:@ object (:$ arm::arrayH.flags)))
(cmp rexpected-flags flags)
:bad-if-ne
- (uuo-error-array-flags (:? ne) rexpected-flags object))
+ (beq :done)
+ (uuo-error-array-flags rexpected-flags object)
+ :done)
=
=
=
@@ -2764,7 +2868,9 @@
(sub allocptr allocptr (:$ (- arm::dnode-size arm::fulltag-misc)))
(ldr dest (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr dest)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str header (:@ allocptr (:$ arm::misc-header-offset)))
(mov dest allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2785,7 +2891,9 @@
(sub allocptr allocptr (:$ (- arm::dnode-size arm::fulltag-misc)))
(ldr dest (:@ rcontext (:$ arm::tcr.save-allocptr)))
(cmp allocptr dest)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str header (:@ allocptr (:$ arm::misc-header-offset)))
(mov dest allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2832,7 +2940,9 @@
(sub allocptr allocptr (:$ (- arm::dnode-size arm::fulltag-misc)))
(ldr dest (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr dest)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str header (:@ allocptr (:$ arm::misc-header-offset)))
(mov dest allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2853,7 +2963,9 @@
(sub allocptr allocptr (:$ (- arm::dnode-size arm::fulltag-misc)))
(ldr dest (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr dest)
- (uuo-alloc-trap (:? lo))
+ (bhi :no-trap)
+ (uuo-alloc-trap)
+ :no-trap
(str header (:@ allocptr (:$ arm::misc-header-offset)))
(mov dest allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
@@ -2915,7 +3027,9 @@
(cmp dest (:$ arm::subtag-no-thread-local-binding))
(ldreq dest (:@ src (:$ arm::symbol.vcell)))
(cmp dest (:$ arm::unbound-marker))
- (uuo-error-unbound (:? eq) src))
+ (bne :bound)
+ (uuo-error-unbound src)
+ :bound)
=
(define-arm-vinsn (%ref-symbol-value :call :subprim-call)
(((val :lisp))
@@ -2951,7 +3065,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ val (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-function))
- (uuo-error-udf (:? ne) sym))
+ (beq :defined)
+ (uuo-error-udf sym)
+ :defined)
=
(define-arm-vinsn (temp-push-unboxed-word :push :word :sp :predicatable)
=
@@ -3058,7 +3174,9 @@
(define-arm-vinsn check-exact-nargs (()
((n :u16const)))
(cmp nargs (:$ (:apply ash n 2)))
- (uuo-error-wrong-nargs (:? ne)))
+ (beq :ok)
+ (uuo-error-wrong-nargs (:? ne))
+ :ok)
=
(define-arm-vinsn check-exact-nargs-large (()
((n :u16const))
@@ -3066,12 +3184,16 @@
(temp :u32)))
(movw temp (:$ (:apply ash n 2)))
(cmp nargs temp)
- (uuo-error-wrong-nargs (:? ne)))
+ (beq :ok)
+ (uuo-error-wrong-nargs (:? ne))
+ :ok)
=
(define-arm-vinsn check-min-nargs (()
((min :u16const)))
(cmp nargs (:$ (:apply ash min 2)))
- (uuo-error-wrong-nargs (:? lo)))
+ (bhs :ok)
+ (uuo-error-wrong-nargs (:? lo))
+ :ok)
=
(define-arm-vinsn check-min-nargs-large (()
((min :u16const))
@@ -3079,13 +3201,17 @@
(temp :u32)))
(movw temp (:$ (:apply ash min 2)))=18
(cmp nargs temp)
- (uuo-error-wrong-nargs (:? lo)))
+ (bhs :ok)
+ (uuo-error-wrong-nargs (:? lo))
+ :ok)
=
=
(define-arm-vinsn check-max-nargs (()
((max :u16const)))
(cmp nargs (:$ (:apply ash max 2)))
- (uuo-error-wrong-nargs (:? hi)))
+ (bls :ok)
+ (uuo-error-wrong-nargs (:? hi))
+ :ok)
=
(define-arm-vinsn check-max-nargs-large (()
((max :u16const))
@@ -3093,7 +3219,9 @@
(temp :u32)))
(movw temp (:$ (:apply ash max 2)))
(cmp nargs temp)
- (uuo-error-wrong-nargs (:? hi)))
+ (bls :ok)
+ (uuo-error-wrong-nargs (:? hi))
+ :ok)
=
;;; Save context and establish FN. The current VSP is the the
;;; same as the caller's, e.g., no arguments were vpushed.
@@ -3416,14 +3544,16 @@
;;; Clobbers LR
(define-arm-vinsn %debug-trap (()
())
- (uuo-debug-trap (:? al)))
+ (uuo-debug-trap))
=
=
(define-arm-vinsn eep.address (((dest t))
((src (:lisp (:ne dest )))))
(ldr dest (:@ src (:$ (+ (ash 1 2) arm::misc-data-offset))))
(cmp dest (:$ arm::nil-value))
- (uuo-eep-unresolved (:? eq) dest src))
+ (bne :ok)
+ (uuo-eep-unresolved dest src)
+ :ok)
=
(define-arm-vinsn (%natural+ :predicatable)
(((dest :u32))
@@ -3520,7 +3650,9 @@
(cmp tag (:$ arm::tag-misc))
(ldrbeq tag (:@ src (:$ arm::misc-subtag-offset)))
(cmp tag (:$ arm::subtag-symbol))
- (uuo-error-reg-not-xtype (:? ne) src (:$ arm::subtag-symbol))
+ (beq :symbol)
+ (uuo-error-reg-not-xtype src (:$ arm::subtag-symbol))
+ :symbol
((:not (:pred =3D
(:apply %hard-regspec-value dest)
(:apply %hard-regspec-value src)))
@@ -3729,7 +3861,8 @@
(bge :done)
(ldr nargs (:@ rcontext (:$ arm::tcr.interrupt-pending)))
(cmp nargs (:$ 0))
- (uuo-interrupt-now (:? ne))
+ (beq :done)
+ (uuo-interrupt-now)
:done)
=
=
@@ -3781,7 +3914,8 @@
(bge :done)
(ldr link (:@ rcontext (:$ arm::tcr.interrupt-pending)))
(cmp link (:$ 0))
- (uuo-interrupt-now (:? ne))
+ (beq :done)
+ (uuo-interrupt-now)
:done)
=
(define-arm-vinsn test-fixnum (((dest :crf))
Modified: trunk/source/level-0/ARM/arm-def.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/level-0/ARM/arm-def.lisp (original)
+++ trunk/source/level-0/ARM/arm-def.lisp Mon Dec 27 13:48:03 2010
@@ -100,20 +100,25 @@
(beq @store)
(extract-subtag imm1 new-value)
(cmp imm1 (:$ arm::subtag-bignum))
- (uuo-error-reg-not-xtype (:? ne) new-value (:$ arm::xtype-u32))
+ (beq @ok1)
+ (uuo-error-reg-not-xtype new-value (:$ arm::xtype-u32))
+ @ok1
(getvheader imm0 new-value)
(header-length temp0 imm0)
(cmp temp0 '2)
(ldr imm2 (:@ new-value (:$ arm::misc-data-offset)))
(ldreq imm1 (:@ new-value (:$ (+ arm::misc-data-offset))))
- (uuo-error-reg-not-xtype (:? gt) new-value (:$ arm::xtype-u32))
+ (ble @ok2)
+ (uuo-error-reg-not-xtype new-value (:$ arm::xtype-u32))
+ @ok2
(bne @one)
(cmp imm1 ($ 0))
(beq @store)
- (uuo-error-reg-not-xtype (:? ne) new-value (:$ arm::xtype-u32))
+ (uuo-error-reg-not-xtype new-value (:$ arm::xtype-u32))
@one
(cmp imm2 ($ 0))
- (uuo-error-reg-not-xtype (:? mi) new-value (:$ arm::xtype-u32))
+ (bge @store)
+ (uuo-error-reg-not-xtype new-value (:$ arm::xtype-u32))
@store
(str imm2 (:@ imm0 fixnum))
(mov arg_z new-value)
Modified: trunk/source/level-0/ARM/arm-symbol.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/level-0/ARM/arm-symbol.lisp (original)
+++ trunk/source/level-0/ARM/arm-symbol.lisp Mon Dec 27 13:48:03 2010
@@ -40,7 +40,8 @@
(ldr def (:@ symptr (:$ arm::symbol.fcell)))
(extract-typecode imm0 def)
(cmp imm0 (:$ arm::subtag-function))
- (uuo-error-udf (:? ne) symbol)
+ (bxeq lr)
+ (uuo-error-udf symbol)
(bx lr)))
=
=
@@ -153,6 +154,8 @@
(defarmlapfunction %ensure-tlb-index ((idx arg_z))
(ldr arg_y (:@ rcontext (:$ arm::tcr.tlb-limit)))
(cmp arg_y idx)
- (uuo-tlb-too-small (:? ls) idx)
+ (bhi @ok)
+ (uuo-tlb-too-small idx)
+ @ok
(ldr arg_z (:@ rcontext (:$ arm::tcr.tlb-pointer)))
(bx lr))
Modified: trunk/source/level-0/ARM/arm-utils.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/level-0/ARM/arm-utils.lisp (original)
+++ trunk/source/level-0/ARM/arm-utils.lisp Mon Dec 27 13:48:03 2010
@@ -188,14 +188,18 @@
(sub allocptr allocptr (:$ (- arm::cons.size arm::fulltag-cons)))
(ldr imm1 (:@ rcontext (:$ arm::tcr.save-allocbase)))
(cmp allocptr imm1)
- (uuo-alloc-trap (:? lo))
+ (bhi @no-trap)
+ (uuo-alloc-trap)
+ @no-trap
(mov sentinel allocptr)
(bic allocptr allocptr (:$ arm::fulltagmask))
(ldr obj (:@ a (:$ arm::area.low)))
(b @test)
@loop
(test-fixnum obj)
- (uuo-debug-trap (:? ne))
+ (beq @no-debug-trap)
+ (uuo-debug-trap)
+ @no-debug-trap
(ldr header (:@ obj (:$ 0)))
(extract-fulltag tag header)
(cmp tag (:$ arm::fulltag-immheader)) =
@@ -313,7 +317,7 @@
(defarmlapfunction gc ()
(check-nargs 0)
(mov imm0 (:$ arch::gc-trap-function-gc))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(mov arg_z 'nil)
(bx lr))
=
@@ -325,7 +329,7 @@
(check-nargs 2)
(build-lisp-frame)
(mov fn nfn)
- (uuo-kernel-service (:? al) (:$ arch::error-allocate-list))
+ (uuo-kernel-service (:$ arch::error-allocate-list))
(vpush1 arg_z)
(vpush1 arg_y)
(set-nargs 2)
@@ -341,7 +345,7 @@
(check-nargs 1)
(sub imm1 arg 'nil)
(mov imm0 (:$ arch::gc-trap-function-egc-control))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(bx lr))
=
=
@@ -351,19 +355,19 @@
(e2size arg_z))
(check-nargs 3)
(mov imm0 (:$ arch::gc-trap-function-configure-egc))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(bx lr))
=
(defarmlapfunction purify ()
(mov imm0 (:$ arch::gc-trap-function-purify))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(mov arg_z 'nil)
(bx lr))
=
=
(defarmlapfunction impurify ()
(mov imm0 (:$ arch::gc-trap-function-impurify))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(mov arg_z 'nil)
(bx lr))
=
@@ -372,7 +376,7 @@
of free space to leave in the heap after full GC."
(check-nargs 0)
(mov imm0 (:$ arch::gc-trap-function-get-lisp-heap-threshold))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(ba .SPmakeu32))
=
(defarmlapfunction set-lisp-heap-gc-threshold ((new arg_z))
@@ -385,7 +389,7 @@
(bla .SPgetu32)
(mov imm1 imm0)
(mov imm0 (:$ arch::gc-trap-function-set-lisp-heap-threshold))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(restore-lisp-frame imm1)
(ba .SPmakeu32))
=
@@ -394,7 +398,7 @@
"Try to grow or shrink lisp's heap space, so that the free space is(appr=
oximately) equal to the current heap threshold. Return NIL"
(check-nargs 0) =
(mov imm0 (:$ arch::gc-trap-function-use-lisp-heap-threshold))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(mov arg_z 'nil)
(bx lr))
=
@@ -403,14 +407,14 @@
"Do a full GC, then consider all heap-allocated objects which survive to=
be non-relocatable."
(check-nargs 0)
(mov imm0 (:$ arch::gc-trap-function-freeze))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(ba .SPmakeu32))
=
(defarmlapfunction flash-freeze ()
"Like FREEZE, but don't GC first."
(check-nargs 0)
(mov imm0 (:$ arch::gc-trap-function-flash-freeze))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(ba .SPmakeu32))
=
(defun %watch (uvector)
@@ -426,7 +430,7 @@
(defarmlapfunction %ensure-static-conses ()
(check-nargs 0)
(mov imm0 (:$ arch::gc-trap-function-ensure-static-conses))
- (uuo-gc-trap (:? al))
+ (uuo-gc-trap)
(mov arg_z 'nil)
(bx lr))
=
More information about the Openmcl-cvs-notifications
mailing list