X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fcompiler%2Fx86%2Fc-call.lisp;h=3c954f51a0465dda8a69755b1da068dd89b26372;hb=75b52379bdc2269961af6a1308eca63610f38ac3;hp=e3fd9d0e11183b558ef3b4da4ee61f15afddeece;hpb=e6c468c2b371f7deac2010cf03896a60974ea766;p=sbcl.git diff --git a/src/compiler/x86/c-call.lisp b/src/compiler/x86/c-call.lisp index e3fd9d0..3c954f5 100644 --- a/src/compiler/x86/c-call.lisp +++ b/src/compiler/x86/c-call.lisp @@ -181,9 +181,6 @@ ,@(new-args)))))) (sb!c::give-up-ir1-transform)))) - - - (define-vop (foreign-symbol-address) (:translate foreign-symbol-address) (:policy :fast-safe) @@ -195,6 +192,18 @@ (:generator 2 (inst lea res (make-fixup (extern-alien-name foreign-symbol) :foreign)))) +#!+linkage-table +(define-vop (foreign-symbol-dataref-address) + (:translate foreign-symbol-dataref-address) + (:policy :fast-safe) + (:args) + (:arg-types (:constant simple-string)) + (:info foreign-symbol) + (:results (res :scs (sap-reg))) + (:result-types system-area-pointer) + (:generator 2 + (inst mov res (make-fixup (extern-alien-name foreign-symbol) :foreign-dataref)))) + (define-vop (call-out) (:args (function :scs (sap-reg)) (args :more t))