Changeset 14183


Ignore:
Timestamp:
Aug 13, 2010, 10:16:50 AM (9 years ago)
Author:
gb
Message:

64-bit alignment in ff-call.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/ARM/arm2.lisp

    r14159 r14183  
    81278127         (*arm2-top-vstack-lcell* *arm2-top-vstack-lcell*)
    81288128         (*arm2-cstack* *arm2-cstack*)
    8129          (next-arg-word 0))
     8129         (next-arg-word 0)
     8130         (natural-64-bit-alignment
     8131          (case (backend-target-os *target-backend*)
     8132            (:darwinarm nil)
     8133            (t t))))
    81308134      (declare (fixnum next-arg-word))
    81318135      (dolist (argspec argspecs)
    81328136        (case argspec
    81338137          ((:double-float :unsigned-doubleword :signed-doubleword)
    8134            (when (oddp next-arg-word)
     8138           (when (and natural-64-bit-alignment (oddp next-arg-word))
    81358139             (incf next-arg-word))
    81368140           (incf next-arg-word 2))
     
    81548158            (:double-float
    81558159             (let* ((df ($ arm::d0 :class :fpr :mode :double-float)))
    8156                (when (oddp next-arg-word)
     8160               (when (and natural-64-bit-alignment (oddp next-arg-word))
    81578161                 (incf next-arg-word))
    81588162               (arm2-one-targeted-reg-form seg valform df)
     
    81698173               (! gets64)
    81708174               (! getu64))
    8171              (when (oddp next-arg-word)
     8175             (when (and natural-64-bit-alignment (oddp next-arg-word))
    81728176               (incf next-arg-word))
    81738177             (! set-eabi-c-arg ($ arm::imm0) next-arg-word)
     
    84708474  (let* ((reg (arm2-one-untargeted-reg-form seg size arm::arg_z)))
    84718475    (ecase (backend-name *target-backend*)
    8472       (:linuxarm (! alloc-variable-eabi-c-frame reg)))
     8476      ((:linuxarm :darwinarm) (! alloc-variable-eabi-c-frame reg)))
    84738477    (arm2-open-undo $undo-arm-c-frame)
    84748478    (arm2-undo-body seg vreg xfer body old-stack)))
Note: See TracChangeset for help on using the changeset viewer.