v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <assembler-arm64.h>
Public Member Functions | |
PatchingAssembler (Instruction *start, unsigned count) | |
PatchingAssembler (byte *start, unsigned count) | |
~PatchingAssembler () | |
Public Member Functions inherited from Assembler | |
Assembler (Isolate *isolate, void *buffer, int buffer_size) | |
virtual | ~Assembler () |
void | GetCode (CodeDesc *desc) |
void | bind (Label *L) |
int | branch_offset (Label *L, bool jump_elimination_allowed) |
INLINE (static Address target_pointer_address_at(Address pc)) | |
INLINE (static Address target_constant_pool_address_at(Address pc, ConstantPoolArray *constant_pool)) | |
INLINE (static Address target_address_at(Address pc, ConstantPoolArray *constant_pool)) | |
INLINE (static void set_target_address_at(Address pc, ConstantPoolArray *constant_pool, Address target)) | |
INLINE (static Address target_address_at(Address pc, Code *code)) | |
INLINE (static void set_target_address_at(Address pc, Code *code, Address target)) | |
INLINE (static Address target_address_from_return_address(Address pc)) | |
INLINE (static Address return_address_from_call_start(Address pc)) | |
void | Align (int m) |
void | CodeTargetAlign () |
void | b (int branch_offset, Condition cond=al) |
void | bl (int branch_offset, Condition cond=al) |
void | blx (int branch_offset) |
void | blx (Register target, Condition cond=al) |
void | bx (Register target, Condition cond=al) |
void | b (Label *L, Condition cond=al) |
void | b (Condition cond, Label *L) |
void | bl (Label *L, Condition cond=al) |
void | bl (Condition cond, Label *L) |
void | blx (Label *L) |
void | and_ (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | eor (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | sub (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | sub (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al) |
void | rsb (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | add (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | add (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al) |
void | adc (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | sbc (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | rsc (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | tst (Register src1, const Operand &src2, Condition cond=al) |
void | tst (Register src1, Register src2, Condition cond=al) |
void | teq (Register src1, const Operand &src2, Condition cond=al) |
void | cmp (Register src1, const Operand &src2, Condition cond=al) |
void | cmp (Register src1, Register src2, Condition cond=al) |
void | cmp_raw_immediate (Register src1, int raw_immediate, Condition cond=al) |
void | cmn (Register src1, const Operand &src2, Condition cond=al) |
void | orr (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | orr (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al) |
void | mov (Register dst, const Operand &src, SBit s=LeaveCC, Condition cond=al) |
void | mov (Register dst, Register src, SBit s=LeaveCC, Condition cond=al) |
void | mov_label_offset (Register dst, Label *label) |
void | movw (Register reg, uint32_t immediate, Condition cond=al) |
void | movt (Register reg, uint32_t immediate, Condition cond=al) |
void | bic (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al) |
void | mvn (Register dst, const Operand &src, SBit s=LeaveCC, Condition cond=al) |
void | mla (Register dst, Register src1, Register src2, Register srcA, SBit s=LeaveCC, Condition cond=al) |
void | mls (Register dst, Register src1, Register src2, Register srcA, Condition cond=al) |
void | sdiv (Register dst, Register src1, Register src2, Condition cond=al) |
void | mul (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al) |
void | smlal (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al) |
void | smull (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al) |
void | umlal (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al) |
void | umull (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al) |
void | clz (Register dst, Register src, Condition cond=al) |
void | usat (Register dst, int satpos, const Operand &src, Condition cond=al) |
void | ubfx (Register dst, Register src, int lsb, int width, Condition cond=al) |
void | sbfx (Register dst, Register src, int lsb, int width, Condition cond=al) |
void | bfc (Register dst, int lsb, int width, Condition cond=al) |
void | bfi (Register dst, Register src, int lsb, int width, Condition cond=al) |
void | pkhbt (Register dst, Register src1, const Operand &src2, Condition cond=al) |
void | pkhtb (Register dst, Register src1, const Operand &src2, Condition cond=al) |
void | uxtb (Register dst, const Operand &src, Condition cond=al) |
void | uxtab (Register dst, Register src1, const Operand &src2, Condition cond=al) |
void | uxtb16 (Register dst, const Operand &src, Condition cond=al) |
void | mrs (Register dst, SRegister s, Condition cond=al) |
void | msr (SRegisterFieldMask fields, const Operand &src, Condition cond=al) |
void | ldr (Register dst, const MemOperand &src, Condition cond=al) |
void | str (Register src, const MemOperand &dst, Condition cond=al) |
void | ldrb (Register dst, const MemOperand &src, Condition cond=al) |
void | strb (Register src, const MemOperand &dst, Condition cond=al) |
void | ldrh (Register dst, const MemOperand &src, Condition cond=al) |
void | strh (Register src, const MemOperand &dst, Condition cond=al) |
void | ldrsb (Register dst, const MemOperand &src, Condition cond=al) |
void | ldrsh (Register dst, const MemOperand &src, Condition cond=al) |
void | ldrd (Register dst1, Register dst2, const MemOperand &src, Condition cond=al) |
void | strd (Register src1, Register src2, const MemOperand &dst, Condition cond=al) |
void | pld (const MemOperand &address) |
void | ldm (BlockAddrMode am, Register base, RegList dst, Condition cond=al) |
void | stm (BlockAddrMode am, Register base, RegList src, Condition cond=al) |
void | stop (const char *msg, Condition cond=al, int32_t code=kDefaultStopCode) |
void | bkpt (uint32_t imm16) |
void | svc (uint32_t imm24, Condition cond=al) |
void | cdp (Coprocessor coproc, int opcode_1, CRegister crd, CRegister crn, CRegister crm, int opcode_2, Condition cond=al) |
void | cdp2 (Coprocessor coproc, int opcode_1, CRegister crd, CRegister crn, CRegister crm, int opcode_2) |
void | mcr (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0, Condition cond=al) |
void | mcr2 (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0) |
void | mrc (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0, Condition cond=al) |
void | mrc2 (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0) |
void | ldc (Coprocessor coproc, CRegister crd, const MemOperand &src, LFlag l=Short, Condition cond=al) |
void | ldc (Coprocessor coproc, CRegister crd, Register base, int option, LFlag l=Short, Condition cond=al) |
void | ldc2 (Coprocessor coproc, CRegister crd, const MemOperand &src, LFlag l=Short) |
void | ldc2 (Coprocessor coproc, CRegister crd, Register base, int option, LFlag l=Short) |
void | vldr (const DwVfpRegister dst, const Register base, int offset, const Condition cond=al) |
void | vldr (const DwVfpRegister dst, const MemOperand &src, const Condition cond=al) |
void | vldr (const SwVfpRegister dst, const Register base, int offset, const Condition cond=al) |
void | vldr (const SwVfpRegister dst, const MemOperand &src, const Condition cond=al) |
void | vstr (const DwVfpRegister src, const Register base, int offset, const Condition cond=al) |
void | vstr (const DwVfpRegister src, const MemOperand &dst, const Condition cond=al) |
void | vstr (const SwVfpRegister src, const Register base, int offset, const Condition cond=al) |
void | vstr (const SwVfpRegister src, const MemOperand &dst, const Condition cond=al) |
void | vldm (BlockAddrMode am, Register base, DwVfpRegister first, DwVfpRegister last, Condition cond=al) |
void | vstm (BlockAddrMode am, Register base, DwVfpRegister first, DwVfpRegister last, Condition cond=al) |
void | vldm (BlockAddrMode am, Register base, SwVfpRegister first, SwVfpRegister last, Condition cond=al) |
void | vstm (BlockAddrMode am, Register base, SwVfpRegister first, SwVfpRegister last, Condition cond=al) |
void | vmov (const DwVfpRegister dst, double imm, const Register scratch=no_reg) |
void | vmov (const SwVfpRegister dst, const SwVfpRegister src, const Condition cond=al) |
void | vmov (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al) |
void | vmov (const DwVfpRegister dst, const VmovIndex index, const Register src, const Condition cond=al) |
void | vmov (const Register dst, const VmovIndex index, const DwVfpRegister src, const Condition cond=al) |
void | vmov (const DwVfpRegister dst, const Register src1, const Register src2, const Condition cond=al) |
void | vmov (const Register dst1, const Register dst2, const DwVfpRegister src, const Condition cond=al) |
void | vmov (const SwVfpRegister dst, const Register src, const Condition cond=al) |
void | vmov (const Register dst, const SwVfpRegister src, const Condition cond=al) |
void | vcvt_f64_s32 (const DwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al) |
void | vcvt_f32_s32 (const SwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al) |
void | vcvt_f64_u32 (const DwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al) |
void | vcvt_s32_f64 (const SwVfpRegister dst, const DwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al) |
void | vcvt_u32_f64 (const SwVfpRegister dst, const DwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al) |
void | vcvt_f64_f32 (const DwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al) |
void | vcvt_f32_f64 (const SwVfpRegister dst, const DwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al) |
void | vcvt_f64_s32 (const DwVfpRegister dst, int fraction_bits, const Condition cond=al) |
void | vneg (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al) |
void | vabs (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al) |
void | vadd (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al) |
void | vsub (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al) |
void | vmul (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al) |
void | vmla (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al) |
void | vmls (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al) |
void | vdiv (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al) |
void | vcmp (const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al) |
void | vcmp (const DwVfpRegister src1, const double src2, const Condition cond=al) |
void | vmrs (const Register dst, const Condition cond=al) |
void | vmsr (const Register dst, const Condition cond=al) |
void | vsqrt (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al) |
void | vld1 (NeonSize size, const NeonListOperand &dst, const NeonMemOperand &src) |
void | vst1 (NeonSize size, const NeonListOperand &src, const NeonMemOperand &dst) |
void | vmovl (NeonDataType dt, QwNeonRegister dst, DwVfpRegister src) |
void | nop (int type=0) |
void | push (Register src, Condition cond=al) |
void | pop (Register dst, Condition cond=al) |
void | pop () |
void | jmp (Label *L) |
int | SizeOfCodeGeneratedSince (Label *label) |
int | InstructionsGeneratedSince (Label *label) |
bool | ImmediateFitsAddrMode1Instruction (int32_t imm32) |
bool | ImmediateFitsAddrMode2Instruction (int32_t imm32) |
void | RecordJSReturn () |
void | RecordDebugBreakSlot () |
void | SetRecordedAstId (TypeFeedbackId ast_id) |
TypeFeedbackId | RecordedAstId () |
void | ClearRecordedAstId () |
void | RecordComment (const char *msg) |
void | RecordConstPool (int size) |
void | db (uint8_t data) |
void | dd (uint32_t data) |
void | emit_code_stub_address (Code *stub) |
PositionsRecorder * | positions_recorder () |
Instr | instr_at (int pos) |
void | instr_at_put (int pos, Instr instr) |
void | BlockConstPoolFor (int instructions) |
void | CheckConstPool (bool force_emit, bool require_jump) |
MaybeObject * | AllocateConstantPool (Heap *heap) |
void | PopulateConstantPool (ConstantPoolArray *constant_pool) |
bool | can_use_constant_pool () const |
void | set_constant_pool_full () |
Assembler (Isolate *arg_isolate, void *buffer, int buffer_size) | |
virtual | ~Assembler () |
virtual void | AbortedCodeGeneration () |
void | Reset () |
void | GetCode (CodeDesc *desc) |
void | Align (int m) |
void | Unreachable () |
void | bind (Label *label) |
void | RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0) |
uint64_t | SizeOfGeneratedCode () const |
uint64_t | SizeOfCodeGeneratedSince (const Label *label) |
void | AssertSizeOfCodeGeneratedSince (const Label *label, ptrdiff_t size) |
int | InstructionsGeneratedSince (const Label *label) |
void | StartBlockConstPool () |
void | EndBlockConstPool () |
bool | is_const_pool_blocked () const |
void | ConstantPoolMarker (uint32_t size) |
void | EmitPoolGuard () |
void | ConstantPoolGuard () |
void | StartBlockVeneerPool () |
void | EndBlockVeneerPool () |
bool | is_veneer_pool_blocked () const |
void | StartBlockPools () |
void | EndBlockPools () |
PositionsRecorder * | positions_recorder () |
void | RecordComment (const char *msg) |
int | buffer_space () const |
void | RecordJSReturn () |
void | RecordDebugBreakSlot () |
void | RecordConstPool (int size) |
void | br (const Register &xn) |
void | blr (const Register &xn) |
void | ret (const Register &xn=lr) |
void | b (Label *label) |
void | b (Label *label, Condition cond) |
void | b (int imm26) |
void | b (int imm19, Condition cond) |
void | bl (Label *label) |
void | bl (int imm26) |
void | cbz (const Register &rt, Label *label) |
void | cbz (const Register &rt, int imm19) |
void | cbnz (const Register &rt, Label *label) |
void | cbnz (const Register &rt, int imm19) |
void | tbz (const Register &rt, unsigned bit_pos, Label *label) |
void | tbz (const Register &rt, unsigned bit_pos, int imm14) |
void | tbnz (const Register &rt, unsigned bit_pos, Label *label) |
void | tbnz (const Register &rt, unsigned bit_pos, int imm14) |
void | adr (const Register &rd, Label *label) |
void | adr (const Register &rd, int imm21) |
void | add (const Register &rd, const Register &rn, const Operand &operand) |
void | adds (const Register &rd, const Register &rn, const Operand &operand) |
void | cmn (const Register &rn, const Operand &operand) |
void | sub (const Register &rd, const Register &rn, const Operand &operand) |
void | subs (const Register &rd, const Register &rn, const Operand &operand) |
void | cmp (const Register &rn, const Operand &operand) |
void | neg (const Register &rd, const Operand &operand) |
void | negs (const Register &rd, const Operand &operand) |
void | adc (const Register &rd, const Register &rn, const Operand &operand) |
void | adcs (const Register &rd, const Register &rn, const Operand &operand) |
void | sbc (const Register &rd, const Register &rn, const Operand &operand) |
void | sbcs (const Register &rd, const Register &rn, const Operand &operand) |
void | ngc (const Register &rd, const Operand &operand) |
void | ngcs (const Register &rd, const Operand &operand) |
void | and_ (const Register &rd, const Register &rn, const Operand &operand) |
void | ands (const Register &rd, const Register &rn, const Operand &operand) |
void | tst (const Register &rn, const Operand &operand) |
void | bic (const Register &rd, const Register &rn, const Operand &operand) |
void | bics (const Register &rd, const Register &rn, const Operand &operand) |
void | orr (const Register &rd, const Register &rn, const Operand &operand) |
void | orn (const Register &rd, const Register &rn, const Operand &operand) |
void | eor (const Register &rd, const Register &rn, const Operand &operand) |
void | eon (const Register &rd, const Register &rn, const Operand &operand) |
void | lslv (const Register &rd, const Register &rn, const Register &rm) |
void | lsrv (const Register &rd, const Register &rn, const Register &rm) |
void | asrv (const Register &rd, const Register &rn, const Register &rm) |
void | rorv (const Register &rd, const Register &rn, const Register &rm) |
void | bfm (const Register &rd, const Register &rn, unsigned immr, unsigned imms) |
void | sbfm (const Register &rd, const Register &rn, unsigned immr, unsigned imms) |
void | ubfm (const Register &rd, const Register &rn, unsigned immr, unsigned imms) |
void | bfi (const Register &rd, const Register &rn, unsigned lsb, unsigned width) |
void | bfxil (const Register &rd, const Register &rn, unsigned lsb, unsigned width) |
void | asr (const Register &rd, const Register &rn, unsigned shift) |
void | sbfiz (const Register &rd, const Register &rn, unsigned lsb, unsigned width) |
void | sbfx (const Register &rd, const Register &rn, unsigned lsb, unsigned width) |
void | sxtb (const Register &rd, const Register &rn) |
void | sxth (const Register &rd, const Register &rn) |
void | sxtw (const Register &rd, const Register &rn) |
void | lsl (const Register &rd, const Register &rn, unsigned shift) |
void | lsr (const Register &rd, const Register &rn, unsigned shift) |
void | ubfiz (const Register &rd, const Register &rn, unsigned lsb, unsigned width) |
void | ubfx (const Register &rd, const Register &rn, unsigned lsb, unsigned width) |
void | uxtb (const Register &rd, const Register &rn) |
void | uxth (const Register &rd, const Register &rn) |
void | uxtw (const Register &rd, const Register &rn) |
void | extr (const Register &rd, const Register &rn, const Register &rm, unsigned lsb) |
void | csel (const Register &rd, const Register &rn, const Register &rm, Condition cond) |
void | csinc (const Register &rd, const Register &rn, const Register &rm, Condition cond) |
void | csinv (const Register &rd, const Register &rn, const Register &rm, Condition cond) |
void | csneg (const Register &rd, const Register &rn, const Register &rm, Condition cond) |
void | cset (const Register &rd, Condition cond) |
void | csetm (const Register &rd, Condition cond) |
void | cinc (const Register &rd, const Register &rn, Condition cond) |
void | cinv (const Register &rd, const Register &rn, Condition cond) |
void | cneg (const Register &rd, const Register &rn, Condition cond) |
void | ror (const Register &rd, const Register &rs, unsigned shift) |
void | ccmn (const Register &rn, const Operand &operand, StatusFlags nzcv, Condition cond) |
void | ccmp (const Register &rn, const Operand &operand, StatusFlags nzcv, Condition cond) |
void | mul (const Register &rd, const Register &rn, const Register &rm) |
void | madd (const Register &rd, const Register &rn, const Register &rm, const Register &ra) |
void | mneg (const Register &rd, const Register &rn, const Register &rm) |
void | msub (const Register &rd, const Register &rn, const Register &rm, const Register &ra) |
void | smull (const Register &rd, const Register &rn, const Register &rm) |
void | smulh (const Register &rd, const Register &rn, const Register &rm) |
void | smaddl (const Register &rd, const Register &rn, const Register &rm, const Register &ra) |
void | umaddl (const Register &rd, const Register &rn, const Register &rm, const Register &ra) |
void | smsubl (const Register &rd, const Register &rn, const Register &rm, const Register &ra) |
void | umsubl (const Register &rd, const Register &rn, const Register &rm, const Register &ra) |
void | sdiv (const Register &rd, const Register &rn, const Register &rm) |
void | udiv (const Register &rd, const Register &rn, const Register &rm) |
void | rbit (const Register &rd, const Register &rn) |
void | rev16 (const Register &rd, const Register &rn) |
void | rev32 (const Register &rd, const Register &rn) |
void | rev (const Register &rd, const Register &rn) |
void | clz (const Register &rd, const Register &rn) |
void | cls (const Register &rd, const Register &rn) |
void | LoadLiteral (const CPURegister &rt, int offset_from_pc) |
void | ldr (const CPURegister &rt, const MemOperand &src) |
void | str (const CPURegister &rt, const MemOperand &dst) |
void | ldrsw (const Register &rt, const MemOperand &src) |
void | ldrb (const Register &rt, const MemOperand &src) |
void | strb (const Register &rt, const MemOperand &dst) |
void | ldrsb (const Register &rt, const MemOperand &src) |
void | ldrh (const Register &rt, const MemOperand &src) |
void | strh (const Register &rt, const MemOperand &dst) |
void | ldrsh (const Register &rt, const MemOperand &src) |
void | ldp (const CPURegister &rt, const CPURegister &rt2, const MemOperand &src) |
void | stp (const CPURegister &rt, const CPURegister &rt2, const MemOperand &dst) |
void | ldpsw (const Register &rt, const Register &rt2, const MemOperand &src) |
void | ldnp (const CPURegister &rt, const CPURegister &rt2, const MemOperand &src) |
void | stnp (const CPURegister &rt, const CPURegister &rt2, const MemOperand &dst) |
void | ldr (const Register &rt, uint64_t imm) |
void | ldr (const FPRegister &ft, double imm) |
void | ldr (const FPRegister &ft, float imm) |
void | movk (const Register &rd, uint64_t imm, int shift=-1) |
void | movn (const Register &rd, uint64_t imm, int shift=-1) |
void | movz (const Register &rd, uint64_t imm, int shift=-1) |
void | brk (int code) |
void | hlt (int code) |
void | mov (const Register &rd, const Register &rn) |
void | mvn (const Register &rd, const Operand &operand) |
void | mrs (const Register &rt, SystemRegister sysreg) |
void | msr (SystemRegister sysreg, const Register &rt) |
void | hint (SystemHint code) |
void | dmb (BarrierDomain domain, BarrierType type) |
void | dsb (BarrierDomain domain, BarrierType type) |
void | isb () |
void | nop () |
void | nop (NopMarkerTypes n) |
void | fmov (FPRegister fd, double imm) |
void | fmov (FPRegister fd, float imm) |
void | fmov (Register rd, FPRegister fn) |
void | fmov (FPRegister fd, Register rn) |
void | fmov (FPRegister fd, FPRegister fn) |
void | fadd (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm) |
void | fsub (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm) |
void | fmul (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm) |
void | fmadd (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm, const FPRegister &fa) |
void | fmsub (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm, const FPRegister &fa) |
void | fnmadd (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm, const FPRegister &fa) |
void | fnmsub (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm, const FPRegister &fa) |
void | fdiv (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm) |
void | fmax (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm) |
void | fmin (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm) |
void | fmaxnm (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm) |
void | fminnm (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm) |
void | fabs (const FPRegister &fd, const FPRegister &fn) |
void | fneg (const FPRegister &fd, const FPRegister &fn) |
void | fsqrt (const FPRegister &fd, const FPRegister &fn) |
void | frinta (const FPRegister &fd, const FPRegister &fn) |
void | frintn (const FPRegister &fd, const FPRegister &fn) |
void | frintz (const FPRegister &fd, const FPRegister &fn) |
void | fcmp (const FPRegister &fn, const FPRegister &fm) |
void | fcmp (const FPRegister &fn, double value) |
void | fccmp (const FPRegister &fn, const FPRegister &fm, StatusFlags nzcv, Condition cond) |
void | fcsel (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm, Condition cond) |
void | FPConvertToInt (const Register &rd, const FPRegister &fn, FPIntegerConvertOp op) |
void | fcvt (const FPRegister &fd, const FPRegister &fn) |
void | fcvtau (const Register &rd, const FPRegister &fn) |
void | fcvtas (const Register &rd, const FPRegister &fn) |
void | fcvtmu (const Register &rd, const FPRegister &fn) |
void | fcvtms (const Register &rd, const FPRegister &fn) |
void | fcvtnu (const Register &rd, const FPRegister &fn) |
void | fcvtns (const Register &rd, const FPRegister &fn) |
void | fcvtzu (const Register &rd, const FPRegister &fn) |
void | fcvtzs (const Register &rd, const FPRegister &fn) |
void | scvtf (const FPRegister &fd, const Register &rn, unsigned fbits=0) |
void | ucvtf (const FPRegister &fd, const Register &rn, unsigned fbits=0) |
void | dci (Instr raw_inst) |
void | dc8 (uint8_t data) |
void | dc32 (uint32_t data) |
void | dc64 (uint64_t data) |
void | EmitStringData (const char *string) |
void | debug (const char *message, uint32_t code, Instr params=BREAK) |
void | dd (uint32_t data) |
void | db (uint8_t data) |
unsigned | num_pending_reloc_info () const |
Instruction * | InstructionAt (int offset) const |
void | CheckConstPool (bool force_emit, bool require_jump) |
MaybeObject * | AllocateConstantPool (Heap *heap) |
void | PopulateConstantPool (ConstantPoolArray *constant_pool) |
bool | ShouldEmitVeneer (int max_reachable_pc, int margin=kVeneerDistanceMargin) |
bool | ShouldEmitVeneers (int margin=kVeneerDistanceMargin) |
void | RecordVeneerPool (int location_offset, int size) |
void | EmitVeneers (bool force_emit, bool need_protection, int margin=kVeneerDistanceMargin) |
void | EmitVeneersGuard () |
void | CheckVeneerPool (bool force_emit, bool require_jump, int margin=kVeneerDistanceMargin) |
void | LoadRelocated (const CPURegister &rt, const Operand &operand) |
Assembler (Isolate *isolate, void *buffer, int buffer_size) | |
virtual | ~Assembler () |
void | GetCode (CodeDesc *desc) |
void | Align (int m) |
void | Nop (int bytes=1) |
void | CodeTargetAlign () |
void | pushad () |
void | popad () |
void | pushfd () |
void | popfd () |
void | push (const Immediate &x) |
void | push_imm32 (int32_t imm32) |
void | push (Register src) |
void | push (const Operand &src) |
void | pop (Register dst) |
void | pop (const Operand &dst) |
void | enter (const Immediate &size) |
void | leave () |
void | mov_b (Register dst, Register src) |
void | mov_b (Register dst, const Operand &src) |
void | mov_b (Register dst, int8_t imm8) |
void | mov_b (const Operand &dst, int8_t imm8) |
void | mov_b (const Operand &dst, Register src) |
void | mov_w (Register dst, const Operand &src) |
void | mov_w (const Operand &dst, Register src) |
void | mov_w (const Operand &dst, int16_t imm16) |
void | mov (Register dst, int32_t imm32) |
void | mov (Register dst, const Immediate &x) |
void | mov (Register dst, Handle< Object > handle) |
void | mov (Register dst, const Operand &src) |
void | mov (Register dst, Register src) |
void | mov (const Operand &dst, const Immediate &x) |
void | mov (const Operand &dst, Handle< Object > handle) |
void | mov (const Operand &dst, Register src) |
void | movsx_b (Register dst, Register src) |
void | movsx_b (Register dst, const Operand &src) |
void | movsx_w (Register dst, Register src) |
void | movsx_w (Register dst, const Operand &src) |
void | movzx_b (Register dst, Register src) |
void | movzx_b (Register dst, const Operand &src) |
void | movzx_w (Register dst, Register src) |
void | movzx_w (Register dst, const Operand &src) |
void | cmov (Condition cc, Register dst, Register src) |
void | cmov (Condition cc, Register dst, const Operand &src) |
void | cld () |
void | rep_movs () |
void | rep_stos () |
void | stos () |
void | xchg (Register dst, Register src) |
void | adc (Register dst, int32_t imm32) |
void | adc (Register dst, const Operand &src) |
void | add (Register dst, Register src) |
void | add (Register dst, const Operand &src) |
void | add (const Operand &dst, Register src) |
void | add (Register dst, const Immediate &imm) |
void | add (const Operand &dst, const Immediate &x) |
void | and_ (Register dst, int32_t imm32) |
void | and_ (Register dst, const Immediate &x) |
void | and_ (Register dst, Register src) |
void | and_ (Register dst, const Operand &src) |
void | and_ (const Operand &dst, Register src) |
void | and_ (const Operand &dst, const Immediate &x) |
void | cmpb (Register reg, int8_t imm8) |
void | cmpb (const Operand &op, int8_t imm8) |
void | cmpb (Register reg, const Operand &op) |
void | cmpb (const Operand &op, Register reg) |
void | cmpb_al (const Operand &op) |
void | cmpw_ax (const Operand &op) |
void | cmpw (const Operand &op, Immediate imm16) |
void | cmp (Register reg, int32_t imm32) |
void | cmp (Register reg, Handle< Object > handle) |
void | cmp (Register reg0, Register reg1) |
void | cmp (Register reg, const Operand &op) |
void | cmp (Register reg, const Immediate &imm) |
void | cmp (const Operand &op, const Immediate &imm) |
void | cmp (const Operand &op, Handle< Object > handle) |
void | dec_b (Register dst) |
void | dec_b (const Operand &dst) |
void | dec (Register dst) |
void | dec (const Operand &dst) |
void | cdq () |
void | idiv (Register src) |
void | imul (Register src) |
void | imul (Register dst, Register src) |
void | imul (Register dst, const Operand &src) |
void | imul (Register dst, Register src, int32_t imm32) |
void | inc (Register dst) |
void | inc (const Operand &dst) |
void | lea (Register dst, const Operand &src) |
void | mul (Register src) |
void | neg (Register dst) |
void | not_ (Register dst) |
void | or_ (Register dst, int32_t imm32) |
void | or_ (Register dst, Register src) |
void | or_ (Register dst, const Operand &src) |
void | or_ (const Operand &dst, Register src) |
void | or_ (Register dst, const Immediate &imm) |
void | or_ (const Operand &dst, const Immediate &x) |
void | rcl (Register dst, uint8_t imm8) |
void | rcr (Register dst, uint8_t imm8) |
void | ror (Register dst, uint8_t imm8) |
void | ror_cl (Register dst) |
void | sar (Register dst, uint8_t imm8) |
void | sar_cl (Register dst) |
void | sbb (Register dst, const Operand &src) |
void | shld (Register dst, Register src) |
void | shld (Register dst, const Operand &src) |
void | shl (Register dst, uint8_t imm8) |
void | shl_cl (Register dst) |
void | shrd (Register dst, Register src) |
void | shrd (Register dst, const Operand &src) |
void | shr (Register dst, uint8_t imm8) |
void | shr_cl (Register dst) |
void | sub (Register dst, const Immediate &imm) |
void | sub (const Operand &dst, const Immediate &x) |
void | sub (Register dst, Register src) |
void | sub (Register dst, const Operand &src) |
void | sub (const Operand &dst, Register src) |
void | test (Register reg, const Immediate &imm) |
void | test (Register reg0, Register reg1) |
void | test (Register reg, const Operand &op) |
void | test_b (Register reg, const Operand &op) |
void | test (const Operand &op, const Immediate &imm) |
void | test_b (Register reg, uint8_t imm8) |
void | test_b (const Operand &op, uint8_t imm8) |
void | xor_ (Register dst, int32_t imm32) |
void | xor_ (Register dst, Register src) |
void | xor_ (Register dst, const Operand &src) |
void | xor_ (const Operand &dst, Register src) |
void | xor_ (Register dst, const Immediate &imm) |
void | xor_ (const Operand &dst, const Immediate &x) |
void | bt (const Operand &dst, Register src) |
void | bts (Register dst, Register src) |
void | bts (const Operand &dst, Register src) |
void | bsr (Register dst, Register src) |
void | bsr (Register dst, const Operand &src) |
void | hlt () |
void | int3 () |
void | nop () |
void | ret (int imm16) |
void | bind (Label *L) |
void | call (Label *L) |
void | call (byte *entry, RelocInfo::Mode rmode) |
int | CallSize (const Operand &adr) |
void | call (Register reg) |
void | call (const Operand &adr) |
int | CallSize (Handle< Code > code, RelocInfo::Mode mode) |
void | call (Handle< Code > code, RelocInfo::Mode rmode, TypeFeedbackId id=TypeFeedbackId::None()) |
void | jmp (Label *L, Label::Distance distance=Label::kFar) |
void | jmp (byte *entry, RelocInfo::Mode rmode) |
void | jmp (Register reg) |
void | jmp (const Operand &adr) |
void | jmp (Handle< Code > code, RelocInfo::Mode rmode) |
void | j (Condition cc, Label *L, Label::Distance distance=Label::kFar) |
void | j (Condition cc, byte *entry, RelocInfo::Mode rmode) |
void | j (Condition cc, Handle< Code > code) |
void | fld (int i) |
void | fstp (int i) |
void | fld1 () |
void | fldz () |
void | fldpi () |
void | fldln2 () |
void | fld_s (const Operand &adr) |
void | fld_d (const Operand &adr) |
void | fstp_s (const Operand &adr) |
void | fst_s (const Operand &adr) |
void | fstp_d (const Operand &adr) |
void | fst_d (const Operand &adr) |
void | fild_s (const Operand &adr) |
void | fild_d (const Operand &adr) |
void | fist_s (const Operand &adr) |
void | fistp_s (const Operand &adr) |
void | fistp_d (const Operand &adr) |
void | fisttp_s (const Operand &adr) |
void | fisttp_d (const Operand &adr) |
void | fabs () |
void | fchs () |
void | fcos () |
void | fsin () |
void | fptan () |
void | fyl2x () |
void | f2xm1 () |
void | fscale () |
void | fninit () |
void | fadd (int i) |
void | fadd_i (int i) |
void | fsub (int i) |
void | fsub_i (int i) |
void | fmul (int i) |
void | fmul_i (int i) |
void | fdiv (int i) |
void | fdiv_i (int i) |
void | fisub_s (const Operand &adr) |
void | faddp (int i=1) |
void | fsubp (int i=1) |
void | fsubrp (int i=1) |
void | fmulp (int i=1) |
void | fdivp (int i=1) |
void | fprem () |
void | fprem1 () |
void | fxch (int i=1) |
void | fincstp () |
void | ffree (int i=0) |
void | ftst () |
void | fucomp (int i) |
void | fucompp () |
void | fucomi (int i) |
void | fucomip () |
void | fcompp () |
void | fnstsw_ax () |
void | fwait () |
void | fnclex () |
void | frndint () |
void | sahf () |
void | setcc (Condition cc, Register reg) |
void | cpuid () |
void | movaps (XMMRegister dst, XMMRegister src) |
void | shufps (XMMRegister dst, XMMRegister src, byte imm8) |
void | andps (XMMRegister dst, const Operand &src) |
void | andps (XMMRegister dst, XMMRegister src) |
void | xorps (XMMRegister dst, const Operand &src) |
void | xorps (XMMRegister dst, XMMRegister src) |
void | orps (XMMRegister dst, const Operand &src) |
void | orps (XMMRegister dst, XMMRegister src) |
void | addps (XMMRegister dst, const Operand &src) |
void | addps (XMMRegister dst, XMMRegister src) |
void | subps (XMMRegister dst, const Operand &src) |
void | subps (XMMRegister dst, XMMRegister src) |
void | mulps (XMMRegister dst, const Operand &src) |
void | mulps (XMMRegister dst, XMMRegister src) |
void | divps (XMMRegister dst, const Operand &src) |
void | divps (XMMRegister dst, XMMRegister src) |
void | cvttss2si (Register dst, const Operand &src) |
void | cvttss2si (Register dst, XMMRegister src) |
void | cvttsd2si (Register dst, const Operand &src) |
void | cvtsd2si (Register dst, XMMRegister src) |
void | cvtsi2sd (XMMRegister dst, Register src) |
void | cvtsi2sd (XMMRegister dst, const Operand &src) |
void | cvtss2sd (XMMRegister dst, XMMRegister src) |
void | cvtsd2ss (XMMRegister dst, XMMRegister src) |
void | addsd (XMMRegister dst, XMMRegister src) |
void | addsd (XMMRegister dst, const Operand &src) |
void | subsd (XMMRegister dst, XMMRegister src) |
void | mulsd (XMMRegister dst, XMMRegister src) |
void | mulsd (XMMRegister dst, const Operand &src) |
void | divsd (XMMRegister dst, XMMRegister src) |
void | xorpd (XMMRegister dst, XMMRegister src) |
void | sqrtsd (XMMRegister dst, XMMRegister src) |
void | andpd (XMMRegister dst, XMMRegister src) |
void | orpd (XMMRegister dst, XMMRegister src) |
void | ucomisd (XMMRegister dst, XMMRegister src) |
void | ucomisd (XMMRegister dst, const Operand &src) |
void | roundsd (XMMRegister dst, XMMRegister src, RoundingMode mode) |
void | movmskpd (Register dst, XMMRegister src) |
void | movmskps (Register dst, XMMRegister src) |
void | cmpltsd (XMMRegister dst, XMMRegister src) |
void | pcmpeqd (XMMRegister dst, XMMRegister src) |
void | movdqa (XMMRegister dst, const Operand &src) |
void | movdqa (const Operand &dst, XMMRegister src) |
void | movdqu (XMMRegister dst, const Operand &src) |
void | movdqu (const Operand &dst, XMMRegister src) |
void | movdq (bool aligned, XMMRegister dst, const Operand &src) |
void | movd (XMMRegister dst, Register src) |
void | movd (XMMRegister dst, const Operand &src) |
void | movd (Register dst, XMMRegister src) |
void | movd (const Operand &dst, XMMRegister src) |
void | movsd (XMMRegister dst, XMMRegister src) |
void | movsd (XMMRegister dst, const Operand &src) |
void | movsd (const Operand &dst, XMMRegister src) |
void | movss (XMMRegister dst, const Operand &src) |
void | movss (const Operand &dst, XMMRegister src) |
void | movss (XMMRegister dst, XMMRegister src) |
void | extractps (Register dst, XMMRegister src, byte imm8) |
void | pand (XMMRegister dst, XMMRegister src) |
void | pxor (XMMRegister dst, XMMRegister src) |
void | por (XMMRegister dst, XMMRegister src) |
void | ptest (XMMRegister dst, XMMRegister src) |
void | psllq (XMMRegister reg, int8_t shift) |
void | psllq (XMMRegister dst, XMMRegister src) |
void | psrlq (XMMRegister reg, int8_t shift) |
void | psrlq (XMMRegister dst, XMMRegister src) |
void | pshufd (XMMRegister dst, XMMRegister src, uint8_t shuffle) |
void | pextrd (Register dst, XMMRegister src, int8_t offset) |
void | pextrd (const Operand &dst, XMMRegister src, int8_t offset) |
void | pinsrd (XMMRegister dst, Register src, int8_t offset) |
void | pinsrd (XMMRegister dst, const Operand &src, int8_t offset) |
void | movntdqa (XMMRegister dst, const Operand &src) |
void | movntdq (const Operand &dst, XMMRegister src) |
void | prefetch (const Operand &src, int level) |
void | Print () |
int | SizeOfCodeGeneratedSince (Label *label) |
void | RecordJSReturn () |
void | RecordDebugBreakSlot () |
void | RecordComment (const char *msg, bool force=false) |
void | db (uint8_t data) |
void | dd (uint32_t data) |
bool | buffer_overflow () const |
int | available_space () const |
PositionsRecorder * | positions_recorder () |
int | relocation_writer_size () |
byte | byte_at (int pos) |
void | set_byte_at (int pos, byte value) |
MaybeObject * | AllocateConstantPool (Heap *heap) |
void | PopulateConstantPool (ConstantPoolArray *constant_pool) |
Assembler (Isolate *isolate, void *buffer, int buffer_size) | |
virtual | ~Assembler () |
void | GetCode (CodeDesc *desc) |
void | bind (Label *L) |
bool | is_near (Label *L) |
int32_t | branch_offset (Label *L, bool jump_elimination_allowed) |
int32_t | shifted_branch_offset (Label *L, bool jump_elimination_allowed) |
uint32_t | jump_address (Label *L) |
void | label_at_put (Label *L, int at_offset) |
INLINE (static Address target_address_at(Address pc, ConstantPoolArray *constant_pool)) | |
INLINE (static void set_target_address_at(Address pc, ConstantPoolArray *constant_pool, Address target)) | |
INLINE (static Address target_address_at(Address pc, Code *code)) | |
INLINE (static void set_target_address_at(Address pc, Code *code, Address target)) | |
void | Align (int m) |
void | CodeTargetAlign () |
void | nop (unsigned int type=0) |
void | b (int16_t offset) |
void | b (Label *L) |
void | bal (int16_t offset) |
void | bal (Label *L) |
void | beq (Register rs, Register rt, int16_t offset) |
void | beq (Register rs, Register rt, Label *L) |
void | bgez (Register rs, int16_t offset) |
void | bgezal (Register rs, int16_t offset) |
void | bgtz (Register rs, int16_t offset) |
void | blez (Register rs, int16_t offset) |
void | bltz (Register rs, int16_t offset) |
void | bltzal (Register rs, int16_t offset) |
void | bne (Register rs, Register rt, int16_t offset) |
void | bne (Register rs, Register rt, Label *L) |
void | j (int32_t target) |
void | jal (int32_t target) |
void | jalr (Register rs, Register rd=ra) |
void | jr (Register target) |
void | j_or_jr (int32_t target, Register rs) |
void | jal_or_jalr (int32_t target, Register rs) |
void | addu (Register rd, Register rs, Register rt) |
void | subu (Register rd, Register rs, Register rt) |
void | mult (Register rs, Register rt) |
void | multu (Register rs, Register rt) |
void | div (Register rs, Register rt) |
void | divu (Register rs, Register rt) |
void | mul (Register rd, Register rs, Register rt) |
void | addiu (Register rd, Register rs, int32_t j) |
void | and_ (Register rd, Register rs, Register rt) |
void | or_ (Register rd, Register rs, Register rt) |
void | xor_ (Register rd, Register rs, Register rt) |
void | nor (Register rd, Register rs, Register rt) |
void | andi (Register rd, Register rs, int32_t j) |
void | ori (Register rd, Register rs, int32_t j) |
void | xori (Register rd, Register rs, int32_t j) |
void | lui (Register rd, int32_t j) |
void | sll (Register rd, Register rt, uint16_t sa, bool coming_from_nop=false) |
void | sllv (Register rd, Register rt, Register rs) |
void | srl (Register rd, Register rt, uint16_t sa) |
void | srlv (Register rd, Register rt, Register rs) |
void | sra (Register rt, Register rd, uint16_t sa) |
void | srav (Register rt, Register rd, Register rs) |
void | rotr (Register rd, Register rt, uint16_t sa) |
void | rotrv (Register rd, Register rt, Register rs) |
void | lb (Register rd, const MemOperand &rs) |
void | lbu (Register rd, const MemOperand &rs) |
void | lh (Register rd, const MemOperand &rs) |
void | lhu (Register rd, const MemOperand &rs) |
void | lw (Register rd, const MemOperand &rs) |
void | lwl (Register rd, const MemOperand &rs) |
void | lwr (Register rd, const MemOperand &rs) |
void | sb (Register rd, const MemOperand &rs) |
void | sh (Register rd, const MemOperand &rs) |
void | sw (Register rd, const MemOperand &rs) |
void | swl (Register rd, const MemOperand &rs) |
void | swr (Register rd, const MemOperand &rs) |
void | pref (int32_t hint, const MemOperand &rs) |
void | break_ (uint32_t code, bool break_as_stop=false) |
void | stop (const char *msg, uint32_t code=kMaxStopCode) |
void | tge (Register rs, Register rt, uint16_t code) |
void | tgeu (Register rs, Register rt, uint16_t code) |
void | tlt (Register rs, Register rt, uint16_t code) |
void | tltu (Register rs, Register rt, uint16_t code) |
void | teq (Register rs, Register rt, uint16_t code) |
void | tne (Register rs, Register rt, uint16_t code) |
void | mfhi (Register rd) |
void | mflo (Register rd) |
void | slt (Register rd, Register rs, Register rt) |
void | sltu (Register rd, Register rs, Register rt) |
void | slti (Register rd, Register rs, int32_t j) |
void | sltiu (Register rd, Register rs, int32_t j) |
void | movz (Register rd, Register rs, Register rt) |
void | movn (Register rd, Register rs, Register rt) |
void | movt (Register rd, Register rs, uint16_t cc=0) |
void | movf (Register rd, Register rs, uint16_t cc=0) |
void | clz (Register rd, Register rs) |
void | ins_ (Register rt, Register rs, uint16_t pos, uint16_t size) |
void | ext_ (Register rt, Register rs, uint16_t pos, uint16_t size) |
void | lwc1 (FPURegister fd, const MemOperand &src) |
void | ldc1 (FPURegister fd, const MemOperand &src) |
void | swc1 (FPURegister fs, const MemOperand &dst) |
void | sdc1 (FPURegister fs, const MemOperand &dst) |
void | mtc1 (Register rt, FPURegister fs) |
void | mfc1 (Register rt, FPURegister fs) |
void | ctc1 (Register rt, FPUControlRegister fs) |
void | cfc1 (Register rt, FPUControlRegister fs) |
void | add_d (FPURegister fd, FPURegister fs, FPURegister ft) |
void | sub_d (FPURegister fd, FPURegister fs, FPURegister ft) |
void | mul_d (FPURegister fd, FPURegister fs, FPURegister ft) |
void | madd_d (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft) |
void | div_d (FPURegister fd, FPURegister fs, FPURegister ft) |
void | abs_d (FPURegister fd, FPURegister fs) |
void | mov_d (FPURegister fd, FPURegister fs) |
void | neg_d (FPURegister fd, FPURegister fs) |
void | sqrt_d (FPURegister fd, FPURegister fs) |
void | cvt_w_s (FPURegister fd, FPURegister fs) |
void | cvt_w_d (FPURegister fd, FPURegister fs) |
void | trunc_w_s (FPURegister fd, FPURegister fs) |
void | trunc_w_d (FPURegister fd, FPURegister fs) |
void | round_w_s (FPURegister fd, FPURegister fs) |
void | round_w_d (FPURegister fd, FPURegister fs) |
void | floor_w_s (FPURegister fd, FPURegister fs) |
void | floor_w_d (FPURegister fd, FPURegister fs) |
void | ceil_w_s (FPURegister fd, FPURegister fs) |
void | ceil_w_d (FPURegister fd, FPURegister fs) |
void | cvt_l_s (FPURegister fd, FPURegister fs) |
void | cvt_l_d (FPURegister fd, FPURegister fs) |
void | trunc_l_s (FPURegister fd, FPURegister fs) |
void | trunc_l_d (FPURegister fd, FPURegister fs) |
void | round_l_s (FPURegister fd, FPURegister fs) |
void | round_l_d (FPURegister fd, FPURegister fs) |
void | floor_l_s (FPURegister fd, FPURegister fs) |
void | floor_l_d (FPURegister fd, FPURegister fs) |
void | ceil_l_s (FPURegister fd, FPURegister fs) |
void | ceil_l_d (FPURegister fd, FPURegister fs) |
void | cvt_s_w (FPURegister fd, FPURegister fs) |
void | cvt_s_l (FPURegister fd, FPURegister fs) |
void | cvt_s_d (FPURegister fd, FPURegister fs) |
void | cvt_d_w (FPURegister fd, FPURegister fs) |
void | cvt_d_l (FPURegister fd, FPURegister fs) |
void | cvt_d_s (FPURegister fd, FPURegister fs) |
void | c (FPUCondition cond, SecondaryField fmt, FPURegister ft, FPURegister fs, uint16_t cc=0) |
void | bc1f (int16_t offset, uint16_t cc=0) |
void | bc1f (Label *L, uint16_t cc=0) |
void | bc1t (int16_t offset, uint16_t cc=0) |
void | bc1t (Label *L, uint16_t cc=0) |
void | fcmp (FPURegister src1, const double src2, FPUCondition cond) |
int | SizeOfCodeGeneratedSince (Label *label) |
int | InstructionsGeneratedSince (Label *label) |
void | RecordJSReturn () |
void | RecordDebugBreakSlot () |
void | SetRecordedAstId (TypeFeedbackId ast_id) |
TypeFeedbackId | RecordedAstId () |
void | ClearRecordedAstId () |
void | RecordComment (const char *msg) |
void | db (uint8_t data) |
void | dd (uint32_t data) |
void | emit_code_stub_address (Code *stub) |
PositionsRecorder * | positions_recorder () |
void | BlockTrampolinePoolFor (int instructions) |
bool | overflow () const |
int | available_space () const |
Instr | instr_at (int pos) |
void | instr_at_put (int pos, Instr instr) |
void | CheckTrampolinePool () |
MaybeObject * | AllocateConstantPool (Heap *heap) |
void | PopulateConstantPool (ConstantPoolArray *constant_pool) |
Assembler (Isolate *isolate, void *buffer, int buffer_size) | |
virtual | ~Assembler () |
void | GetCode (CodeDesc *desc) |
Handle< Object > | code_target_object_handle_at (Address pc) |
Address | runtime_entry_at (Address pc) |
void | Align (int m) |
void | Nop (int bytes=1) |
void | CodeTargetAlign () |
void | pushfq () |
void | popfq () |
void | pushq (Immediate value) |
void | pushq_imm32 (int32_t imm32) |
void | pushq (Register src) |
void | pushq (const Operand &src) |
void | popq (Register dst) |
void | popq (const Operand &dst) |
void | enter (Immediate size) |
void | leave () |
void | movb (Register dst, const Operand &src) |
void | movb (Register dst, Immediate imm) |
void | movb (const Operand &dst, Register src) |
void | movb (const Operand &dst, Immediate imm) |
void | movw (Register dst, const Operand &src) |
void | movw (const Operand &dst, Register src) |
void | movw (const Operand &dst, Immediate imm) |
void | movl (const Operand &dst, Label *src) |
void | movp (Register dst, void *ptr, RelocInfo::Mode rmode) |
void | movq (Register dst, int64_t value) |
void | movq (Register dst, uint64_t value) |
void | movsxbq (Register dst, const Operand &src) |
void | movsxwq (Register dst, const Operand &src) |
void | movsxlq (Register dst, Register src) |
void | movsxlq (Register dst, const Operand &src) |
void | repmovsb () |
void | repmovsw () |
void | repmovsp () |
void | repmovsl () |
void | repmovsq () |
void | load_rax (void *ptr, RelocInfo::Mode rmode) |
void | load_rax (ExternalReference ext) |
void | cmovq (Condition cc, Register dst, Register src) |
void | cmovq (Condition cc, Register dst, const Operand &src) |
void | cmovl (Condition cc, Register dst, Register src) |
void | cmovl (Condition cc, Register dst, const Operand &src) |
void | cmpb (Register dst, Immediate src) |
void | cmpb_al (Immediate src) |
void | cmpb (Register dst, Register src) |
void | cmpb (Register dst, const Operand &src) |
void | cmpb (const Operand &dst, Register src) |
void | cmpb (const Operand &dst, Immediate src) |
void | cmpw (const Operand &dst, Immediate src) |
void | cmpw (Register dst, Immediate src) |
void | cmpw (Register dst, const Operand &src) |
void | cmpw (Register dst, Register src) |
void | cmpw (const Operand &dst, Register src) |
void | andb (Register dst, Immediate src) |
void | decb (Register dst) |
void | decb (const Operand &dst) |
void | cqo () |
void | cdq () |
void | mul (Register src) |
void | rcl (Register dst, Immediate imm8) |
void | rol (Register dst, Immediate imm8) |
void | roll (Register dst, Immediate imm8) |
void | rcr (Register dst, Immediate imm8) |
void | ror (Register dst, Immediate imm8) |
void | rorl (Register dst, Immediate imm8) |
void | rorl_cl (Register dst) |
void | shld (Register dst, Register src) |
void | shrd (Register dst, Register src) |
void | sar (Register dst, Immediate shift_amount) |
void | sarl (Register dst, Immediate shift_amount) |
void | sar_cl (Register dst) |
void | sarl_cl (Register dst) |
void | shl (Register dst, Immediate shift_amount) |
void | shl_cl (Register dst) |
void | shll_cl (Register dst) |
void | shll (Register dst, Immediate shift_amount) |
void | shr (Register dst, Immediate shift_amount) |
void | shr_cl (Register dst) |
void | shrl_cl (Register dst) |
void | shrl (Register dst, Immediate shift_amount) |
void | store_rax (void *dst, RelocInfo::Mode mode) |
void | store_rax (ExternalReference ref) |
void | subb (Register dst, Immediate src) |
void | testb (Register dst, Register src) |
void | testb (Register reg, Immediate mask) |
void | testb (const Operand &op, Immediate mask) |
void | testb (const Operand &op, Register reg) |
void | bt (const Operand &dst, Register src) |
void | bts (const Operand &dst, Register src) |
void | bsrl (Register dst, Register src) |
void | clc () |
void | cld () |
void | cpuid () |
void | hlt () |
void | int3 () |
void | nop () |
void | ret (int imm16) |
void | setcc (Condition cc, Register reg) |
void | bind (Label *L) |
void | call (Label *L) |
void | call (Address entry, RelocInfo::Mode rmode) |
void | call (Handle< Code > target, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, TypeFeedbackId ast_id=TypeFeedbackId::None()) |
void | call (Address target) |
void | call (Register adr) |
void | jmp (Label *L, Label::Distance distance=Label::kFar) |
void | jmp (Address entry, RelocInfo::Mode rmode) |
void | jmp (Handle< Code > target, RelocInfo::Mode rmode) |
void | jmp (Register adr) |
void | j (Condition cc, Label *L, Label::Distance distance=Label::kFar) |
void | j (Condition cc, Address entry, RelocInfo::Mode rmode) |
void | j (Condition cc, Handle< Code > target, RelocInfo::Mode rmode) |
void | fld (int i) |
void | fld1 () |
void | fldz () |
void | fldpi () |
void | fldln2 () |
void | fld_s (const Operand &adr) |
void | fld_d (const Operand &adr) |
void | fstp_s (const Operand &adr) |
void | fstp_d (const Operand &adr) |
void | fstp (int index) |
void | fild_s (const Operand &adr) |
void | fild_d (const Operand &adr) |
void | fist_s (const Operand &adr) |
void | fistp_s (const Operand &adr) |
void | fistp_d (const Operand &adr) |
void | fisttp_s (const Operand &adr) |
void | fisttp_d (const Operand &adr) |
void | fabs () |
void | fchs () |
void | fadd (int i) |
void | fsub (int i) |
void | fmul (int i) |
void | fdiv (int i) |
void | fisub_s (const Operand &adr) |
void | faddp (int i=1) |
void | fsubp (int i=1) |
void | fsubrp (int i=1) |
void | fmulp (int i=1) |
void | fdivp (int i=1) |
void | fprem () |
void | fprem1 () |
void | fxch (int i=1) |
void | fincstp () |
void | ffree (int i=0) |
void | ftst () |
void | fucomp (int i) |
void | fucompp () |
void | fucomi (int i) |
void | fucomip () |
void | fcompp () |
void | fnstsw_ax () |
void | fwait () |
void | fnclex () |
void | fsin () |
void | fcos () |
void | fptan () |
void | fyl2x () |
void | f2xm1 () |
void | fscale () |
void | fninit () |
void | frndint () |
void | sahf () |
void | movaps (XMMRegister dst, XMMRegister src) |
void | movss (XMMRegister dst, const Operand &src) |
void | movss (const Operand &dst, XMMRegister src) |
void | shufps (XMMRegister dst, XMMRegister src, byte imm8) |
void | cvttss2si (Register dst, const Operand &src) |
void | cvttss2si (Register dst, XMMRegister src) |
void | cvtlsi2ss (XMMRegister dst, Register src) |
void | andps (XMMRegister dst, XMMRegister src) |
void | andps (XMMRegister dst, const Operand &src) |
void | orps (XMMRegister dst, XMMRegister src) |
void | orps (XMMRegister dst, const Operand &src) |
void | xorps (XMMRegister dst, XMMRegister src) |
void | xorps (XMMRegister dst, const Operand &src) |
void | addps (XMMRegister dst, XMMRegister src) |
void | addps (XMMRegister dst, const Operand &src) |
void | subps (XMMRegister dst, XMMRegister src) |
void | subps (XMMRegister dst, const Operand &src) |
void | mulps (XMMRegister dst, XMMRegister src) |
void | mulps (XMMRegister dst, const Operand &src) |
void | divps (XMMRegister dst, XMMRegister src) |
void | divps (XMMRegister dst, const Operand &src) |
void | movmskps (Register dst, XMMRegister src) |
void | movd (XMMRegister dst, Register src) |
void | movd (Register dst, XMMRegister src) |
void | movq (XMMRegister dst, Register src) |
void | movq (Register dst, XMMRegister src) |
void | movq (XMMRegister dst, XMMRegister src) |
void | movsd (XMMRegister dst, XMMRegister src) |
void | movsd (const Operand &dst, XMMRegister src) |
void | movsd (XMMRegister dst, const Operand &src) |
void | movdqa (const Operand &dst, XMMRegister src) |
void | movdqa (XMMRegister dst, const Operand &src) |
void | movdqu (const Operand &dst, XMMRegister src) |
void | movdqu (XMMRegister dst, const Operand &src) |
void | movapd (XMMRegister dst, XMMRegister src) |
void | psllq (XMMRegister reg, byte imm8) |
void | cvttsd2si (Register dst, const Operand &src) |
void | cvttsd2si (Register dst, XMMRegister src) |
void | cvttsd2siq (Register dst, XMMRegister src) |
void | cvtlsi2sd (XMMRegister dst, const Operand &src) |
void | cvtlsi2sd (XMMRegister dst, Register src) |
void | cvtqsi2sd (XMMRegister dst, const Operand &src) |
void | cvtqsi2sd (XMMRegister dst, Register src) |
void | cvtss2sd (XMMRegister dst, XMMRegister src) |
void | cvtss2sd (XMMRegister dst, const Operand &src) |
void | cvtsd2ss (XMMRegister dst, XMMRegister src) |
void | cvtsd2si (Register dst, XMMRegister src) |
void | cvtsd2siq (Register dst, XMMRegister src) |
void | addsd (XMMRegister dst, XMMRegister src) |
void | addsd (XMMRegister dst, const Operand &src) |
void | subsd (XMMRegister dst, XMMRegister src) |
void | mulsd (XMMRegister dst, XMMRegister src) |
void | mulsd (XMMRegister dst, const Operand &src) |
void | divsd (XMMRegister dst, XMMRegister src) |
void | andpd (XMMRegister dst, XMMRegister src) |
void | orpd (XMMRegister dst, XMMRegister src) |
void | xorpd (XMMRegister dst, XMMRegister src) |
void | sqrtsd (XMMRegister dst, XMMRegister src) |
void | ucomisd (XMMRegister dst, XMMRegister src) |
void | ucomisd (XMMRegister dst, const Operand &src) |
void | cmpltsd (XMMRegister dst, XMMRegister src) |
void | movmskpd (Register dst, XMMRegister src) |
void | extractps (Register dst, XMMRegister src, byte imm8) |
void | roundsd (XMMRegister dst, XMMRegister src, RoundingMode mode) |
void | Print () |
int | SizeOfCodeGeneratedSince (Label *label) |
void | RecordJSReturn () |
void | RecordDebugBreakSlot () |
void | RecordComment (const char *msg, bool force=false) |
MaybeObject * | AllocateConstantPool (Heap *heap) |
void | PopulateConstantPool (ConstantPoolArray *constant_pool) |
void | db (uint8_t data) |
void | dd (uint32_t data) |
PositionsRecorder * | positions_recorder () |
bool | buffer_overflow () const |
int | available_space () const |
byte | byte_at (int pos) |
void | set_byte_at (int pos, byte value) |
Public Member Functions inherited from AssemblerBase | |
AssemblerBase (Isolate *isolate, void *buffer, int buffer_size) | |
virtual | ~AssemblerBase () |
Isolate * | isolate () const |
int | jit_cookie () const |
bool | emit_debug_code () const |
void | set_emit_debug_code (bool value) |
bool | predictable_code_size () const |
void | set_predictable_code_size (bool value) |
uint64_t | enabled_cpu_features () const |
void | set_enabled_cpu_features (uint64_t features) |
bool | IsEnabled (CpuFeature f) |
int | pc_offset () const |
Public Member Functions inherited from Malloced | |
void * | operator new (size_t size) |
void | operator delete (void *p) |
Definition at line 2186 of file assembler-arm64.h.
|
inline |
Definition at line 2196 of file assembler-arm64.h.
References Assembler::StartBlockPools().
|
inline |
Definition at line 2203 of file assembler-arm64.h.
References Assembler::StartBlockPools().
|
inline |
Definition at line 2209 of file assembler-arm64.h.
References ASSERT, AssemblerBase::buffer_, AssemblerBase::buffer_size_, Assembler::EndBlockPools(), Assembler::is_const_pool_blocked(), Assembler::num_pending_reloc_info(), and AssemblerBase::pc_offset().