diff --git a/library/compiler/x86/alien.factor b/library/compiler/x86/alien.factor index 324f97ac33..b6b3462fdb 100644 --- a/library/compiler/x86/alien.factor +++ b/library/compiler/x86/alien.factor @@ -4,8 +4,6 @@ IN: compiler USING: alien arrays assembler inference kernel kernel-internals math memory namespaces words ; -: drop-return-reg ESP swap reg-size ADD ; - : %unbox ( n reg-class func -- ) f %alien-invoke push-return-reg drop ; diff --git a/library/compiler/x86/architecture.factor b/library/compiler/x86/architecture.factor index c06d732be7..32a248055b 100644 --- a/library/compiler/x86/architecture.factor +++ b/library/compiler/x86/architecture.factor @@ -60,6 +60,8 @@ M: float-regs push-return-reg : FLD 4 = [ FLDS ] [ FLDL ] if ; +: drop-return-reg stack-reg swap reg-size ADD ; + M: float-regs pop-return-reg stack-reg [] over reg-size FLD drop-return-reg ;