Changeset 6294


Ignore:
Timestamp:
Apr 18, 2007, 2:58:29 AM (15 years ago)
Author:
gb
Message:

Some changes for new tagged-return-address scheme.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/x8664-call/ccl/compiler/X86/x862.lisp

    r6267 r6294  
    24252425  (with-x86-local-vinsn-macros (seg)
    24262426    (! emit-aligned-label (aref *backend-labels* labelnum))
    2427     (@ labelnum)))
     2427    (@ labelnum)
     2428    (! recover-fn-from-rip)))
    24282429
    24292430 
     
    24982499                (! pass-multiple-values))
    24992500              (when mvpass-label
    2500                 (@= mvpass-label)
    2501                 (! recover-fn-from-ra0 (aref *backend-labels* mvpass-label))))
     2501                (@= mvpass-label)))
    25022502            (progn
    25032503              (if label-p
     
    25542554              (progn (! pass-multiple-values)
    25552555                     (when mvpass-label
    2556                        (@= mvpass-label)
    2557                        (! recover-fn-from-ra0 (aref *backend-labels* mvpass-label))))
     2556                       (@= mvpass-label)))
    25582557              (! funcall))                 
    25592558            (cond ((or (null nargs) spread-p)
     
    77497748    (x862-close-undo)
    77507749    (@= tag-label)
    7751     (! recover-fn-from-ra0  (aref *backend-labels* tag-label))
    77527750    (unless mv-pass (if vreg (<- x8664::arg_z)))
    77537751    (let* ((*x862-returning-values* mv-pass)) ; nlexit keeps values on stack
     
    82028200    (! ref-interrupt-level yreg)
    82038201    (x862-dbind seg (make-acode (%nx1-operator fixnum) -1) '*interrupt-level*)
    8204     (! mkunwind (aref *backend-labels* protform-label)
     8202    (! mkunwind
     8203       (aref *backend-labels* protform-label)
    82058204       (aref *backend-labels* cleanup-label))
    82068205    (@= cleanup-label)
Note: See TracChangeset for help on using the changeset viewer.