X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fc-call.lisp;h=aff5e1d02972d128771318bb355957b9572deda5;hb=39ecf3129db04ecf861c08459b6f5353bfc266c9;hp=87440e082be0f285c0f0db813a8dfa86247bd877;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/compiler/x86/c-call.lisp b/src/compiler/x86/c-call.lisp index 87440e0..aff5e1d 100644 --- a/src/compiler/x86/c-call.lisp +++ b/src/compiler/x86/c-call.lisp @@ -12,9 +12,6 @@ (in-package "SB!VM") -(file-comment - "$Header$") - ;; The move-argument vop is going to store args on the stack for ;; call-out. These tn's will be used for that. move-arg is normally ;; used for things going down the stack but C wants to have args @@ -121,7 +118,7 @@ (when values (invoke-alien-type-method :result-tn (car values) state)))) -(def-vm-support-routine make-call-out-tns (type) +(!def-vm-support-routine make-call-out-tns (type) (let ((arg-state (make-arg-state))) (collect ((arg-tns)) (dolist #+nil ;; this reversed list seems to cause the alien botches!! @@ -218,7 +215,7 @@ (unless (zerop amount) (let ((delta (logandc2 (+ amount 3) 3))) (inst sub (make-ea :dword - :disp (+ *nil-value* + :disp (+ nil-value (static-symbol-offset '*alien-stack*) (ash symbol-value-slot word-shift) (- other-pointer-type))) @@ -231,7 +228,7 @@ (unless (zerop amount) (let ((delta (logandc2 (+ amount 3) 3))) (inst add (make-ea :dword - :disp (+ *nil-value* + :disp (+ nil-value (static-symbol-offset '*alien-stack*) (ash symbol-value-slot word-shift) (- other-pointer-type)))