Changeset 5711


Ignore:
Timestamp:
Jan 18, 2007, 2:50:29 AM (18 years ago)
Author:
Gary Byers
Message:

Support :registers <exp> in %ff-call; when supported, backend will
return all (potential) result registers in buffer at <exp>.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/compiler/nx1.lisp

    r5574 r5711  
    13341334
    13351335(defun nx1-ff-call-internal (address-expression arg-specs-and-result-spec operator )
    1336   (let* ((specs ())
     1336  (let* ((specs ())         
    13371337         (vals ())
     1338         (register-spec-seen nil)
    13381339         (darwin-target-p (or (eql operator (%nx1-operator poweropen-syscall))
    13391340                              (eql operator (%nx1-operator poweropen-ff-call))))
     
    13551356            (push arg-keyword specs)
    13561357            (push value vals))
    1357            (error "Unknown argument spec: ~s" arg-keyword))))
     1358          (if (eq arg-keyword :registers)
     1359            (if register-spec-seen
     1360              (error "duplicate :registers in ~s" arg-specs-and-result-spec)
     1361              (progn
     1362                (setq register-spec-seen t)
     1363                (push arg-keyword specs)
     1364                (push value vals)))
     1365            (error "Unknown argument spec: ~s" arg-keyword)))))
    13581366    (unless (or (eq result-spec :void)
    13591367                (memq result-spec *arg-spec-keywords*))
Note: See TracChangeset for help on using the changeset viewer.