Vocabulary
cpu.architecture

Inputs
srca register symbol
slota register symbol
scalean integer
tagan integer
temp1a register symbol
temp2a register symbol


Outputs
None

Word description
Generates code for the ##write-barrier instruction.

Examples
USING: cpu.architecture make tools.disassembler ; init-relocation [ RAX RBX 3 -14 RCX RDX %write-barrier ] B{ } make disassemble 000000000143f960: 488d4cd80e lea rcx, [rax+rbx*8+0xe] 000000000143f965: 48c1e908 shr rcx, 0x8 000000000143f969: 48ba0000000000000000 mov rdx, 0x0 000000000143f973: 48c60411c0 mov byte [rcx+rdx], 0xc0 000000000143f978: 48c1e90a shr rcx, 0xa 000000000143f97c: 48ba0000000000000000 mov rdx, 0x0
000000000143f986: 48c60411c0 mov byte [rcx+rdx], 0xc0


Definition


HOOK: %write-barrier cpu ( src slot scale tag temp1 temp2 -- )


Methods

M:: x86 %write-barrier ( src slot scale tag temp1 temp2 -- )
temp1 src slot scale tag (%slot) LEA
temp1 temp2 (%write-barrier) ;