Changeset 7231


Ignore:
Timestamp:
Sep 16, 2007, 11:14:04 PM (12 years ago)
Author:
gb
Message:

X862-BIND-LAMBDA: bind &rest before &key ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/compiler/X86/x862.lisp

    r7207 r7231  
    863863              (x862-bind-var seg var vloc lcell))
    864864            (setq vloc (+ vloc *x862-target-node-size*)))))))
    865   (when keys
    866     (apply #'x862-init-keys seg vloc lcells keys)
    867     (setq vloc (+ vloc (* 2 *x862-target-node-size* nkeys))
    868           lcells (nthcdr (+ nkeys nkeys) lcells)))
     865
    869866  (when rest
    870867    (if lexpr
     
    878875              (x862-note-top-cell rest)
    879876              (x862-bind-var seg rest loc *x862-top-vstack-lcell*))))
    880       (progn
     877      (let* ((rvloc (+ vloc (* 2 *x862-target-node-size* nkeys))))
    881878        (if (setq reg (x862-assign-register-var rest))
    882           (x862-init-regvar seg rest reg (x862-vloc-ea vloc))
    883           (x862-bind-var seg rest vloc (pop lcells)))
    884         (setq vloc (+ vloc *x862-target-node-size*)))))
     879          (x862-init-regvar seg rest reg (x862-vloc-ea rvloc))
     880          (x862-bind-var seg rest rvloc (pop lcells))))))
     881    (when keys
     882      (apply #'x862-init-keys seg vloc lcells keys))
    885883  (x862-seq-bind seg (%car auxen) (%cadr auxen)))
     884
    886885
    887886(defun x862-initopt (seg vloc spvloc lcells splcells vars inits spvars)
Note: See TracChangeset for help on using the changeset viewer.