Changeset 5854


Ignore:
Timestamp:
Jan 31, 2007, 9:44:53 PM (18 years ago)
Author:
Gary Byers
Message:

Runtime version of 64-bit %ff-call accepts :registers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-0/PPC/ppc-def.lisp

    r4786 r5854  
    10061006
    10071007  ;;; This is just here so that we can jump to a subprim from lisp.
    1008     (defppclapfunction %do-ff-call ((monitor arg_y) (entry arg_z))
    1009       (cmpdi monitor nil)
    1010       (beqa .SPpoweropen-ffcall)
     1008    (defppclapfunction %do-ff-call ((monitor arg_x) (regbuf arg_y) (entry arg_z))
     1009      (cmpdi cr0 regbuf nil)
     1010      (cmpdi cr1 monitor nil)
     1011      (bnea cr0 .SPpoweropen-ffcall-return-registers)
     1012      (beqa cr1 .SPpoweropen-ffcall)
    10111013      (ba .SPpoweropen-ffcallx))
    10121014 
     
    10151017      (let* ((len (length specs-and-vals))
    10161018             (total-words 0)
    1017              (monitor (eq (car specs-and-vals) :monitor-exception-ports)))
     1019             (monitor (eq (car specs-and-vals) :monitor-exception-ports))
     1020             (registers nil))
    10181021        (declare (fixnum len total-words))
    10191022        (when monitor
     
    10361039               (declare (fixnum i))
    10371040               (case spec
     1041                 (:registers nil)
    10381042                 ((:address :unsigned-doubleword :signed-doubleword
    10391043                            :single-float :double-float
     
    10601064                         (declare (fixnum i))
    10611065                         (case spec
     1066                           (:registers (setq registers val))
    10621067                           (:address (setf (%get-ptr argptr offset) val)
    10631068                                     (incf offset 8))
     
    10901095                                (incf offset 8))))))
    10911096                       (%load-fp-arg-regs n-fp-args fp-args)
    1092                        (%do-ff-call monitor entry)
     1097                       (%do-ff-call monitor registers entry)
    10931098                       (values (%%ff-result result-spec)))))))))))
    10941099
Note: See TracChangeset for help on using the changeset viewer.