From 48e64551863f45c2d84e0a31c06ad4957e2b232c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Lindqvist?= Date: Fri, 22 May 2015 17:17:00 +0200 Subject: [PATCH] cpu.x86.*: %mov-vm-ptr isn't so useful, shorter and simpler to write vm-reg MOV --- basis/cpu/x86/32/32.factor | 3 --- basis/cpu/x86/64/64.factor | 11 ++++------- basis/cpu/x86/x86-docs.factor | 12 ------------ basis/cpu/x86/x86.factor | 2 -- 4 files changed, 4 insertions(+), 24 deletions(-) diff --git a/basis/cpu/x86/32/32.factor b/basis/cpu/x86/32/32.factor index 5068e5cef8..325f197627 100755 --- a/basis/cpu/x86/32/32.factor +++ b/basis/cpu/x86/32/32.factor @@ -32,9 +32,6 @@ M: x86.32 immediate-comparand? ( obj -- ? ) drop t ; M:: x86.32 %load-vector ( dst val rep -- ) dst 0 [] rep copy-memory* val rc-absolute rel-binary-literal ; -M: x86.32 %mov-vm-ptr ( reg -- ) - 0 MOV 0 rc-absolute-cell rel-vm ; - M: x86.32 %vm-field ( dst field -- ) [ 0 [] MOV ] dip rc-absolute-cell rel-vm ; diff --git a/basis/cpu/x86/64/64.factor b/basis/cpu/x86/64/64.factor index 4c083a3212..178cd4bfd7 100644 --- a/basis/cpu/x86/64/64.factor +++ b/basis/cpu/x86/64/64.factor @@ -42,9 +42,6 @@ M: x86.64 machine-registers : vm-reg ( -- reg ) R13 ; inline : nv-reg ( -- reg ) RBX ; inline -M: x86.64 %mov-vm-ptr ( reg -- ) - vm-reg MOV ; - M: x86.64 %vm-field ( dst offset -- ) [ vm-reg ] dip [+] MOV ; @@ -93,13 +90,13 @@ M: x86.64 %discard-reg-param ( rep reg -- ) M:: x86.64 %unbox ( dst src func rep -- ) param-reg-0 src tagged-rep %copy - param-reg-1 %mov-vm-ptr + param-reg-1 vm-reg MOV func f f %c-invoke dst rep %load-return ; M:: x86.64 %box ( dst src func rep gc-map -- ) 0 rep reg-class-of cdecl param-regs at nth src rep %copy - rep int-rep? os windows? or param-reg-1 param-reg-0 ? %mov-vm-ptr + rep int-rep? os windows? or param-reg-1 param-reg-0 ? vm-reg MOV func f gc-map %c-invoke dst int-rep %load-return ; @@ -108,12 +105,12 @@ M: x86.64 %c-invoke gc-map-here ; M: x86.64 %begin-callback ( -- ) - param-reg-0 %mov-vm-ptr + param-reg-0 vm-reg MOV param-reg-1 0 MOV "begin_callback" f f %c-invoke ; M: x86.64 %end-callback ( -- ) - param-reg-0 %mov-vm-ptr + param-reg-0 vm-reg MOV "end_callback" f f %c-invoke ; M: x86.64 %prepare-var-args ( -- ) RAX RAX XOR ; diff --git a/basis/cpu/x86/x86-docs.factor b/basis/cpu/x86/x86-docs.factor index 7f3ecf7a96..a0ec90398f 100644 --- a/basis/cpu/x86/x86-docs.factor +++ b/basis/cpu/x86/x86-docs.factor @@ -106,15 +106,3 @@ HELP: copy-register* "0000000533c61fe0: 0f28ca movaps xmm1, xmm2" } } ; - -HELP: %mov-vm-ptr -{ $values { "reg" "a register symbol" } } -{ $description - "Emits machine code for moving the vm pointer to a register." } -{ $examples - { $unchecked-example - "USING: cpu.x86.64 make ;" - "[ RAX %mov-vm-ptr ] B{ } make disassemble" - "0000000002290b30: 4c89e8 mov rax, r13" - } -} ; diff --git a/basis/cpu/x86/x86.factor b/basis/cpu/x86/x86.factor index ed946d9e04..a086f6e32c 100644 --- a/basis/cpu/x86/x86.factor +++ b/basis/cpu/x86/x86.factor @@ -457,8 +457,6 @@ M: x86 %shl int-rep two-operand [ SHL ] emit-shift ; M: x86 %shr int-rep two-operand [ SHR ] emit-shift ; M: x86 %sar int-rep two-operand [ SAR ] emit-shift ; -HOOK: %mov-vm-ptr cpu ( reg -- ) - HOOK: %vm-field-ptr cpu ( reg offset -- ) : load-zone-offset ( nursery-ptr -- )