diff --git a/basis/cpu/x86/64/64-docs.factor b/basis/cpu/x86/64/64-docs.factor index 26fbfc1a19..cd58ecfb69 100644 --- a/basis/cpu/x86/64/64-docs.factor +++ b/basis/cpu/x86/64/64-docs.factor @@ -1,11 +1,12 @@ -USING: help.markup help.syntax math ; +USING: help.markup help.syntax math vm ; IN: cpu.x86.64 HELP: vm-reg { $values { "reg" "a register symbol" } } { $description "Symbol of the machine register that holds the address of the virtual machine." -} ; +} +{ $see-also vm } ; HELP: param-reg { $values { "n" number } { "reg" "a register symbol" } } diff --git a/basis/cpu/x86/x86-docs.factor b/basis/cpu/x86/x86-docs.factor index bc287595f3..7782eec862 100644 --- a/basis/cpu/x86/x86-docs.factor +++ b/basis/cpu/x86/x86-docs.factor @@ -39,6 +39,17 @@ HELP: load-zone-offset } } ; +HELP: store-tagged +{ $values { "dst" "a register symbol" } { "tag" "a builtin class" } } +{ $description "Tags the register with the tag number for the given class." } +{ $examples + { $unchecked-example + "USING: cpu.x86 make ;" + "[ RAX alien store-tagged ] B{ } make disassemble" + "0000000002275f10: 4883c806 or rax, 0x6" + } +} ; + HELP: copy-register* { $values { "dst" "a register symbol" } @@ -55,3 +66,15 @@ 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" + } +} ;