From: Phil Dawes Date: Fri, 25 Sep 2009 18:02:41 +0000 (+0100) Subject: isolated %vm-invoke-blah-arg crap to 64.factor X-Git-Tag: 0.97~5475^2~6^2~6^2~4 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=28420c587a4e21993d191eef1d4a258224a85456 isolated %vm-invoke-blah-arg crap to 64.factor --- diff --git a/basis/cpu/architecture/architecture.factor b/basis/cpu/architecture/architecture.factor index 066c445366..27677f2072 100644 --- a/basis/cpu/architecture/architecture.factor +++ b/basis/cpu/architecture/architecture.factor @@ -383,9 +383,6 @@ M: object %prepare-var-args ; HOOK: %alien-invoke cpu ( function library -- ) -HOOK: %vm-invoke-1st-arg cpu ( function -- ) -HOOK: %vm-invoke-3rd-arg cpu ( function -- ) - HOOK: %cleanup cpu ( params -- ) M: object %cleanup ( params -- ) drop ; diff --git a/basis/cpu/ppc/ppc.factor b/basis/cpu/ppc/ppc.factor index 7e1060cbb9..3b46899659 100644 --- a/basis/cpu/ppc/ppc.factor +++ b/basis/cpu/ppc/ppc.factor @@ -40,9 +40,6 @@ enable-float-intrinsics M: ppc %vm-field-ptr ( dst field -- ) %load-vm-field-addr ; -M: ppc %vm-invoke-1st-arg ( function -- ) f %alien-invoke ; -M: ppc %vm-invoke-3rd-arg ( function -- ) f %alien-invoke ; - M: ppc machine-registers { { int-regs $[ 2 12 [a,b] 15 29 [a,b] append ] } diff --git a/basis/cpu/x86/32/32.factor b/basis/cpu/x86/32/32.factor index 1b0170d14d..bcd11b9c40 100755 --- a/basis/cpu/x86/32/32.factor +++ b/basis/cpu/x86/32/32.factor @@ -51,14 +51,6 @@ M: x86.32 %alien-invoke 0 CALL rc-relative rel-dlsym ; temp-reg 0 MOV rc-absolute-cell rt-vm rel-fixup ! push the vm ptr as an argument temp-reg PUSH ; -M: x86.32 %vm-invoke-1st-arg ( function -- ) - push-vm-ptr - f %alien-invoke - temp-reg POP ; - -M: x86.32 %vm-invoke-3rd-arg ( function -- ) - %vm-invoke-1st-arg ; ! first 2 args are regs, 3rd is stack so vm-invoke-1st-arg works here - M: x86.32 return-struct-in-registers? ( c-type -- ? ) c-type [ return-in-registers?>> ] diff --git a/basis/cpu/x86/64/64.factor b/basis/cpu/x86/64/64.factor index c373b29a09..9522f5b31c 100644 --- a/basis/cpu/x86/64/64.factor +++ b/basis/cpu/x86/64/64.factor @@ -74,7 +74,7 @@ M: x86.64 %prepare-unbox ( -- ) param-reg-1 R14 [] MOV R14 cell SUB ; -M: x86.64 %vm-invoke-1st-arg ( function -- ) +: %vm-invoke-1st-arg ( function -- ) param-reg-1 0 MOV rc-absolute-cell rt-vm rel-fixup f %alien-invoke ; @@ -82,7 +82,7 @@ M: x86.64 %vm-invoke-1st-arg ( function -- ) param-reg-2 0 MOV rc-absolute-cell rt-vm rel-fixup f %alien-invoke ; -M: x86.64 %vm-invoke-3rd-arg ( function -- ) +: %vm-invoke-3rd-arg ( function -- ) param-reg-3 0 MOV rc-absolute-cell rt-vm rel-fixup f %alien-invoke ;