Ignore:
Timestamp:
Jun 19, 2010, 4:31:19 AM (9 years ago)
Author:
gb
Message:

arm2.lisp: 32-bit case of ARM2-VREF1 wasn't parenthesized right, so we did both

the constant- and variable-index case.

arm-vinsns.lisp: lots of bugs in SAVE-LEXPR-ARGREGS
arm-pred.lisp: in EQUAL, compare to NIL, not 'NUL.
l1-clos-boot.lisp: more ARM conditionalization.
arm-spentry.s: use the right register in _SPbind.

Implement _SPnthrowvalues, fix in _SPnthrow1value.
Try to add uuo_debug_trap() to subprims that still aren't implemented.

Currently crashes in code called by ENSURE-METHOD, possibly on the first
DEFMETHOD.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/compiler/ARM/arm2.lisp

    r13836 r13858  
    13431343                        (if is-signed
    13441344                          (! misc-ref-c-s32 temp src index-known-fixnum)
    1345                           (! misc-ref-c-u32 temp src index-known-fixnum)))))
    1346                (with-imm-target () idx-reg
    1347                  (if index-known-fixnum
    1348                    (arm2-absolute-natural seg idx-reg nil (+ (arch::target-misc-data-offset arch) (ash index-known-fixnum 2)))
    1349                    (! scale-32bit-misc-index idx-reg unscaled-idx))
    1350                  (cond ((eq type-keyword :single-float-vector)
    1351                         (! misc-ref-single-float fp-val src idx-reg))
    1352                        (t
    1353                         (if is-signed
    1354                           (! misc-ref-s32 temp src idx-reg)
    1355                           (! misc-ref-u32 temp src idx-reg)))))
     1345                          (! misc-ref-c-u32 temp src index-known-fixnum))))
     1346                 (with-imm-target () idx-reg
     1347                   (if index-known-fixnum
     1348                     (arm2-absolute-natural seg idx-reg nil (+ (arch::target-misc-data-offset arch) (ash index-known-fixnum 2)))
     1349                     (! scale-32bit-misc-index idx-reg unscaled-idx))
     1350                   (cond ((eq type-keyword :single-float-vector)
     1351                          (! misc-ref-single-float fp-val src idx-reg))
     1352                         (t
     1353                          (if is-signed
     1354                            (! misc-ref-s32 temp src idx-reg)
     1355                            (! misc-ref-u32 temp src idx-reg))))))
    13561356               (case type-keyword
    13571357                 (:single-float-vector
Note: See TracChangeset for help on using the changeset viewer.