Changeset 6359 for branches/x8664-call


Ignore:
Timestamp:
Apr 29, 2007, 9:22:36 AM (13 years ago)
Author:
gb
Message:

Functions (and most subprims) called with return address on top of
stack; lots of changes to support this.

File:
1 edited

Legend:

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

    r6349 r6359  
    13881388             (imm0 (make-wired-lreg x8664::imm0 :mode (get-regspec-mode s64-src))))
    13891389        (x862-copy-register seg imm0 s64-src)
    1390         (! xcall-subprim (subprim-name->offset '.SPnmakes64))
     1390        (! call-subprim (subprim-name->offset '.SPmakes64))
    13911391        (x862-copy-register seg node-dest arg_z)))))
    13921392
     
    14181418             (imm0 ($ x8664::imm0 :mode :u64)))
    14191419        (x862-copy-register seg imm0 u64-src)
    1420         (! xcall-subprim (subprim-name->offset '.SPnmakeu64))
     1420        (! call-subprim (subprim-name->offset '.SPmakeu64))
    14211421        (x862-copy-register seg node-dest arg_z)))))
    14221422
     
    53635363        (! jump-subprim subprim)
    53645364        (progn
    5365           (setq subprim (+ (subprim-name->offset 'x8664::.spnbuiltin-plus)
    5366                            (- subprim
    5367                               (subprim-name->offset 'x8664::.spbuiltin-plus))))
    5368           (! xcall-subprim subprim)
     5365          (! call-subprim subprim)
    53695366          (<- ($ x8664::arg_z))
    53705367          (^))))))
     
    61426139        (let* ((index (arch::builtin-function-name-offset name))
    61436140               (idx-subprim (x862-builtin-index-subprim index)))
    6144           (setq idx-subprim (+ (subprim-name->offset 'x8664::.SPnbuiltin-plus)
    6145                                (- idx-subprim (subprim-name->offset 'x8664::.SPbuiltin-plus))))
    6146           (! xcall-subprim-2 ($ x8664::arg_z) idx-subprim ($ x8664::arg_y) ($ x8664::arg_z)))
     6141          (! call-subprim-2 ($ x8664::arg_z) idx-subprim ($ x8664::arg_y) ($ x8664::arg_z)))
    61476142        (@ done)
    61486143        (<- ($ x8664::arg_z))
     
    63346329      (! jump-subprim subprim)
    63356330      (progn
    6336         (setq subprim (+ (subprim-name->offset 'x8664::.SPnbuiltin-plus)
    6337                          (- subprim
    6338                             (subprim-name->offset 'x8664::.SPbuiltin-plus))))
    6339         (! xcall-subprim subprim)
     6331        (! call-subprim subprim)
    63406332        (<- x8664::arg_z)
    63416333        (^)))))
     
    65156507        (x862-check-fixnum-overflow seg ($ x8664::arg_z) done)
    65166508        (@ out-of-line)
    6517         (! xcall-subprim-2 ($ x8664::arg_z) (subprim-name->offset '.SPnbuiltin-minus) ($ x8664::arg_y) ($ x8664::arg_z))
     6509        (! call-subprim-2 ($ x8664::arg_z) (subprim-name->offset '.SPbuiltin-minus) ($ x8664::arg_y) ($ x8664::arg_z))
    65186510        (@ done)
    65196511        (x862-copy-register seg target ($ x8664::arg_z)))
     
    65546546          (if otherform
    65556547            (x862-lri seg ($ x8664::arg_y) (ash (or fix1 fix2) *x862-target-fixnum-shift*)))
    6556           (! xcall-subprim-2 ($ x8664::arg_z) (subprim-name->offset '.SPnbuiltin-plus) ($ x8664::arg_y) ($ x8664::arg_z))
     6548          (! call-subprim-2 ($ x8664::arg_z) (subprim-name->offset '.SPbuiltin-plus) ($ x8664::arg_y) ($ x8664::arg_z))
    65576549          (@ done)
    65586550          (x862-copy-register seg target ($ x8664::arg_z)))
     
    67186710              (if otherform
    67196711                (x862-lri seg ($ x8664::arg_y) (ash fixval x8664::fixnumshift)))
    6720               (! xcall-subprim-2 ($ x8664::arg_z) (subprim-name->offset '.SPnbuiltin-logior) ($ x8664::arg_y) ($ x8664::arg_z))
     6712              (! call-subprim-2 ($ x8664::arg_z) (subprim-name->offset '.SPbuiltin-logior) ($ x8664::arg_y) ($ x8664::arg_z))
    67216713              (@ done)
    67226714              (x862-copy-register seg target ($ x8664::arg_z)))
     
    67636755              (if otherform
    67646756                (x862-lri seg ($ x8664::arg_y) (ash fixval x8664::fixnumshift)))
    6765               (! xcall-subprim-2 ($ x8664::arg_z) (subprim-name->offset '.SPnbuiltin-logand) ($ x8664::arg_y) ($ x8664::arg_z))
     6757              (! call-subprim-2 ($ x8664::arg_z) (subprim-name->offset '.SPbuiltin-logand) ($ x8664::arg_y) ($ x8664::arg_z))
    67666758              (@ done)
    67676759              (x862-copy-register seg target ($ x8664::arg_z)))
     
    82208212           (*x862-top-vstack-lcell* *x862-top-vstack-lcell*))
    82218213      (x862-open-undo $undostkblk)      ; tsp frame created by nthrow.
    8222       (x862-vpush-register seg x8664::ra0)
    82238214      (x862-form seg nil nil cleanup-form)
    82248215      (x862-close-undo)
    8225       (x862-vpop-register seg x8664::ra0)
    82268216      (! jump-return-pc))
    82278217    (x862-open-undo)
Note: See TracChangeset for help on using the changeset viewer.