searchState.loadedDescShard("juicebox_asm", 0, "A simple x64
jit assembler with a minimal runtime to …\nx64
jit assembler.\nType representing a 16 bit immediate.\nType representing a 32 bit immediate.\nType representing a 64 bit immediate.\nType representing an 8 bit immediate.\nA label which is used as target for jump instructions.\nA memory operand with word
size (16 bit).\nA memory operand with dword
size (32 bit).\nA memory operand with qword
size (64 bit).\nA memory operand with byte
size (8 bit).\nDefinition of 16 bit registers.\nDefinition of 32 bit registers.\nDefinition of 64 bit registers.\nDefinition of 8 bit registers.\nA simple mmap
ed runtime with executable pages.\nAdd the block of code
to the runtime and a get function …\nBind the Label to the current location.\nDisassemble the code currently added to the runtime, using …\nDisassemble the code currently added to the runtime, using …\nUnmaps the code page. This invalidates all the function …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate a memory operand with indirect
addressing mode. For …\nCreate a memory operand with indirect
addressing mode. For …\nCreate a memory operand with indirect
addressing mode. For …\nCreate a memory operand with indirect
addressing mode. For …\nCreate a memory operand with base + index
addressing mode. …\nCreate a memory operand with base + index
addressing mode. …\nCreate a memory operand with base + index
addressing mode. …\nCreate a memory operand with base + index
addressing mode. …\nCreate a memory operand with indirect + displacement
…\nCreate a memory operand with indirect + displacement
…\nCreate a memory operand with indirect + displacement
…\nCreate a memory operand with indirect + displacement
…\nTrait definitions of various instructions.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nCalls U::from(self)
.\nConsume the assembler and get the emitted code.\nCreate a new x64
jit assembler.\nCreate a new unbound
Label.\nCreate a new Runtime.\nEmit a nop
instruction.\nEmit a ret
instruction.\nCreate a new Runtime which also generates static perf …\nTrait for add
instruction kinds.\nTrait for call
instruction kinds.\nTrait for cmovnz
instruction kinds.\nTrait for cmovz
instruction kinds.\nTrait for cmp
instruction kinds.\nTrait for dec
instruction kinds.\nTrait for inc
instruction kinds.\nTrait for jmp
instruction kinds.\nTrait for jnz
instruction kinds.\nTrait for jz
instruction kinds.\nTrait for mov
instruction kinds.\nTrait for pop
instruction kinds.\nTrait for push
instruction kinds.\nTrait for sub
instruction kinds.\nTrait for test
instruction kinds.\nTrait for xor
instruction kinds.\nEmit an add instruction.\nEmit a call instruction.\nEmit a (conditional) move if not zero instruction.\nEmit a (conditional) move if zero instruction.\nEmit a compare instruction.\nEmit a decrement instruction.\nEmit a increment instruction.\nEmit an unconditional jump instruction.\nEmit a conditional jump if not zero instruction (ZF = 0
).\nEmit a conditional jump if zero instruction (ZF = 1
).\nEmit an move instruction.\nEmit a pop instruction.\nEmit a push instruction.\nEmit an sub instruction.\nEmit a logical compare instruction.\nEmit a xor instruction.")