Changeset 6348 for branches/x8664-call


Ignore:
Timestamp:
Apr 24, 2007, 8:41:07 AM (13 years ago)
Author:
gb
Message:

New catch, unwind-protect stuff.
define xcall-subprim, start to use it.

File:
1 edited

Legend:

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

    r6347 r6348  
    16871687    (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn))))
    16881688
     1689(defmacro define-x8664-subprim-xcall-vinsn ((name &rest other-attrs) spno)
     1690  `(define-x8664-vinsn (,name :call :subprim-call ,@other-attrs) (() () ((entry (:label 1))))
     1691    (:talign 4)
     1692    (call (:@ ,spno))
     1693    :back
     1694    (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn))))
     1695
    16891696(defmacro define-x8664-subprim-jump-vinsn ((name &rest other-attrs) spno)
    16901697  `(define-x8664-vinsn (,name :jump :jumpLR ,@other-attrs) (() ())
     
    17671774  (jmp (:%q x8664::ra0)))
    17681775
    1769 (define-x8664-vinsn (mkcatchmv :call :subprim-call) (()
     1776(define-x8664-vinsn (nmkcatchmv :call :subprim-call) (()
    17701777                                                     ((lab :label))
    17711778                                                     ((entry (:label 1))))
    1772   (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    17731779  (leaq (:@ (:^ lab)  (:%q x8664::fn)) (:%q x8664::xfn))
    17741780  (:talign 4)
    1775   (jmp (:@ .SPmkcatchmv))
     1781  (call (:@ .SPnmkcatchmv))
    17761782  :back
    17771783  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
    17781784
    1779 (define-x8664-vinsn (mkcatch1v :call :subprim-call) (()
     1785(define-x8664-vinsn (nmkcatch1v :call :subprim-call) (()
    17801786                                                     ((lab :label))
    17811787                                                     ((entry (:label 1))))
    1782   (leaq (:@ (:^ :back) (:%q x8664::fn)) (:%q x8664::ra0))
    17831788  (leaq (:@ (:^ lab)  (:%q x8664::fn)) (:%q x8664::xfn))
    17841789  (:talign 4)
    1785   (jmp (:@ .SPmkcatch1v))
     1790  (call (:@ .SPnmkcatch1v))
    17861791  :back
    17871792  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
    17881793
    1789 (define-x8664-vinsn (mkunwind :call :subprim-call) (()
     1794(define-x8664-vinsn (nmkunwind :call :subprim-call) (()
    17901795                                                     ((protform-lab :label)
    17911796                                                      (cleanup-lab :label)))
    17921797  (leaq (:@ (:^ protform-lab) (:%q x8664::fn)) (:%q x8664::ra0))
    17931798  (leaq (:@ (:^ cleanup-lab)  (:%q x8664::fn)) (:%q x8664::xfn))
    1794   (jmp (:@ .SPmkunwind)))
     1799  (jmp (:@ .SPnmkunwind)))
    17951800
    17961801
     
    35173522(define-x8664-subprim-call-vinsn (makeu64) .SPmakeu64)
    35183523
    3519 (define-x8664-subprim-call-vinsn (makes64) .SPmakes64)
     3524(define-x8664-subprim-call-vinsn (makes64) .SPnmakes64)
    35203525
    35213526(define-x8664-subprim-call-vinsn (stack-cons-list*)  .SPstkconslist-star)
Note: See TracChangeset for help on using the changeset viewer.