V8 Project
v8::internal::Assembler Class Reference

#include <assembler-arm.h>

+ Inheritance diagram for v8::internal::Assembler:
+ Collaboration diagram for v8::internal::Assembler:

Classes

class  BlockConstPoolScope
 
class  BlockGrowBufferScope
 
class  BlockPoolsScope
 
class  BlockTrampolinePoolScope
 
class  FarBranchInfo
 
class  Trampoline
 

Public Types

enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , CODE_AGE_MARKER_NOP = 6 ,
  CODE_AGE_SEQUENCE_NOP , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED ,
  PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED ,
  CODE_AGE_MARKER_NOP = 6 , CODE_AGE_SEQUENCE_NOP
}
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , CODE_AGE_MARKER_NOP = 6 ,
  CODE_AGE_SEQUENCE_NOP , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED ,
  PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED ,
  CODE_AGE_MARKER_NOP = 6 , CODE_AGE_SEQUENCE_NOP
}
 
enum  RoundingMode {
  kRoundToNearest = 0x0 , kRoundDown = 0x1 , kRoundUp = 0x2 , kRoundToZero = 0x3 ,
  kRoundToNearest = 0x0 , kRoundDown = 0x1 , kRoundUp = 0x2 , kRoundToZero = 0x3
}
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , CODE_AGE_MARKER_NOP = 6 ,
  CODE_AGE_SEQUENCE_NOP , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED ,
  PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED ,
  CODE_AGE_MARKER_NOP = 6 , CODE_AGE_SEQUENCE_NOP
}
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , CODE_AGE_MARKER_NOP = 6 ,
  CODE_AGE_SEQUENCE_NOP , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED ,
  PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED ,
  CODE_AGE_MARKER_NOP = 6 , CODE_AGE_SEQUENCE_NOP
}
 
enum  RoundingMode {
  kRoundToNearest = 0x0 , kRoundDown = 0x1 , kRoundUp = 0x2 , kRoundToZero = 0x3 ,
  kRoundToNearest = 0x0 , kRoundDown = 0x1 , kRoundUp = 0x2 , kRoundToZero = 0x3
}
 

Public Member Functions

 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 bool is_constant_pool_load(Address pc))
 
 INLINE (static Address constant_pool_entry_address(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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED))
 
 INLINE (static Address target_address_at(Address pc, Code *code))
 
 INLINE (static void set_target_address_at(Address pc, Code *code, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED))
 
 INLINE (static Address target_address_from_return_address(Address pc))
 
 INLINE (static Address return_address_from_call_start(Address pc))
 
 INLINE (static Address break_address_from_return_address(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 asr (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void lsl (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void lsr (Register dst, Register src1, const Operand &src2, 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 udiv (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 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)
 
PositionsRecorderpositions_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)
 
Handle< ConstantPoolArrayNewConstantPool (Isolate *isolate)
 
void PopulateConstantPool (ConstantPoolArray *constant_pool)
 
bool is_constant_pool_available () const
 
bool use_extended_constant_pool () const
 
 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 EmitPoolGuard ()
 
void StartBlockVeneerPool ()
 
void EndBlockVeneerPool ()
 
bool is_veneer_pool_blocked () const
 
void StartBlockPools ()
 
void EndBlockPools ()
 
PositionsRecorderpositions_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 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_pcrel (const CPURegister &rt, int imm19)
 
void ldr (const CPURegister &rt, const Immediate &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 frintm (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)
 
bool IsConstPoolEmpty () const
 
Instructionpc () const
 
InstructionInstructionAt (int offset) const
 
ptrdiff_t InstructionOffset (Instruction *instr) const
 
void CheckConstPool (bool force_emit, bool require_jump)
 
Handle< ConstantPoolArrayNewConstantPool (Isolate *isolate)
 
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)
 
 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 xchg (Register dst, const Operand &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 idiv (const Operand &src)
 
void div (Register src)
 
void div (const Operand &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 imul (Register dst, const Operand &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 neg (const Operand &dst)
 
void not_ (Register dst)
 
void not_ (const Operand &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 (const Operand &dst, uint8_t imm8)
 
void sar_cl (Register dst)
 
void sar_cl (const Operand &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 (const Operand &dst, uint8_t imm8)
 
void shl_cl (Register dst)
 
void shl_cl (const Operand &dst)
 
void shrd (Register dst, Register src)
 
void shrd (Register dst, const Operand &src)
 
void shr (Register dst, uint8_t imm8)
 
void shr (const Operand &dst, uint8_t imm8)
 
void shr_cl (Register dst)
 
void shr_cl (const Operand &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 cvttsd2si (Register dst, XMMRegister 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 subsd (XMMRegister dst, const Operand &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 sqrtsd (XMMRegister dst, const Operand &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)
 
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
 
PositionsRecorderpositions_recorder ()
 
int relocation_writer_size ()
 
byte byte_at (int pos)
 
void set_byte_at (int pos, byte value)
 
Handle< ConstantPoolArrayNewConstantPool (Isolate *isolate)
 
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 branch_offset_compact (Label *L, bool jump_elimination_allowed)
 
int32_t branch_offset21 (Label *L, bool jump_elimination_allowed)
 
int32_t branch_offset21_compact (Label *L, bool jump_elimination_allowed)
 
int32_t shifted_branch_offset (Label *L, bool jump_elimination_allowed)
 
int32_t shifted_branch_offset_compact (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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED))
 
 INLINE (static Address target_address_at(Address pc, Code *code))
 
 INLINE (static void set_target_address_at(Address pc, Code *code, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED))
 
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 bgezc (Register rt, int16_t offset)
 
void bgezc (Register rt, Label *L)
 
void bgeuc (Register rs, Register rt, int16_t offset)
 
void bgeuc (Register rs, Register rt, Label *L)
 
void bgec (Register rs, Register rt, int16_t offset)
 
void bgec (Register rs, Register rt, Label *L)
 
void bgezal (Register rs, int16_t offset)
 
void bgezalc (Register rt, int16_t offset)
 
void bgezalc (Register rt, Label *L)
 
void bgezall (Register rs, int16_t offset)
 
void bgezall (Register rs, Label *L)
 
void bgtz (Register rs, int16_t offset)
 
void bgtzc (Register rt, int16_t offset)
 
void bgtzc (Register rt, Label *L)
 
void blez (Register rs, int16_t offset)
 
void blezc (Register rt, int16_t offset)
 
void blezc (Register rt, Label *L)
 
void bltz (Register rs, int16_t offset)
 
void bltzc (Register rt, int16_t offset)
 
void bltzc (Register rt, Label *L)
 
void bltuc (Register rs, Register rt, int16_t offset)
 
void bltuc (Register rs, Register rt, Label *L)
 
void bltc (Register rs, Register rt, int16_t offset)
 
void bltc (Register rs, Register rt, Label *L)
 
void bltzal (Register rs, int16_t offset)
 
void blezalc (Register rt, int16_t offset)
 
void blezalc (Register rt, Label *L)
 
void bltzalc (Register rt, int16_t offset)
 
void bltzalc (Register rt, Label *L)
 
void bgtzalc (Register rt, int16_t offset)
 
void bgtzalc (Register rt, Label *L)
 
void beqzalc (Register rt, int16_t offset)
 
void beqzalc (Register rt, Label *L)
 
void beqc (Register rs, Register rt, int16_t offset)
 
void beqc (Register rs, Register rt, Label *L)
 
void beqzc (Register rs, int32_t offset)
 
void beqzc (Register rs, Label *L)
 
void bnezalc (Register rt, int16_t offset)
 
void bnezalc (Register rt, Label *L)
 
void bnec (Register rs, Register rt, int16_t offset)
 
void bnec (Register rs, Register rt, Label *L)
 
void bnezc (Register rt, int32_t offset)
 
void bnezc (Register rt, Label *L)
 
void bne (Register rs, Register rt, int16_t offset)
 
void bne (Register rs, Register rt, Label *L)
 
void bovc (Register rs, Register rt, int16_t offset)
 
void bovc (Register rs, Register rt, Label *L)
 
void bnvc (Register rs, Register rt, int16_t offset)
 
void bnvc (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 div (Register rd, Register rs, Register rt)
 
void divu (Register rd, Register rs, Register rt)
 
void mod (Register rd, Register rs, Register rt)
 
void modu (Register rd, Register rs, Register rt)
 
void mul (Register rd, Register rs, Register rt)
 
void muh (Register rd, Register rs, Register rt)
 
void mulu (Register rd, Register rs, Register rt)
 
void muhu (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 aui (Register rs, Register rt, 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 sel (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs, uint8_t sel)
 
void seleqz (Register rs, Register rt, Register rd)
 
void seleqz (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void selnez (Register rs, Register rt, Register rd)
 
void selnez (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
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 mthc1 (Register rt, FPURegister fs)
 
void mfc1 (Register rt, FPURegister fs)
 
void mfhc1 (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 min (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void mina (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void max (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void maxa (SecondaryField fmt, FPURegister fd, FPURegister ft, 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 cmp (FPUCondition cond, SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void bc1eqz (int16_t offset, FPURegister ft)
 
void bc1eqz (Label *L, FPURegister ft)
 
void bc1nez (int16_t offset, FPURegister ft)
 
void bc1nez (Label *L, FPURegister ft)
 
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)
 
PositionsRecorderpositions_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 ()
 
Handle< ConstantPoolArrayNewConstantPool (Isolate *isolate)
 
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 branch_offset_compact (Label *L, bool jump_elimination_allowed)
 
int32_t branch_offset21 (Label *L, bool jump_elimination_allowed)
 
int32_t branch_offset21_compact (Label *L, bool jump_elimination_allowed)
 
int32_t shifted_branch_offset (Label *L, bool jump_elimination_allowed)
 
int32_t shifted_branch_offset_compact (Label *L, bool jump_elimination_allowed)
 
uint64_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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED))
 
 INLINE (static Address target_address_at(Address pc, Code *code))
 
 INLINE (static void set_target_address_at(Address pc, Code *code, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED))
 
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 bgezc (Register rt, int16_t offset)
 
void bgezc (Register rt, Label *L)
 
void bgeuc (Register rs, Register rt, int16_t offset)
 
void bgeuc (Register rs, Register rt, Label *L)
 
void bgec (Register rs, Register rt, int16_t offset)
 
void bgec (Register rs, Register rt, Label *L)
 
void bgezal (Register rs, int16_t offset)
 
void bgezalc (Register rt, int16_t offset)
 
void bgezalc (Register rt, Label *L)
 
void bgezall (Register rs, int16_t offset)
 
void bgezall (Register rs, Label *L)
 
void bgtz (Register rs, int16_t offset)
 
void bgtzc (Register rt, int16_t offset)
 
void bgtzc (Register rt, Label *L)
 
void blez (Register rs, int16_t offset)
 
void blezc (Register rt, int16_t offset)
 
void blezc (Register rt, Label *L)
 
void bltz (Register rs, int16_t offset)
 
void bltzc (Register rt, int16_t offset)
 
void bltzc (Register rt, Label *L)
 
void bltuc (Register rs, Register rt, int16_t offset)
 
void bltuc (Register rs, Register rt, Label *L)
 
void bltc (Register rs, Register rt, int16_t offset)
 
void bltc (Register rs, Register rt, Label *L)
 
void bltzal (Register rs, int16_t offset)
 
void blezalc (Register rt, int16_t offset)
 
void blezalc (Register rt, Label *L)
 
void bltzalc (Register rt, int16_t offset)
 
void bltzalc (Register rt, Label *L)
 
void bgtzalc (Register rt, int16_t offset)
 
void bgtzalc (Register rt, Label *L)
 
void beqzalc (Register rt, int16_t offset)
 
void beqzalc (Register rt, Label *L)
 
void beqc (Register rs, Register rt, int16_t offset)
 
void beqc (Register rs, Register rt, Label *L)
 
void beqzc (Register rs, int32_t offset)
 
void beqzc (Register rs, Label *L)
 
void bnezalc (Register rt, int16_t offset)
 
void bnezalc (Register rt, Label *L)
 
void bnec (Register rs, Register rt, int16_t offset)
 
void bnec (Register rs, Register rt, Label *L)
 
void bnezc (Register rt, int32_t offset)
 
void bnezc (Register rt, Label *L)
 
void bne (Register rs, Register rt, int16_t offset)
 
void bne (Register rs, Register rt, Label *L)
 
void bovc (Register rs, Register rt, int16_t offset)
 
void bovc (Register rs, Register rt, Label *L)
 
void bnvc (Register rs, Register rt, int16_t offset)
 
void bnvc (Register rs, Register rt, Label *L)
 
void j (int64_t target)
 
void jal (int64_t target)
 
void jalr (Register rs, Register rd=ra)
 
void jr (Register target)
 
void j_or_jr (int64_t target, Register rs)
 
void jal_or_jalr (int64_t target, Register rs)
 
void addu (Register rd, Register rs, Register rt)
 
void subu (Register rd, Register rs, Register rt)
 
void div (Register rs, Register rt)
 
void divu (Register rs, Register rt)
 
void ddiv (Register rs, Register rt)
 
void ddivu (Register rs, Register rt)
 
void div (Register rd, Register rs, Register rt)
 
void divu (Register rd, Register rs, Register rt)
 
void ddiv (Register rd, Register rs, Register rt)
 
void ddivu (Register rd, Register rs, Register rt)
 
void mod (Register rd, Register rs, Register rt)
 
void modu (Register rd, Register rs, Register rt)
 
void dmod (Register rd, Register rs, Register rt)
 
void dmodu (Register rd, Register rs, Register rt)
 
void mul (Register rd, Register rs, Register rt)
 
void muh (Register rd, Register rs, Register rt)
 
void mulu (Register rd, Register rs, Register rt)
 
void muhu (Register rd, Register rs, Register rt)
 
void mult (Register rs, Register rt)
 
void multu (Register rs, Register rt)
 
void dmul (Register rd, Register rs, Register rt)
 
void dmuh (Register rd, Register rs, Register rt)
 
void dmulu (Register rd, Register rs, Register rt)
 
void dmuhu (Register rd, Register rs, Register rt)
 
void daddu (Register rd, Register rs, Register rt)
 
void dsubu (Register rd, Register rs, Register rt)
 
void dmult (Register rs, Register rt)
 
void dmultu (Register rs, Register rt)
 
void addiu (Register rd, Register rs, int32_t j)
 
void daddiu (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 aui (Register rs, Register rt, int32_t j)
 
void daui (Register rs, Register rt, int32_t j)
 
void dahi (Register rs, int32_t j)
 
void dati (Register rs, 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 dsll (Register rd, Register rt, uint16_t sa)
 
void dsllv (Register rd, Register rt, Register rs)
 
void dsrl (Register rd, Register rt, uint16_t sa)
 
void dsrlv (Register rd, Register rt, Register rs)
 
void drotr (Register rd, Register rt, uint16_t sa)
 
void drotrv (Register rd, Register rt, Register rs)
 
void dsra (Register rt, Register rd, uint16_t sa)
 
void dsrav (Register rd, Register rt, Register rs)
 
void dsll32 (Register rt, Register rd, uint16_t sa)
 
void dsrl32 (Register rt, Register rd, uint16_t sa)
 
void dsra32 (Register rt, Register rd, uint16_t sa)
 
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 lwu (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 ldl (Register rd, const MemOperand &rs)
 
void ldr (Register rd, const MemOperand &rs)
 
void sdl (Register rd, const MemOperand &rs)
 
void sdr (Register rd, const MemOperand &rs)
 
void ld (Register rd, const MemOperand &rs)
 
void sd (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 sel (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs, uint8_t sel)
 
void seleqz (Register rs, Register rt, Register rd)
 
void seleqz (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void selnez (Register rs, Register rt, Register rd)
 
void selnez (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
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 mthc1 (Register rt, FPURegister fs)
 
void dmtc1 (Register rt, FPURegister fs)
 
void mfc1 (Register rt, FPURegister fs)
 
void mfhc1 (Register rt, FPURegister fs)
 
void dmfc1 (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 min (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void mina (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void max (SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void maxa (SecondaryField fmt, FPURegister fd, FPURegister ft, 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 cmp (FPUCondition cond, SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void bc1eqz (int16_t offset, FPURegister ft)
 
void bc1eqz (Label *L, FPURegister ft)
 
void bc1nez (int16_t offset, FPURegister ft)
 
void bc1nez (Label *L, FPURegister ft)
 
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)
 
PositionsRecorderpositions_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 ()
 
Handle< ConstantPoolArrayNewConstantPool (Isolate *isolate)
 
void PopulateConstantPool (ConstantPoolArray *constant_pool)
 
 Assembler (Isolate *isolate, void *buffer, int buffer_size)
 
virtual ~Assembler ()
 
void GetCode (CodeDesc *desc)
 
Handle< Objectcode_target_object_handle_at (Address pc)
 
Address runtime_entry_at (Address pc)
 
 STATIC_ASSERT (kPointerSize==kInt64Size||kPointerSize==kInt32Size)
 
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 movsxbl (Register dst, const Operand &src)
 
void movsxbq (Register dst, const Operand &src)
 
void movsxwl (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 shld (Register dst, Register src)
 
void shrd (Register dst, Register src)
 
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 cvttsd2siq (Register dst, const Operand &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 sqrtsd (XMMRegister dst, const Operand &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)
 
Handle< ConstantPoolArrayNewConstantPool (Isolate *isolate)
 
void PopulateConstantPool (ConstantPoolArray *constant_pool)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
PositionsRecorderpositions_recorder ()
 
bool buffer_overflow () const
 
int available_space () const
 
byte byte_at (int pos)
 
void set_byte_at (int pos, byte value)
 
 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 cld ()
 
void rep_movs ()
 
void rep_stos ()
 
void stos ()
 
void xchg (Register dst, Register src)
 
void xchg (Register dst, const Operand &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 idiv (const Operand &src)
 
void div (Register src)
 
void div (const Operand &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 imul (Register dst, const Operand &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 neg (const Operand &dst)
 
void not_ (Register dst)
 
void not_ (const Operand &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 (const Operand &dst, uint8_t imm8)
 
void sar_cl (Register dst)
 
void sar_cl (const Operand &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 (const Operand &dst, uint8_t imm8)
 
void shl_cl (Register dst)
 
void shl_cl (const Operand &dst)
 
void shrd (Register dst, Register src)
 
void shrd (Register dst, const Operand &src)
 
void shr (Register dst, uint8_t imm8)
 
void shr (const Operand &dst, uint8_t imm8)
 
void shr_cl (Register dst)
 
void shr_cl (const Operand &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 fsqrt ()
 
void fcos ()
 
void fsin ()
 
void fptan ()
 
void fyl2x ()
 
void f2xm1 ()
 
void fscale ()
 
void fninit ()
 
void fadd (int i)
 
void fadd_i (int i)
 
void fadd_d (const Operand &adr)
 
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 fxam ()
 
void fucomp (int i)
 
void fucompp ()
 
void fucomi (int i)
 
void fucomip ()
 
void fcompp ()
 
void fnstsw_ax ()
 
void fldcw (const Operand &adr)
 
void fnstcw (const Operand &adr)
 
void fwait ()
 
void fnclex ()
 
void fnsave (const Operand &adr)
 
void frstor (const Operand &adr)
 
void frndint ()
 
void sahf ()
 
void setcc (Condition cc, Register reg)
 
void cpuid ()
 
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
 
PositionsRecorderpositions_recorder ()
 
int relocation_writer_size ()
 
byte byte_at (int pos)
 
void set_byte_at (int pos, byte value)
 
Handle< ConstantPoolArrayNewConstantPool (Isolate *isolate)
 
void PopulateConstantPool (ConstantPoolArray *constant_pool)
 
- Public Member Functions inherited from v8::internal::AssemblerBase
 AssemblerBase (Isolate *isolate, void *buffer, int buffer_size)
 
virtual ~AssemblerBase ()
 
Isolateisolate () const
 
int jit_cookie () const
 
bool emit_debug_code () const
 
void set_emit_debug_code (bool value)
 
bool serializer_enabled () const
 
void enable_serializer ()
 
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 v8::internal::Malloced
void * operator new (size_t size)
 
void operator delete (void *p)
 

Static Public Member Functions

static void deserialization_set_special_target_at (Address constant_pool_entry, Code *code, Address target)
 
static bool ImmediateFitsAddrMode1Instruction (int32_t imm32)
 
static Instr instr_at (byte *pc)
 
static void instr_at_put (byte *pc, Instr instr)
 
static Condition GetCondition (Instr instr)
 
static bool IsBranch (Instr instr)
 
static int GetBranchOffset (Instr instr)
 
static bool IsLdrRegisterImmediate (Instr instr)
 
static bool IsVldrDRegisterImmediate (Instr instr)
 
static Instr GetConsantPoolLoadPattern ()
 
static Instr GetConsantPoolLoadMask ()
 
static bool IsLdrPpRegOffset (Instr instr)
 
static Instr GetLdrPpRegOffsetPattern ()
 
static bool IsLdrPpImmediateOffset (Instr instr)
 
static bool IsVldrDPpImmediateOffset (Instr instr)
 
static int GetLdrRegisterImmediateOffset (Instr instr)
 
static int GetVldrDRegisterImmediateOffset (Instr instr)
 
static Instr SetLdrRegisterImmediateOffset (Instr instr, int offset)
 
static Instr SetVldrDRegisterImmediateOffset (Instr instr, int offset)
 
static bool IsStrRegisterImmediate (Instr instr)
 
static Instr SetStrRegisterImmediateOffset (Instr instr, int offset)
 
static bool IsAddRegisterImmediate (Instr instr)
 
static Instr SetAddRegisterImmediateOffset (Instr instr, int offset)
 
static Register GetRd (Instr instr)
 
static Register GetRn (Instr instr)
 
static Register GetRm (Instr instr)
 
static bool IsPush (Instr instr)
 
static bool IsPop (Instr instr)
 
static bool IsStrRegFpOffset (Instr instr)
 
static bool IsLdrRegFpOffset (Instr instr)
 
static bool IsStrRegFpNegOffset (Instr instr)
 
static bool IsLdrRegFpNegOffset (Instr instr)
 
static bool IsLdrPcImmediateOffset (Instr instr)
 
static bool IsVldrDPcImmediateOffset (Instr instr)
 
static bool IsBlxReg (Instr instr)
 
static bool IsBlxIp (Instr instr)
 
static bool IsTstImmediate (Instr instr)
 
static bool IsCmpRegister (Instr instr)
 
static bool IsCmpImmediate (Instr instr)
 
static Register GetCmpImmediateRegister (Instr instr)
 
static int GetCmpImmediateRawImmediate (Instr instr)
 
static bool IsNop (Instr instr, int type=NON_MARKING_NOP)
 
static bool IsMovImmed (Instr instr)
 
static bool IsOrrImmed (Instr instr)
 
static bool IsMovT (Instr instr)
 
static Instr GetMovTPattern ()
 
static bool IsMovW (Instr instr)
 
static Instr GetMovWPattern ()
 
static Instr EncodeMovwImmediate (uint32_t immediate)
 
static Instr PatchMovwImmediate (Instr instruction, uint32_t immediate)
 
static int DecodeShiftImm (Instr instr)
 
static Instr PatchShiftImm (Instr instr, int immed)
 
static Address target_pointer_address_at (Address pc)
 
static Address target_address_at (Address pc, ConstantPoolArray *constant_pool)
 
static void set_target_address_at (Address pc, ConstantPoolArray *constant_pool, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_at (Address pc, Code *code)
 
static void set_target_address_at (Address pc, Code *code, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static Address return_address_from_call_start (Address pc)
 
static Address break_address_from_return_address (Address pc)
 
static void deserialization_set_special_target_at (Address constant_pool_entry, Code *code, Address target)
 
static bool IsConstantPoolAt (Instruction *instr)
 
static int ConstantPoolSizeAt (Instruction *instr)
 
static Instr Rd (CPURegister rd)
 
static Instr Rn (CPURegister rn)
 
static Instr Rm (CPURegister rm)
 
static Instr Ra (CPURegister ra)
 
static Instr Rt (CPURegister rt)
 
static Instr Rt2 (CPURegister rt2)
 
static Instr RdSP (Register rd)
 
static Instr RnSP (Register rn)
 
static Instr Flags (FlagsUpdate S)
 
static Instr Cond (Condition cond)
 
static Instr ImmPCRelAddress (int imm21)
 
static Instr ImmUncondBranch (int imm26)
 
static Instr ImmCondBranch (int imm19)
 
static Instr ImmCmpBranch (int imm19)
 
static Instr ImmTestBranch (int imm14)
 
static Instr ImmTestBranchBit (unsigned bit_pos)
 
static Instr SF (Register rd)
 
static Instr ImmAddSub (int64_t imm)
 
static Instr ImmS (unsigned imms, unsigned reg_size)
 
static Instr ImmR (unsigned immr, unsigned reg_size)
 
static Instr ImmSetBits (unsigned imms, unsigned reg_size)
 
static Instr ImmRotate (unsigned immr, unsigned reg_size)
 
static Instr ImmLLiteral (int imm19)
 
static Instr BitN (unsigned bitn, unsigned reg_size)
 
static Instr ShiftDP (Shift shift)
 
static Instr ImmDPShift (unsigned amount)
 
static Instr ExtendMode (Extend extend)
 
static Instr ImmExtendShift (unsigned left_shift)
 
static Instr ImmCondCmp (unsigned imm)
 
static Instr Nzcv (StatusFlags nzcv)
 
static bool IsImmAddSub (int64_t immediate)
 
static bool IsImmLogical (uint64_t value, unsigned width, unsigned *n, unsigned *imm_s, unsigned *imm_r)
 
static Instr ImmLSUnsigned (int imm12)
 
static Instr ImmLS (int imm9)
 
static Instr ImmLSPair (int imm7, LSDataSize size)
 
static Instr ImmShiftLS (unsigned shift_amount)
 
static Instr ImmException (int imm16)
 
static Instr ImmSystemRegister (int imm15)
 
static Instr ImmHint (int imm7)
 
static Instr ImmBarrierDomain (int imm2)
 
static Instr ImmBarrierType (int imm2)
 
static LSDataSize CalcLSDataSize (LoadStoreOp op)
 
static bool IsImmLSUnscaled (int64_t offset)
 
static bool IsImmLSScaled (int64_t offset, LSDataSize size)
 
static Instr ImmMoveWide (uint64_t imm)
 
static Instr ShiftMoveWide (int64_t shift)
 
static Instr ImmFP32 (float imm)
 
static Instr ImmFP64 (double imm)
 
static Instr FPScale (unsigned scale)
 
static Instr FPType (FPRegister fd)
 
static Address target_address_at (Address pc, ConstantPoolArray *constant_pool)
 
static void set_target_address_at (Address pc, ConstantPoolArray *constant_pool, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_at (Address pc, Code *code)
 
static void set_target_address_at (Address pc, Code *code, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static Address break_address_from_return_address (Address pc)
 
static void deserialization_set_special_target_at (Address instruction_payload, Code *code, Address target)
 
static bool IsNop (Address addr)
 
static Address target_address_at (Address pc)
 
static void set_target_address_at (Address pc, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static Address break_address_from_return_address (Address pc)
 
static void JumpLabelToJumpRegister (Address pc)
 
static void QuietNaN (HeapObject *nan)
 
static void deserialization_set_special_target_at (Address instruction_payload, Code *code, Address target)
 
static int RelocateInternalReference (byte *pc, intptr_t pc_delta)
 
static Instr instr_at (byte *pc)
 
static void instr_at_put (byte *pc, Instr instr)
 
static bool IsBranch (Instr instr)
 
static bool IsBeq (Instr instr)
 
static bool IsBne (Instr instr)
 
static bool IsJump (Instr instr)
 
static bool IsJ (Instr instr)
 
static bool IsLui (Instr instr)
 
static bool IsOri (Instr instr)
 
static bool IsJal (Instr instr)
 
static bool IsJr (Instr instr)
 
static bool IsJalr (Instr instr)
 
static bool IsNop (Instr instr, unsigned int type)
 
static bool IsPop (Instr instr)
 
static bool IsPush (Instr instr)
 
static bool IsLwRegFpOffset (Instr instr)
 
static bool IsSwRegFpOffset (Instr instr)
 
static bool IsLwRegFpNegOffset (Instr instr)
 
static bool IsSwRegFpNegOffset (Instr instr)
 
static Register GetRtReg (Instr instr)
 
static Register GetRsReg (Instr instr)
 
static Register GetRdReg (Instr instr)
 
static uint32_t GetRt (Instr instr)
 
static uint32_t GetRtField (Instr instr)
 
static uint32_t GetRs (Instr instr)
 
static uint32_t GetRsField (Instr instr)
 
static uint32_t GetRd (Instr instr)
 
static uint32_t GetRdField (Instr instr)
 
static uint32_t GetSa (Instr instr)
 
static uint32_t GetSaField (Instr instr)
 
static uint32_t GetOpcodeField (Instr instr)
 
static uint32_t GetFunction (Instr instr)
 
static uint32_t GetFunctionField (Instr instr)
 
static uint32_t GetImmediate16 (Instr instr)
 
static uint32_t GetLabelConst (Instr instr)
 
static int32_t GetBranchOffset (Instr instr)
 
static bool IsLw (Instr instr)
 
static int16_t GetLwOffset (Instr instr)
 
static Instr SetLwOffset (Instr instr, int16_t offset)
 
static bool IsSw (Instr instr)
 
static Instr SetSwOffset (Instr instr, int16_t offset)
 
static bool IsAddImmediate (Instr instr)
 
static Instr SetAddImmediateOffset (Instr instr, int16_t offset)
 
static bool IsAndImmediate (Instr instr)
 
static bool IsEmittedConstant (Instr instr)
 
static Address target_address_at (Address pc)
 
static void set_target_address_at (Address pc, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static Address break_address_from_return_address (Address pc)
 
static void JumpLabelToJumpRegister (Address pc)
 
static void QuietNaN (HeapObject *nan)
 
static void deserialization_set_special_target_at (Address instruction_payload, Code *code, Address target)
 
static int RelocateInternalReference (byte *pc, intptr_t pc_delta)
 
static Instr instr_at (byte *pc)
 
static void instr_at_put (byte *pc, Instr instr)
 
static bool IsBranch (Instr instr)
 
static bool IsBeq (Instr instr)
 
static bool IsBne (Instr instr)
 
static bool IsJump (Instr instr)
 
static bool IsJ (Instr instr)
 
static bool IsLui (Instr instr)
 
static bool IsOri (Instr instr)
 
static bool IsJal (Instr instr)
 
static bool IsJr (Instr instr)
 
static bool IsJalr (Instr instr)
 
static bool IsNop (Instr instr, unsigned int type)
 
static bool IsPop (Instr instr)
 
static bool IsPush (Instr instr)
 
static bool IsLwRegFpOffset (Instr instr)
 
static bool IsSwRegFpOffset (Instr instr)
 
static bool IsLwRegFpNegOffset (Instr instr)
 
static bool IsSwRegFpNegOffset (Instr instr)
 
static Register GetRtReg (Instr instr)
 
static Register GetRsReg (Instr instr)
 
static Register GetRdReg (Instr instr)
 
static uint32_t GetRt (Instr instr)
 
static uint32_t GetRtField (Instr instr)
 
static uint32_t GetRs (Instr instr)
 
static uint32_t GetRsField (Instr instr)
 
static uint32_t GetRd (Instr instr)
 
static uint32_t GetRdField (Instr instr)
 
static uint32_t GetSa (Instr instr)
 
static uint32_t GetSaField (Instr instr)
 
static uint32_t GetOpcodeField (Instr instr)
 
static uint32_t GetFunction (Instr instr)
 
static uint32_t GetFunctionField (Instr instr)
 
static uint32_t GetImmediate16 (Instr instr)
 
static uint32_t GetLabelConst (Instr instr)
 
static int32_t GetBranchOffset (Instr instr)
 
static bool IsLw (Instr instr)
 
static int16_t GetLwOffset (Instr instr)
 
static Instr SetLwOffset (Instr instr, int16_t offset)
 
static bool IsSw (Instr instr)
 
static Instr SetSwOffset (Instr instr, int16_t offset)
 
static bool IsAddImmediate (Instr instr)
 
static Instr SetAddImmediateOffset (Instr instr, int16_t offset)
 
static bool IsAndImmediate (Instr instr)
 
static bool IsEmittedConstant (Instr instr)
 
static Address target_address_at (Address pc, ConstantPoolArray *constant_pool)
 
static void set_target_address_at (Address pc, ConstantPoolArray *constant_pool, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_at (Address pc, Code *code)
 
static void set_target_address_at (Address pc, Code *code, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static Address break_address_from_return_address (Address pc)
 
static void deserialization_set_special_target_at (Address instruction_payload, Code *code, Address target)
 
static RelocInfo::Mode RelocInfoNone ()
 
static bool IsNop (Address addr)
 
static Address target_address_at (Address pc, ConstantPoolArray *constant_pool)
 
static void set_target_address_at (Address pc, ConstantPoolArray *constant_pool, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_at (Address pc, Code *code)
 
static void set_target_address_at (Address pc, Code *code, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static Address break_address_from_return_address (Address pc)
 
static void deserialization_set_special_target_at (Address instruction_payload, Code *code, Address target)
 
static bool IsNop (Address addr)
 
- Static Public Member Functions inherited from v8::internal::AssemblerBase
static void QuietNaN (HeapObject *nan)
 
- Static Public Member Functions inherited from v8::internal::Malloced
static void FatalProcessOutOfMemory ()
 
static void * New (size_t size)
 
static void Delete (void *p)
 

Static Public Attributes

static const int kSpecialTargetSize = kPointerSize
 
static const int kInstrSize = sizeof(Instr)
 
static const int kPatchReturnSequenceAddressOffset = 0 * kInstrSize
 
static const int kPatchDebugBreakSlotAddressOffset = 0 * kInstrSize
 
static const int kPatchDebugBreakSlotReturnOffset = 2 * kInstrSize
 
static const int kPcLoadDelta = 8
 
static const int kJSReturnSequenceInstructions = 4
 
static const int kDebugBreakSlotInstructions = 3
 
static const int kDebugBreakSlotLength
 
static const int kMaxDistToIntPool = 4*KB
 
static const int kMaxDistToFPPool = 1*KB
 
static const int kMaxNumPending32RelocInfo = kMaxDistToIntPool/kInstrSize
 
static const int kMaxNumPending64RelocInfo = kMaxDistToFPPool/kInstrSize
 
static const int kCallSizeWithoutRelocation = 4 * kInstructionSize
 
static const int kCallSizeWithRelocation = 2 * kInstructionSize
 
static const int kJSRetSequenceInstructions = 7
 
static const int kMaxVeneerCodeSize = 1 * kInstructionSize
 
static const int kCallTargetAddressOffset = kPointerSize
 
static const int kCallInstructionLength = 5
 
static const int kJSReturnSequenceLength = 6
 
static const byte kTestAlByte = 0xA8
 
static const byte kNopByte = 0x90
 
static const byte kJmpShortOpcode = 0xEB
 
static const byte kJccShortPrefix = 0x70
 
static const byte kJncShortOpcode = kJccShortPrefix | not_carry
 
static const byte kJcShortOpcode = kJccShortPrefix | carry
 
static const byte kJnzShortOpcode = kJccShortPrefix | not_zero
 
static const byte kJzShortOpcode = kJccShortPrefix | zero
 
static const int kMaximalBufferSize = 512*MB
 
static const int kBranchPCOffset = 4
 
static const int kInstructionsFor32BitConstant = 3
 
static const int kInstructionsFor64BitConstant = 5
 
static const int kCallScratchRegisterInstructionLength = 3
 
static const int kShortCallInstructionLength = 5
 
static const int kMoveAddressIntoScratchRegisterInstructionLength
 
static const int kCallSequenceLength
 
static const int kRealPatchReturnSequenceAddressOffset
 
static const byte kTestEaxByte = 0xA9
 
- Static Public Attributes inherited from v8::internal::AssemblerBase
static const int kMinimalBufferSize = 4*KB
 

Protected Member Functions

int buffer_space () const
 
int target_at (int pos)
 
void target_at_put (int pos, int target_pos)
 
void StartBlockConstPool ()
 
void EndBlockConstPool ()
 
bool is_const_pool_blocked () const
 
void set_constant_pool_available (bool available)
 
const RegisterAppropriateZeroRegFor (const CPURegister &reg) const
 
void LoadStore (const CPURegister &rt, const MemOperand &addr, LoadStoreOp op)
 
void LoadStorePair (const CPURegister &rt, const CPURegister &rt2, const MemOperand &addr, LoadStorePairOp op)
 
void Logical (const Register &rd, const Register &rn, const Operand &operand, LogicalOp op)
 
void LogicalImmediate (const Register &rd, const Register &rn, unsigned n, unsigned imm_s, unsigned imm_r, LogicalOp op)
 
void ConditionalCompare (const Register &rn, const Operand &operand, StatusFlags nzcv, Condition cond, ConditionalCompareOp op)
 
void AddSubWithCarry (const Register &rd, const Register &rn, const Operand &operand, FlagsUpdate S, AddSubWithCarryOp op)
 
void EmitShift (const Register &rd, const Register &rn, Shift shift, unsigned amount)
 
void EmitExtendShift (const Register &rd, const Register &rn, Extend extend, unsigned left_shift)
 
void AddSub (const Register &rd, const Register &rn, const Operand &operand, FlagsUpdate S, AddSubOp op)
 
void RemoveBranchFromLabelLinkChain (Instruction *branch, Label *label, Instruction *label_veneer=NULL)
 
void SetRecordedAstId (TypeFeedbackId ast_id)
 
int unresolved_branches_first_limit () const
 
void emit_sse_operand (XMMRegister reg, const Operand &adr)
 
void emit_sse_operand (XMMRegister dst, XMMRegister src)
 
void emit_sse_operand (Register dst, XMMRegister src)
 
void emit_sse_operand (XMMRegister dst, Register src)
 
byteaddr_at (int pos)
 
int32_t buffer_space () const
 
int target_at (int32_t pos)
 
void target_at_put (int32_t pos, int32_t target_pos)
 
bool MustUseReg (RelocInfo::Mode rmode)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void BlockTrampolinePoolBefore (int pc_offset)
 
void StartBlockTrampolinePool ()
 
void EndBlockTrampolinePool ()
 
bool is_trampoline_pool_blocked () const
 
bool has_exception () const
 
void DoubleAsTwoUInt32 (double d, uint32_t *lo, uint32_t *hi)
 
bool is_trampoline_emitted () const
 
void StartBlockGrowBuffer ()
 
void EndBlockGrowBuffer ()
 
bool is_buffer_growth_blocked () const
 
int64_t buffer_space () const
 
int64_t target_at (int64_t pos)
 
void target_at_put (int64_t pos, int64_t target_pos)
 
bool MustUseReg (RelocInfo::Mode rmode)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void BlockTrampolinePoolBefore (int pc_offset)
 
void StartBlockTrampolinePool ()
 
void EndBlockTrampolinePool ()
 
bool is_trampoline_pool_blocked () const
 
bool has_exception () const
 
void DoubleAsTwoUInt32 (double d, uint32_t *lo, uint32_t *hi)
 
bool is_trampoline_emitted () const
 
void StartBlockGrowBuffer ()
 
void EndBlockGrowBuffer ()
 
bool is_buffer_growth_blocked () const
 
void call (const Operand &operand)
 
void jmp (const Operand &src)
 
byteaddr_at (int pos)
 

Static Protected Member Functions

static bool IsImmLSPair (int64_t offset, LSDataSize size)
 
static bool IsImmConditionalCompare (int64_t immediate)
 
static bool IsImmFP32 (float imm)
 
static bool IsImmFP64 (double imm)
 
static LoadStoreOp LoadOpFor (const CPURegister &rt)
 
static LoadStorePairOp LoadPairOpFor (const CPURegister &rt, const CPURegister &rt2)
 
static LoadStoreOp StoreOpFor (const CPURegister &rt)
 
static LoadStorePairOp StorePairOpFor (const CPURegister &rt, const CPURegister &rt2)
 
static LoadStorePairNonTemporalOp LoadPairNonTemporalOpFor (const CPURegister &rt, const CPURegister &rt2)
 
static LoadStorePairNonTemporalOp StorePairNonTemporalOpFor (const CPURegister &rt, const CPURegister &rt2)
 
static LoadLiteralOp LoadLiteralOpFor (const CPURegister &rt)
 

Protected Attributes

TypeFeedbackId recorded_ast_id_
 
std::multimap< int, FarBranchInfounresolved_branches_
 
int next_veneer_pool_check_
 
- Protected Attributes inherited from v8::internal::AssemblerBase
bytebuffer_
 
int buffer_size_
 
bool own_buffer_
 
bytepc_
 

Static Protected Attributes

static const int kVeneerDistanceMargin = 1 * KB
 
static const int kVeneerNoProtectionFactor = 2
 
static const int kVeneerDistanceCheckMargin
 

Private Types

enum  UseConstantPoolMode { USE_CONSTANT_POOL , DONT_USE_CONSTANT_POOL }
 

Private Member Functions

void CheckBuffer ()
 
void GrowBuffer ()
 
void emit (Instr x)
 
void move_32_bit_immediate (Register rd, const Operand &x, Condition cond=al)
 
void addrmod1 (Instr instr, Register rn, Register rd, const Operand &x)
 
void addrmod2 (Instr instr, Register rd, const MemOperand &x)
 
void addrmod3 (Instr instr, Register rd, const MemOperand &x)
 
void addrmod4 (Instr instr, Register rn, RegList rl)
 
void addrmod5 (Instr instr, CRegister crd, const MemOperand &x)
 
void print (Label *L)
 
void bind_to (Label *L, int pos)
 
void next (Label *L)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void RecordRelocInfo (const RelocInfo &rinfo)
 
ConstantPoolArray::LayoutSection ConstantPoolAddEntry (const RelocInfo &rinfo)
 
void MoveWide (const Register &rd, uint64_t imm, int shift, MoveWideImmediateOp mov_op)
 
void DataProcShiftedRegister (const Register &rd, const Register &rn, const Operand &operand, FlagsUpdate S, Instr op)
 
void DataProcExtendedRegister (const Register &rd, const Register &rn, const Operand &operand, FlagsUpdate S, Instr op)
 
void LoadStorePairNonTemporal (const CPURegister &rt, const CPURegister &rt2, const MemOperand &addr, LoadStorePairNonTemporalOp op)
 
void ConditionalSelect (const Register &rd, const Register &rn, const Register &rm, Condition cond, ConditionalSelectOp op)
 
void DataProcessing1Source (const Register &rd, const Register &rn, DataProcessing1SourceOp op)
 
void DataProcessing3Source (const Register &rd, const Register &rn, const Register &rm, const Register &ra, DataProcessing3SourceOp op)
 
void FPDataProcessing1Source (const FPRegister &fd, const FPRegister &fn, FPDataProcessing1SourceOp op)
 
void FPDataProcessing2Source (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm, FPDataProcessing2SourceOp op)
 
void FPDataProcessing3Source (const FPRegister &fd, const FPRegister &fn, const FPRegister &fm, const FPRegister &fa, FPDataProcessing3SourceOp op)
 
int LinkAndGetByteOffsetTo (Label *label)
 
int LinkAndGetInstructionOffsetTo (Label *label)
 
void CheckLabelLinkChain (Label const *label)
 
void RecordLiteral (int64_t imm, unsigned size)
 
void BlockConstPoolFor (int instructions)
 
void SetNextConstPoolCheckIn (int instructions)
 
void Emit (Instr instruction)
 
void EmitData (void const *data, unsigned size)
 
void GrowBuffer ()
 
void CheckBufferSpace ()
 
void CheckBuffer ()
 
TypeFeedbackId RecordedAstId ()
 
void ClearRecordedAstId ()
 
void DeleteUnresolvedBranchInfoForLabel (Label *label)
 
void DeleteUnresolvedBranchInfoForLabelTraverse (Label *label)
 
uint32_t long_at (int pos)
 
void long_at_put (int pos, uint32_t x)
 
void GrowBuffer ()
 
void emit (uint32_t x)
 
void emit (Handle< Object > handle)
 
void emit (uint32_t x, RelocInfo::Mode rmode, TypeFeedbackId id=TypeFeedbackId::None())
 
void emit (Handle< Code > code, RelocInfo::Mode rmode, TypeFeedbackId id=TypeFeedbackId::None())
 
void emit (const Immediate &x)
 
void emit_w (const Immediate &x)
 
void emit_code_relative_offset (Label *label)
 
void emit_arith_b (int op1, int op2, Register dst, int imm8)
 
void emit_arith (int sel, Operand dst, const Immediate &x)
 
void emit_operand (Register reg, const Operand &adr)
 
void emit_farith (int b1, int b2, int i)
 
void print (Label *L)
 
void bind_to (Label *L, int pos)
 
Displacement disp_at (Label *L)
 
void disp_at_put (Label *L, Displacement disp)
 
void emit_disp (Label *L, Displacement::Type type)
 
void emit_near_disp (Label *L)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void CheckBuffer ()
 
void GrowBuffer ()
 
void emit (Instr x)
 
void CheckTrampolinePoolQuick ()
 
void GenInstrRegister (Opcode opcode, Register rs, Register rt, Register rd, uint16_t sa=0, SecondaryField func=NULLSF)
 
void GenInstrRegister (Opcode opcode, Register rs, Register rt, uint16_t msb, uint16_t lsb, SecondaryField func)
 
void GenInstrRegister (Opcode opcode, SecondaryField fmt, FPURegister ft, FPURegister fs, FPURegister fd, SecondaryField func=NULLSF)
 
void GenInstrRegister (Opcode opcode, FPURegister fr, FPURegister ft, FPURegister fs, FPURegister fd, SecondaryField func=NULLSF)
 
void GenInstrRegister (Opcode opcode, SecondaryField fmt, Register rt, FPURegister fs, FPURegister fd, SecondaryField func=NULLSF)
 
void GenInstrRegister (Opcode opcode, SecondaryField fmt, Register rt, FPUControlRegister fs, SecondaryField func=NULLSF)
 
void GenInstrImmediate (Opcode opcode, Register rs, Register rt, int32_t j)
 
void GenInstrImmediate (Opcode opcode, Register rs, SecondaryField SF, int32_t j)
 
void GenInstrImmediate (Opcode opcode, Register r1, FPURegister r2, int32_t j)
 
void GenInstrJump (Opcode opcode, uint32_t address)
 
void LoadRegPlusOffsetToAt (const MemOperand &src)
 
void print (Label *L)
 
void bind_to (Label *L, int pos)
 
void next (Label *L)
 
int32_t get_trampoline_entry (int32_t pos)
 
void CheckBuffer ()
 
void GrowBuffer ()
 
void emit (Instr x)
 
void emit (uint64_t x)
 
void CheckTrampolinePoolQuick ()
 
void GenInstrRegister (Opcode opcode, Register rs, Register rt, Register rd, uint16_t sa=0, SecondaryField func=NULLSF)
 
void GenInstrRegister (Opcode opcode, Register rs, Register rt, uint16_t msb, uint16_t lsb, SecondaryField func)
 
void GenInstrRegister (Opcode opcode, SecondaryField fmt, FPURegister ft, FPURegister fs, FPURegister fd, SecondaryField func=NULLSF)
 
void GenInstrRegister (Opcode opcode, FPURegister fr, FPURegister ft, FPURegister fs, FPURegister fd, SecondaryField func=NULLSF)
 
void GenInstrRegister (Opcode opcode, SecondaryField fmt, Register rt, FPURegister fs, FPURegister fd, SecondaryField func=NULLSF)
 
void GenInstrRegister (Opcode opcode, SecondaryField fmt, Register rt, FPUControlRegister fs, SecondaryField func=NULLSF)
 
void GenInstrImmediate (Opcode opcode, Register rs, Register rt, int32_t j)
 
void GenInstrImmediate (Opcode opcode, Register rs, SecondaryField SF, int32_t j)
 
void GenInstrImmediate (Opcode opcode, Register r1, FPURegister r2, int32_t j)
 
void GenInstrJump (Opcode opcode, uint32_t address)
 
void LoadRegPlusOffsetToAt (const MemOperand &src)
 
void print (Label *L)
 
void bind_to (Label *L, int pos)
 
void next (Label *L)
 
int32_t get_trampoline_entry (int32_t pos)
 
byteaddr_at (int pos)
 
uint32_t long_at (int pos)
 
void long_at_put (int pos, uint32_t x)
 
void GrowBuffer ()
 
void emit (byte x)
 
void emitl (uint32_t x)
 
void emitp (void *x, RelocInfo::Mode rmode)
 
void emitq (uint64_t x)
 
void emitw (uint16_t x)
 
void emit_code_target (Handle< Code > target, RelocInfo::Mode rmode, TypeFeedbackId ast_id=TypeFeedbackId::None())
 
void emit_runtime_entry (Address entry, RelocInfo::Mode rmode)
 
void emit (Immediate x)
 
void emit_rex_64 (XMMRegister reg, Register rm_reg)
 
void emit_rex_64 (Register reg, XMMRegister rm_reg)
 
void emit_rex_64 (Register reg, Register rm_reg)
 
void emit_rex_64 (Register reg, const Operand &op)
 
void emit_rex_64 (XMMRegister reg, const Operand &op)
 
void emit_rex_64 (Register rm_reg)
 
void emit_rex_64 (const Operand &op)
 
void emit_rex_64 ()
 
void emit_rex_32 (Register reg, Register rm_reg)
 
void emit_rex_32 (Register reg, const Operand &op)
 
void emit_rex_32 (Register rm_reg)
 
void emit_rex_32 (const Operand &op)
 
void emit_optional_rex_32 (Register reg, Register rm_reg)
 
void emit_optional_rex_32 (Register reg, const Operand &op)
 
void emit_optional_rex_32 (XMMRegister reg, XMMRegister base)
 
void emit_optional_rex_32 (XMMRegister reg, Register base)
 
void emit_optional_rex_32 (Register reg, XMMRegister base)
 
void emit_optional_rex_32 (XMMRegister reg, const Operand &op)
 
void emit_optional_rex_32 (Register rm_reg)
 
void emit_optional_rex_32 (const Operand &op)
 
void emit_rex (int size)
 
template<class P1 >
void emit_rex (P1 p1, int size)
 
template<class P1 , class P2 >
void emit_rex (P1 p1, P2 p2, int size)
 
void emit_operand (Register reg, const Operand &adr)
 
void emit_operand (int rm, const Operand &adr)
 
void emit_modrm (Register reg, Register rm_reg)
 
void emit_modrm (int code, Register rm_reg)
 
void emit_code_relative_offset (Label *label)
 
void emit_sse_operand (XMMRegister dst, XMMRegister src)
 
void emit_sse_operand (XMMRegister reg, const Operand &adr)
 
void emit_sse_operand (Register reg, const Operand &adr)
 
void emit_sse_operand (XMMRegister dst, Register src)
 
void emit_sse_operand (Register dst, XMMRegister src)
 
void arithmetic_op_8 (byte opcode, Register reg, Register rm_reg)
 
void arithmetic_op_8 (byte opcode, Register reg, const Operand &rm_reg)
 
void arithmetic_op_16 (byte opcode, Register reg, Register rm_reg)
 
void arithmetic_op_16 (byte opcode, Register reg, const Operand &rm_reg)
 
void arithmetic_op (byte opcode, Register reg, Register rm_reg, int size)
 
void arithmetic_op (byte opcode, Register reg, const Operand &rm_reg, int size)
 
void immediate_arithmetic_op_8 (byte subcode, Register dst, Immediate src)
 
void immediate_arithmetic_op_8 (byte subcode, const Operand &dst, Immediate src)
 
void immediate_arithmetic_op_16 (byte subcode, Register dst, Immediate src)
 
void immediate_arithmetic_op_16 (byte subcode, const Operand &dst, Immediate src)
 
void immediate_arithmetic_op (byte subcode, Register dst, Immediate src, int size)
 
void immediate_arithmetic_op (byte subcode, const Operand &dst, Immediate src, int size)
 
void shift (Register dst, Immediate shift_amount, int subcode, int size)
 
void shift (Register dst, int subcode, int size)
 
void emit_farith (int b1, int b2, int i)
 
void bind_to (Label *L, int pos)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void emit_add (Register dst, Register src, int size)
 
void emit_add (Register dst, Immediate src, int size)
 
void emit_add (Register dst, const Operand &src, int size)
 
void emit_add (const Operand &dst, Register src, int size)
 
void emit_add (const Operand &dst, Immediate src, int size)
 
void emit_and (Register dst, Register src, int size)
 
void emit_and (Register dst, const Operand &src, int size)
 
void emit_and (const Operand &dst, Register src, int size)
 
void emit_and (Register dst, Immediate src, int size)
 
void emit_and (const Operand &dst, Immediate src, int size)
 
void emit_cmp (Register dst, Register src, int size)
 
void emit_cmp (Register dst, const Operand &src, int size)
 
void emit_cmp (const Operand &dst, Register src, int size)
 
void emit_cmp (Register dst, Immediate src, int size)
 
void emit_cmp (const Operand &dst, Immediate src, int size)
 
void emit_dec (Register dst, int size)
 
void emit_dec (const Operand &dst, int size)
 
void emit_idiv (Register src, int size)
 
void emit_div (Register src, int size)
 
void emit_imul (Register src, int size)
 
void emit_imul (Register dst, Register src, int size)
 
void emit_imul (Register dst, const Operand &src, int size)
 
void emit_imul (Register dst, Register src, Immediate imm, int size)
 
void emit_imul (Register dst, const Operand &src, Immediate imm, int size)
 
void emit_inc (Register dst, int size)
 
void emit_inc (const Operand &dst, int size)
 
void emit_lea (Register dst, const Operand &src, int size)
 
void emit_mov (Register dst, const Operand &src, int size)
 
void emit_mov (Register dst, Register src, int size)
 
void emit_mov (const Operand &dst, Register src, int size)
 
void emit_mov (Register dst, Immediate value, int size)
 
void emit_mov (const Operand &dst, Immediate value, int size)
 
void emit_movzxb (Register dst, const Operand &src, int size)
 
void emit_movzxb (Register dst, Register src, int size)
 
void emit_movzxw (Register dst, const Operand &src, int size)
 
void emit_movzxw (Register dst, Register src, int size)
 
void emit_neg (Register dst, int size)
 
void emit_neg (const Operand &dst, int size)
 
void emit_not (Register dst, int size)
 
void emit_not (const Operand &dst, int size)
 
void emit_or (Register dst, Register src, int size)
 
void emit_or (Register dst, const Operand &src, int size)
 
void emit_or (const Operand &dst, Register src, int size)
 
void emit_or (Register dst, Immediate src, int size)
 
void emit_or (const Operand &dst, Immediate src, int size)
 
void emit_repmovs (int size)
 
void emit_sbb (Register dst, Register src, int size)
 
void emit_sub (Register dst, Register src, int size)
 
void emit_sub (Register dst, Immediate src, int size)
 
void emit_sub (Register dst, const Operand &src, int size)
 
void emit_sub (const Operand &dst, Register src, int size)
 
void emit_sub (const Operand &dst, Immediate src, int size)
 
void emit_test (Register dst, Register src, int size)
 
void emit_test (Register reg, Immediate mask, int size)
 
void emit_test (const Operand &op, Register reg, int size)
 
void emit_test (const Operand &op, Immediate mask, int size)
 
void emit_test (Register reg, const Operand &op, int size)
 
void emit_xchg (Register dst, Register src, int size)
 
void emit_xchg (Register dst, const Operand &src, int size)
 
void emit_xor (Register dst, Register src, int size)
 
void emit_xor (Register dst, const Operand &src, int size)
 
void emit_xor (Register dst, Immediate src, int size)
 
void emit_xor (const Operand &dst, Immediate src, int size)
 
void emit_xor (const Operand &dst, Register src, int size)
 
uint32_t long_at (int pos)
 
void long_at_put (int pos, uint32_t x)
 
void GrowBuffer ()
 
void emit (uint32_t x)
 
void emit (Handle< Object > handle)
 
void emit (uint32_t x, RelocInfo::Mode rmode, TypeFeedbackId id=TypeFeedbackId::None())
 
void emit (Handle< Code > code, RelocInfo::Mode rmode, TypeFeedbackId id=TypeFeedbackId::None())
 
void emit (const Immediate &x)
 
void emit_w (const Immediate &x)
 
void emit_code_relative_offset (Label *label)
 
void emit_arith_b (int op1, int op2, Register dst, int imm8)
 
void emit_arith (int sel, Operand dst, const Immediate &x)
 
void emit_operand (Register reg, const Operand &adr)
 
void emit_farith (int b1, int b2, int i)
 
void print (Label *L)
 
void bind_to (Label *L, int pos)
 
Displacement disp_at (Label *L)
 
void disp_at_put (Label *L, Displacement disp)
 
void emit_disp (Label *L, Displacement::Type type)
 
void emit_near_disp (Label *L)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 

Private Attributes

int next_buffer_check_
 
int const_pool_blocked_nesting_
 
int no_const_pool_before_
 
int first_const_pool_32_use_
 
int first_const_pool_64_use_
 
RelocInfoWriter reloc_info_writer
 
RelocInfo pending_32_bit_reloc_info_ [kMaxNumPending32RelocInfo]
 
RelocInfo pending_64_bit_reloc_info_ [kMaxNumPending64RelocInfo]
 
int num_pending_32_bit_reloc_info_
 
int num_pending_64_bit_reloc_info_
 
ConstantPoolBuilder constant_pool_builder_
 
int last_bound_pos_
 
bool constant_pool_available_
 
PositionsRecorder positions_recorder_
 
int next_constant_pool_check_
 
int veneer_pool_blocked_nesting_
 
ConstPool constpool_
 
int trampoline_pool_blocked_nesting_
 
int no_trampoline_pool_before_
 
int last_trampoline_pool_end_
 
bool block_buffer_growth_
 
int unbound_labels_count_
 
bool trampoline_emitted_
 
Trampoline trampoline_
 
bool internal_trampoline_exception_
 
List< Handle< Code > > code_targets_
 

Static Private Attributes

static const int kGap = 32
 
static const int kCheckPoolIntervalInst = 32
 
static const int kCheckPoolInterval = kCheckPoolIntervalInst * kInstrSize
 
static const int kMaxRelocSize = RelocInfoWriter::kMaxSize
 
static const int kStartOfLabelLinkChain = 0
 
static const int kCheckConstPoolInterval = 128
 
static const int kApproxMaxDistToConstPool = 64 * KB
 
static const int kApproxMaxPoolEntryCount = 512
 
static const int kBufferCheckInterval = 1*KB/2
 
static const int kCheckConstIntervalInst = 32
 
static const int kCheckConstInterval = kCheckConstIntervalInst * kInstrSize
 
static const int kTrampolineSlotsSize = 4 * kInstrSize
 
static const int kMaxBranchOffset = (1 << (18 - 1)) - 1
 
static const int kInvalidSlotPos = -1
 

Friends

class RelocInfo
 
class CodePatcher
 
class BlockConstPoolScope
 
class FrameAndConstantPoolScope
 
class ConstantPoolUnavailableScope
 
class PositionsRecorder
 
class EnsureSpace
 
class ConstPool
 
class RegExpMacroAssemblerMIPS
 
class BlockTrampolinePoolScope
 
class RegExpMacroAssemblerX64
 

Detailed Description

Definition at line 706 of file assembler-arm.h.

Member Enumeration Documentation

◆ NopMarkerTypes [1/4]

Enumerator
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
DEBUG_BREAK_NOP 
INTERRUPT_CODE_NOP 
ADR_FAR_NOP 
FIRST_NOP_MARKER 
LAST_NOP_MARKER 
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
CODE_AGE_MARKER_NOP 
CODE_AGE_SEQUENCE_NOP 
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
CODE_AGE_MARKER_NOP 
CODE_AGE_SEQUENCE_NOP 

Definition at line 1292 of file assembler-arm.h.

◆ NopMarkerTypes [2/4]

Enumerator
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
DEBUG_BREAK_NOP 
INTERRUPT_CODE_NOP 
ADR_FAR_NOP 
FIRST_NOP_MARKER 
LAST_NOP_MARKER 
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
CODE_AGE_MARKER_NOP 
CODE_AGE_SEQUENCE_NOP 
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
CODE_AGE_MARKER_NOP 
CODE_AGE_SEQUENCE_NOP 

Definition at line 1573 of file assembler-arm64.h.

◆ NopMarkerTypes [3/4]

Enumerator
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
DEBUG_BREAK_NOP 
INTERRUPT_CODE_NOP 
ADR_FAR_NOP 
FIRST_NOP_MARKER 
LAST_NOP_MARKER 
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
CODE_AGE_MARKER_NOP 
CODE_AGE_SEQUENCE_NOP 
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
CODE_AGE_MARKER_NOP 
CODE_AGE_SEQUENCE_NOP 

Definition at line 608 of file assembler-mips.h.

608  {
609  NON_MARKING_NOP = 0,
611  // IC markers.
615  // Helper values.
618  // Code aging
621  };

◆ NopMarkerTypes [4/4]

Enumerator
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
DEBUG_BREAK_NOP 
INTERRUPT_CODE_NOP 
ADR_FAR_NOP 
FIRST_NOP_MARKER 
LAST_NOP_MARKER 
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
CODE_AGE_MARKER_NOP 
CODE_AGE_SEQUENCE_NOP 
NON_MARKING_NOP 
DEBUG_BREAK_NOP 
PROPERTY_ACCESS_INLINED 
PROPERTY_ACCESS_INLINED_CONTEXT 
PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE 
LAST_CODE_MARKER 
FIRST_IC_MARKER 
CODE_AGE_MARKER_NOP 
CODE_AGE_SEQUENCE_NOP 

Definition at line 599 of file assembler-mips64.h.

599  {
600  NON_MARKING_NOP = 0,
602  // IC markers.
606  // Helper values.
609  // Code aging
612  };

◆ RoundingMode [1/2]

Enumerator
kRoundToNearest 
kRoundDown 
kRoundUp 
kRoundToZero 
kRoundToNearest 
kRoundDown 
kRoundUp 
kRoundToZero 

Definition at line 978 of file assembler-ia32.h.

◆ RoundingMode [2/2]

Enumerator
kRoundToNearest 
kRoundDown 
kRoundUp 
kRoundToZero 
kRoundToNearest 
kRoundDown 
kRoundUp 
kRoundToZero 

Definition at line 1093 of file assembler-x64.h.

1093  {
1094  kRoundToNearest = 0x0,
1095  kRoundDown = 0x1,
1096  kRoundUp = 0x2,
1097  kRoundToZero = 0x3
1098  };

◆ UseConstantPoolMode

Enumerator
USE_CONSTANT_POOL 
DONT_USE_CONSTANT_POOL 

Definition at line 1644 of file assembler-arm.h.

Constructor & Destructor Documentation

◆ Assembler() [1/7]

v8::internal::Assembler::Assembler ( Isolate isolate,
void *  buffer,
int  buffer_size 
)

◆ ~Assembler() [1/7]

virtual v8::internal::Assembler::~Assembler ( )
virtual

◆ Assembler() [2/7]

v8::internal::Assembler::Assembler ( Isolate arg_isolate,
void *  buffer,
int  buffer_size 
)

◆ ~Assembler() [2/7]

virtual v8::internal::Assembler::~Assembler ( )
virtual

◆ Assembler() [3/7]

v8::internal::Assembler::Assembler ( Isolate isolate,
void *  buffer,
int  buffer_size 
)

◆ ~Assembler() [3/7]

virtual v8::internal::Assembler::~Assembler ( )
inlinevirtual

Definition at line 495 of file assembler-ia32.h.

495 { }

◆ Assembler() [4/7]

v8::internal::Assembler::Assembler ( Isolate isolate,
void *  buffer,
int  buffer_size 
)

◆ ~Assembler() [4/7]

virtual v8::internal::Assembler::~Assembler ( )
inlinevirtual

Definition at line 444 of file assembler-mips.h.

444 { }

◆ Assembler() [5/7]

v8::internal::Assembler::Assembler ( Isolate isolate,
void *  buffer,
int  buffer_size 
)

◆ ~Assembler() [5/7]

virtual v8::internal::Assembler::~Assembler ( )
inlinevirtual

Definition at line 434 of file assembler-mips64.h.

434 { }

◆ Assembler() [6/7]

v8::internal::Assembler::Assembler ( Isolate isolate,
void *  buffer,
int  buffer_size 
)

◆ ~Assembler() [6/7]

virtual v8::internal::Assembler::~Assembler ( )
inlinevirtual

Definition at line 509 of file assembler-x64.h.

509 { }

◆ Assembler() [7/7]

v8::internal::Assembler::Assembler ( Isolate isolate,
void *  buffer,
int  buffer_size 
)

◆ ~Assembler() [7/7]

virtual v8::internal::Assembler::~Assembler ( )
inlinevirtual

Definition at line 486 of file assembler-x87.h.

486 { }

Member Function Documentation

◆ AbortedCodeGeneration()

virtual void v8::internal::Assembler::AbortedCodeGeneration ( )
inlinevirtual

Reimplemented from v8::internal::AssemblerBase.

Definition at line 829 of file assembler-arm64.h.

829  {
830  constpool_.Clear();
831  }

References v8::internal::ConstPool::Clear(), and constpool_.

Referenced by v8::internal::LChunk::Codegen().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ abs_d() [1/2]

void v8::internal::Assembler::abs_d ( FPURegister  fd,
FPURegister  fs 
)

◆ abs_d() [2/2]

void v8::internal::Assembler::abs_d ( FPURegister  fd,
FPURegister  fs 
)

◆ adc() [1/6]

void v8::internal::Assembler::adc ( const Register rd,
const Register rn,
const Operand operand 
)

◆ adc() [2/6]

void v8::internal::Assembler::adc ( Register  dst,
const Operand src 
)

◆ adc() [3/6]

void v8::internal::Assembler::adc ( Register  dst,
const Operand src 
)

◆ adc() [4/6]

void v8::internal::Assembler::adc ( Register  dst,
int32_t  imm32 
)

◆ adc() [5/6]

void v8::internal::Assembler::adc ( Register  dst,
int32_t  imm32 
)

◆ adc() [6/6]

void v8::internal::Assembler::adc ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ adcs()

void v8::internal::Assembler::adcs ( const Register rd,
const Register rn,
const Operand operand 
)

◆ add() [1/13]

void v8::internal::Assembler::add ( const Operand dst,
const Immediate x 
)

◆ add() [2/13]

void v8::internal::Assembler::add ( const Operand dst,
const Immediate x 
)

◆ add() [3/13]

void v8::internal::Assembler::add ( const Operand dst,
Register  src 
)

◆ add() [4/13]

void v8::internal::Assembler::add ( const Operand dst,
Register  src 
)

◆ add() [5/13]

void v8::internal::Assembler::add ( const Register rd,
const Register rn,
const Operand operand 
)

◆ add() [6/13]

void v8::internal::Assembler::add ( Register  dst,
const Immediate imm 
)
inline

Definition at line 675 of file assembler-ia32.h.

675 { add(Operand(dst), imm); }
void add(Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)

References add().

Referenced by add().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ add() [7/13]

void v8::internal::Assembler::add ( Register  dst,
const Immediate imm 
)
inline

Definition at line 660 of file assembler-x87.h.

660 { add(Operand(dst), imm); }

References add().

Referenced by add().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ add() [8/13]

void v8::internal::Assembler::add ( Register  dst,
const Operand src 
)

◆ add() [9/13]

void v8::internal::Assembler::add ( Register  dst,
const Operand src 
)

◆ add() [10/13]

void v8::internal::Assembler::add ( Register  dst,
Register  src 
)
inline

Definition at line 672 of file assembler-ia32.h.

672 { add(dst, Operand(src)); }

References add().

Referenced by add().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ add() [11/13]

void v8::internal::Assembler::add ( Register  dst,
Register  src 
)
inline

Definition at line 657 of file assembler-x87.h.

657 { add(dst, Operand(src)); }

References add().

Referenced by add().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ add() [12/13]

void v8::internal::Assembler::add ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

Referenced by add(), pop(), v8::internal::RecordWriteStub::RegisterAllocation::RestoreCallerSaveRegisters(), and v8::internal::MacroAssembler::SmiTag().

+ Here is the caller graph for this function:

◆ add() [13/13]

void v8::internal::Assembler::add ( Register  dst,
Register  src1,
Register  src2,
SBit  s = LeaveCC,
Condition  cond = al 
)
inline

Definition at line 876 of file assembler-arm.h.

877  {
878  add(dst, src1, Operand(src2), s, cond);
879  }

References add().

+ Here is the call graph for this function:

◆ add_d() [1/2]

void v8::internal::Assembler::add_d ( FPURegister  fd,
FPURegister  fs,
FPURegister  ft 
)

◆ add_d() [2/2]

void v8::internal::Assembler::add_d ( FPURegister  fd,
FPURegister  fs,
FPURegister  ft 
)

◆ addiu() [1/2]

void v8::internal::Assembler::addiu ( Register  rd,
Register  rs,
int32_t  j 
)

◆ addiu() [2/2]

void v8::internal::Assembler::addiu ( Register  rd,
Register  rs,
int32_t  j 
)

◆ addps() [1/4]

void v8::internal::Assembler::addps ( XMMRegister  dst,
const Operand src 
)

◆ addps() [2/4]

void v8::internal::Assembler::addps ( XMMRegister  dst,
const Operand src 
)

◆ addps() [3/4]

void v8::internal::Assembler::addps ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 937 of file assembler-ia32.h.

937 { addps(dst, Operand(src)); }
void addps(XMMRegister dst, const Operand &src)

References addps().

Referenced by addps().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addps() [4/4]

void v8::internal::Assembler::addps ( XMMRegister  dst,
XMMRegister  src 
)

◆ addr_at() [1/3]

byte* v8::internal::Assembler::addr_at ( int  pos)
inlineprotected

Definition at line 1104 of file assembler-ia32.h.

1104 { return buffer_ + pos; }

References v8::internal::AssemblerBase::buffer_.

Referenced by long_at(), and long_at_put().

+ Here is the caller graph for this function:

◆ addr_at() [2/3]

byte* v8::internal::Assembler::addr_at ( int  pos)
inlineprivate

Definition at line 1161 of file assembler-x64.h.

1161 { return buffer_ + pos; }

References v8::internal::AssemblerBase::buffer_.

◆ addr_at() [3/3]

byte* v8::internal::Assembler::addr_at ( int  pos)
inlineprotected

Definition at line 971 of file assembler-x87.h.

971 { return buffer_ + pos; }

References v8::internal::AssemblerBase::buffer_.

◆ addrmod1()

void v8::internal::Assembler::addrmod1 ( Instr  instr,
Register  rn,
Register  rd,
const Operand x 
)
private

◆ addrmod2()

void v8::internal::Assembler::addrmod2 ( Instr  instr,
Register  rd,
const MemOperand x 
)
private

◆ addrmod3()

void v8::internal::Assembler::addrmod3 ( Instr  instr,
Register  rd,
const MemOperand x 
)
private

◆ addrmod4()

void v8::internal::Assembler::addrmod4 ( Instr  instr,
Register  rn,
RegList  rl 
)
private

◆ addrmod5()

void v8::internal::Assembler::addrmod5 ( Instr  instr,
CRegister  crd,
const MemOperand x 
)
private

◆ adds()

void v8::internal::Assembler::adds ( const Register rd,
const Register rn,
const Operand operand 
)

◆ addsd() [1/4]

void v8::internal::Assembler::addsd ( XMMRegister  dst,
const Operand src 
)

◆ addsd() [2/4]

void v8::internal::Assembler::addsd ( XMMRegister  dst,
const Operand src 
)

◆ addsd() [3/4]

void v8::internal::Assembler::addsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ addsd() [4/4]

void v8::internal::Assembler::addsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ AddSub()

void v8::internal::Assembler::AddSub ( const Register rd,
const Register rn,
const Operand operand,
FlagsUpdate  S,
AddSubOp  op 
)
protected

◆ AddSubWithCarry()

void v8::internal::Assembler::AddSubWithCarry ( const Register rd,
const Register rn,
const Operand operand,
FlagsUpdate  S,
AddSubWithCarryOp  op 
)
protected

◆ addu() [1/2]

void v8::internal::Assembler::addu ( Register  rd,
Register  rs,
Register  rt 
)

◆ addu() [2/2]

void v8::internal::Assembler::addu ( Register  rd,
Register  rs,
Register  rt 
)

◆ adr() [1/2]

void v8::internal::Assembler::adr ( const Register rd,
int  imm21 
)

◆ adr() [2/2]

void v8::internal::Assembler::adr ( const Register rd,
Label *  label 
)

Referenced by emit_operand(), and v8::internal::RecordWriteStub::Patch().

+ Here is the caller graph for this function:

◆ Align() [1/7]

void v8::internal::Assembler::Align ( int  m)

Referenced by v8::internal::FullCodeGenerator::EmitBackEdgeTable().

+ Here is the caller graph for this function:

◆ Align() [2/7]

void v8::internal::Assembler::Align ( int  m)

◆ Align() [3/7]

void v8::internal::Assembler::Align ( int  m)

◆ Align() [4/7]

void v8::internal::Assembler::Align ( int  m)

◆ Align() [5/7]

void v8::internal::Assembler::Align ( int  m)

◆ Align() [6/7]

void v8::internal::Assembler::Align ( int  m)

◆ Align() [7/7]

void v8::internal::Assembler::Align ( int  m)

◆ and_() [1/16]

void v8::internal::Assembler::and_ ( const Operand dst,
const Immediate x 
)

◆ and_() [2/16]

void v8::internal::Assembler::and_ ( const Operand dst,
const Immediate x 
)

◆ and_() [3/16]

void v8::internal::Assembler::and_ ( const Operand dst,
Register  src 
)

◆ and_() [4/16]

void v8::internal::Assembler::and_ ( const Operand dst,
Register  src 
)

◆ and_() [5/16]

void v8::internal::Assembler::and_ ( const Register rd,
const Register rn,
const Operand operand 
)

◆ and_() [6/16]

void v8::internal::Assembler::and_ ( Register  dst,
const Immediate x 
)

◆ and_() [7/16]

void v8::internal::Assembler::and_ ( Register  dst,
const Immediate x 
)

◆ and_() [8/16]

void v8::internal::Assembler::and_ ( Register  dst,
const Operand src 
)

◆ and_() [9/16]

void v8::internal::Assembler::and_ ( Register  dst,
const Operand src 
)

◆ and_() [10/16]

void v8::internal::Assembler::and_ ( Register  dst,
int32_t  imm32 
)

◆ and_() [11/16]

void v8::internal::Assembler::and_ ( Register  dst,
int32_t  imm32 
)

◆ and_() [12/16]

void v8::internal::Assembler::and_ ( Register  dst,
Register  src 
)
inline

Definition at line 680 of file assembler-ia32.h.

680 { and_(dst, Operand(src)); }
void and_(Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)

References and_().

Referenced by and_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ and_() [13/16]

void v8::internal::Assembler::and_ ( Register  dst,
Register  src 
)
inline

Definition at line 665 of file assembler-x87.h.

665 { and_(dst, Operand(src)); }

References and_().

Referenced by and_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ and_() [14/16]

void v8::internal::Assembler::and_ ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::DecodeField(), and v8::internal::MacroAssembler::DecodeFieldToSmi().

+ Here is the caller graph for this function:

◆ and_() [15/16]

void v8::internal::Assembler::and_ ( Register  rd,
Register  rs,
Register  rt 
)

◆ and_() [16/16]

void v8::internal::Assembler::and_ ( Register  rd,
Register  rs,
Register  rt 
)

◆ andb()

void v8::internal::Assembler::andb ( Register  dst,
Immediate  src 
)
inline

Definition at line 801 of file assembler-x64.h.

801  {
802  immediate_arithmetic_op_8(0x4, dst, src);
803  }
void immediate_arithmetic_op_8(byte subcode, Register dst, Immediate src)

References immediate_arithmetic_op_8().

+ Here is the call graph for this function:

◆ andi() [1/2]

void v8::internal::Assembler::andi ( Register  rd,
Register  rs,
int32_t  j 
)

◆ andi() [2/2]

void v8::internal::Assembler::andi ( Register  rd,
Register  rs,
int32_t  j 
)

◆ andpd() [1/2]

void v8::internal::Assembler::andpd ( XMMRegister  dst,
XMMRegister  src 
)

◆ andpd() [2/2]

void v8::internal::Assembler::andpd ( XMMRegister  dst,
XMMRegister  src 
)

◆ andps() [1/4]

void v8::internal::Assembler::andps ( XMMRegister  dst,
const Operand src 
)

◆ andps() [2/4]

void v8::internal::Assembler::andps ( XMMRegister  dst,
const Operand src 
)

◆ andps() [3/4]

void v8::internal::Assembler::andps ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 930 of file assembler-ia32.h.

930 { andps(dst, Operand(src)); }
void andps(XMMRegister dst, const Operand &src)

References andps().

Referenced by andps().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ andps() [4/4]

void v8::internal::Assembler::andps ( XMMRegister  dst,
XMMRegister  src 
)

◆ ands()

void v8::internal::Assembler::ands ( const Register rd,
const Register rn,
const Operand operand 
)

◆ AppropriateZeroRegFor()

const Register & v8::internal::Assembler::AppropriateZeroRegFor ( const CPURegister reg) const
inlineprotected

Definition at line 1235 of file assembler-arm64-inl.h.

1235  {
1236  return reg.Is64Bits() ? xzr : wzr;
1237 }

References v8::internal::CPURegister::Is64Bits().

Referenced by v8::internal::MacroAssembler::Cmn(), v8::internal::MacroAssembler::Cmp(), v8::internal::MacroAssembler::Neg(), v8::internal::MacroAssembler::Negs(), v8::internal::MacroAssembler::Ngc(), v8::internal::MacroAssembler::Ngcs(), and v8::internal::MacroAssembler::Tst().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ arithmetic_op() [1/2]

void v8::internal::Assembler::arithmetic_op ( byte  opcode,
Register  reg,
const Operand rm_reg,
int  size 
)
private

◆ arithmetic_op() [2/2]

void v8::internal::Assembler::arithmetic_op ( byte  opcode,
Register  reg,
Register  rm_reg,
int  size 
)
private

Referenced by emit_add(), emit_and(), emit_cmp(), emit_or(), emit_sbb(), emit_sub(), and emit_xor().

+ Here is the caller graph for this function:

◆ arithmetic_op_16() [1/2]

void v8::internal::Assembler::arithmetic_op_16 ( byte  opcode,
Register  reg,
const Operand rm_reg 
)
private

◆ arithmetic_op_16() [2/2]

void v8::internal::Assembler::arithmetic_op_16 ( byte  opcode,
Register  reg,
Register  rm_reg 
)
private

Referenced by cmpw().

+ Here is the caller graph for this function:

◆ arithmetic_op_8() [1/2]

void v8::internal::Assembler::arithmetic_op_8 ( byte  opcode,
Register  reg,
const Operand rm_reg 
)
private

◆ arithmetic_op_8() [2/2]

void v8::internal::Assembler::arithmetic_op_8 ( byte  opcode,
Register  reg,
Register  rm_reg 
)
private

Referenced by cmpb().

+ Here is the caller graph for this function:

◆ asr() [1/2]

void v8::internal::Assembler::asr ( const Register rd,
const Register rn,
unsigned  shift 
)
inline

Definition at line 1242 of file assembler-arm64.h.

1242  {
1243  DCHECK(shift < rd.SizeInBits());
1244  sbfm(rd, rn, shift, rd.SizeInBits() - 1);
1245  }
void shift(Register dst, Immediate shift_amount, int subcode, int size)
void sbfm(const Register &rd, const Register &rn, unsigned immr, unsigned imms)
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, sbfm(), shift(), and v8::internal::CPURegister::SizeInBits().

+ Here is the call graph for this function:

◆ asr() [2/2]

void v8::internal::Assembler::asr ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)
inline

Definition at line 935 of file assembler-arm.h.

936  {
937  if (src2.is_reg()) {
938  mov(dst, Operand(src1, ASR, src2.rm()), s, cond);
939  } else {
940  mov(dst, Operand(src1, ASR, src2.immediate()), s, cond);
941  }
942  }
void mov(Register dst, const Operand &src, SBit s=LeaveCC, Condition cond=al)

References v8::internal::ASR, and mov().

Referenced by v8::internal::MacroAssembler::Asr().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ asrv()

void v8::internal::Assembler::asrv ( const Register rd,
const Register rn,
const Register rm 
)

Referenced by v8::internal::MacroAssembler::Asr().

+ Here is the caller graph for this function:

◆ AssertSizeOfCodeGeneratedSince()

void v8::internal::Assembler::AssertSizeOfCodeGeneratedSince ( const Label *  label,
ptrdiff_t  size 
)
inline

Definition at line 941 of file assembler-arm64.h.

941  {
942  DCHECK(size >= 0);
943  DCHECK(static_cast<uint64_t>(size) == SizeOfCodeGeneratedSince(label));
944  }
int SizeOfCodeGeneratedSince(Label *label)
enable harmony numeric enable harmony object literal extensions Optimize object size

References DCHECK, size, and SizeOfCodeGeneratedSince().

+ Here is the call graph for this function:

◆ aui() [1/2]

void v8::internal::Assembler::aui ( Register  rs,
Register  rt,
int32_t  j 
)

◆ aui() [2/2]

void v8::internal::Assembler::aui ( Register  rs,
Register  rt,
int32_t  j 
)

◆ available_space() [1/5]

int v8::internal::Assembler::available_space ( ) const
inline

Definition at line 1076 of file assembler-ia32.h.

1076 { return reloc_info_writer.pos() - pc_; }
RelocInfoWriter reloc_info_writer

References v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ available_space() [2/5]

int v8::internal::Assembler::available_space ( ) const
inline

Definition at line 1041 of file assembler-mips.h.

1041 { return reloc_info_writer.pos() - pc_; }

References v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ available_space() [3/5]

int v8::internal::Assembler::available_space ( ) const
inline

Definition at line 1077 of file assembler-mips64.h.

1077 { return reloc_info_writer.pos() - pc_; }

References v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ available_space() [4/5]

int v8::internal::Assembler::available_space ( ) const
inline

Definition at line 1141 of file assembler-x64.h.

1141  {
1142  return static_cast<int>(reloc_info_writer.pos() - pc_);
1143  }

References v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ available_space() [5/5]

int v8::internal::Assembler::available_space ( ) const
inline

Definition at line 948 of file assembler-x87.h.

948 { return reloc_info_writer.pos() - pc_; }

References v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ b() [1/11]

void v8::internal::Assembler::b ( Condition  cond,
Label *  L 
)
inline

Definition at line 851 of file assembler-arm.h.

851 { b(branch_offset(L, cond == al), cond); }
int branch_offset(Label *L, bool jump_elimination_allowed)
void b(int branch_offset, Condition cond=al)

References v8::internal::al, b(), branch_offset(), and v8::internal::L.

Referenced by b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ b() [2/11]

void v8::internal::Assembler::b ( int  branch_offset,
Condition  cond = al 
)

◆ b() [3/11]

void v8::internal::Assembler::b ( int  imm19,
Condition  cond 
)

◆ b() [4/11]

void v8::internal::Assembler::b ( int  imm26)

◆ b() [5/11]

void v8::internal::Assembler::b ( int16_t  offset)

◆ b() [6/11]

void v8::internal::Assembler::b ( int16_t  offset)

◆ b() [7/11]

void v8::internal::Assembler::b ( Label *  L)
inline

Definition at line 636 of file assembler-mips.h.

636 { b(branch_offset(L, false)>>2); }

References b(), branch_offset(), and v8::internal::L.

Referenced by b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ b() [8/11]

void v8::internal::Assembler::b ( Label *  L)
inline

Definition at line 627 of file assembler-mips64.h.

627 { b(branch_offset(L, false)>>2); }

References b(), branch_offset(), and v8::internal::L.

Referenced by b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ b() [9/11]

void v8::internal::Assembler::b ( Label *  L,
Condition  cond = al 
)
inline

Definition at line 848 of file assembler-arm.h.

848  {
849  b(branch_offset(L, cond == al), cond);
850  }

References v8::internal::al, b(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ b() [10/11]

void v8::internal::Assembler::b ( Label *  label)

◆ b() [11/11]

void v8::internal::Assembler::b ( Label *  label,
Condition  cond 
)

◆ bal() [1/4]

void v8::internal::Assembler::bal ( int16_t  offset)

◆ bal() [2/4]

void v8::internal::Assembler::bal ( int16_t  offset)

◆ bal() [3/4]

void v8::internal::Assembler::bal ( Label *  L)
inline

Definition at line 638 of file assembler-mips.h.

638 { bal(branch_offset(L, false)>>2); }
void bal(int16_t offset)

References bal(), branch_offset(), and v8::internal::L.

Referenced by bal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bal() [4/4]

void v8::internal::Assembler::bal ( Label *  L)
inline

Definition at line 629 of file assembler-mips64.h.

629 { bal(branch_offset(L, false)>>2); }

References bal(), branch_offset(), and v8::internal::L.

Referenced by bal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bc1eqz() [1/4]

void v8::internal::Assembler::bc1eqz ( int16_t  offset,
FPURegister  ft 
)

Referenced by bc1eqz().

+ Here is the caller graph for this function:

◆ bc1eqz() [2/4]

void v8::internal::Assembler::bc1eqz ( int16_t  offset,
FPURegister  ft 
)

◆ bc1eqz() [3/4]

void v8::internal::Assembler::bc1eqz ( Label *  L,
FPURegister  ft 
)
inline

Definition at line 930 of file assembler-mips.h.

930  {
931  bc1eqz(branch_offset(L, false)>>2, ft);
932  }
void bc1eqz(int16_t offset, FPURegister ft)

References bc1eqz(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bc1eqz() [4/4]

void v8::internal::Assembler::bc1eqz ( Label *  L,
FPURegister  ft 
)
inline

Definition at line 962 of file assembler-mips64.h.

962  {
963  bc1eqz(branch_offset(L, false)>>2, ft);
964  }

References bc1eqz(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bc1f() [1/4]

void v8::internal::Assembler::bc1f ( int16_t  offset,
uint16_t  cc = 0 
)

Referenced by bc1f().

+ Here is the caller graph for this function:

◆ bc1f() [2/4]

void v8::internal::Assembler::bc1f ( int16_t  offset,
uint16_t  cc = 0 
)

◆ bc1f() [3/4]

void v8::internal::Assembler::bc1f ( Label *  L,
uint16_t  cc = 0 
)
inline

Definition at line 943 of file assembler-mips.h.

943 { bc1f(branch_offset(L, false)>>2, cc); }
void bc1f(int16_t offset, uint16_t cc=0)

References bc1f(), branch_offset(), v8::internal::cc, and v8::internal::L.

Referenced by bc1f().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bc1f() [4/4]

void v8::internal::Assembler::bc1f ( Label *  L,
uint16_t  cc = 0 
)
inline

Definition at line 975 of file assembler-mips64.h.

975  {
976  bc1f(branch_offset(L, false)>>2, cc);
977  }

References bc1f(), branch_offset(), v8::internal::cc, and v8::internal::L.

+ Here is the call graph for this function:

◆ bc1nez() [1/4]

void v8::internal::Assembler::bc1nez ( int16_t  offset,
FPURegister  ft 
)

Referenced by bc1nez().

+ Here is the caller graph for this function:

◆ bc1nez() [2/4]

void v8::internal::Assembler::bc1nez ( int16_t  offset,
FPURegister  ft 
)

◆ bc1nez() [3/4]

void v8::internal::Assembler::bc1nez ( Label *  L,
FPURegister  ft 
)
inline

Definition at line 934 of file assembler-mips.h.

934  {
935  bc1nez(branch_offset(L, false)>>2, ft);
936  }
void bc1nez(int16_t offset, FPURegister ft)

References bc1nez(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bc1nez() [4/4]

void v8::internal::Assembler::bc1nez ( Label *  L,
FPURegister  ft 
)
inline

Definition at line 966 of file assembler-mips64.h.

966  {
967  bc1nez(branch_offset(L, false)>>2, ft);
968  }

References bc1nez(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bc1t() [1/4]

void v8::internal::Assembler::bc1t ( int16_t  offset,
uint16_t  cc = 0 
)

Referenced by bc1t().

+ Here is the caller graph for this function:

◆ bc1t() [2/4]

void v8::internal::Assembler::bc1t ( int16_t  offset,
uint16_t  cc = 0 
)

◆ bc1t() [3/4]

void v8::internal::Assembler::bc1t ( Label *  L,
uint16_t  cc = 0 
)
inline

Definition at line 945 of file assembler-mips.h.

945 { bc1t(branch_offset(L, false)>>2, cc); }
void bc1t(int16_t offset, uint16_t cc=0)

References bc1t(), branch_offset(), v8::internal::cc, and v8::internal::L.

Referenced by bc1t().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bc1t() [4/4]

void v8::internal::Assembler::bc1t ( Label *  L,
uint16_t  cc = 0 
)
inline

Definition at line 979 of file assembler-mips64.h.

979  {
980  bc1t(branch_offset(L, false)>>2, cc);
981  }

References bc1t(), branch_offset(), v8::internal::cc, and v8::internal::L.

+ Here is the call graph for this function:

◆ beq() [1/4]

void v8::internal::Assembler::beq ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by beq().

+ Here is the caller graph for this function:

◆ beq() [2/4]

void v8::internal::Assembler::beq ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ beq() [3/4]

void v8::internal::Assembler::beq ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 641 of file assembler-mips.h.

641  {
642  beq(rs, rt, branch_offset(L, false) >> 2);
643  }
void beq(Register rs, Register rt, int16_t offset)

References beq(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ beq() [4/4]

void v8::internal::Assembler::beq ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 632 of file assembler-mips64.h.

632  {
633  beq(rs, rt, branch_offset(L, false) >> 2);
634  }

References beq(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ beqc() [1/4]

void v8::internal::Assembler::beqc ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by beqc().

+ Here is the caller graph for this function:

◆ beqc() [2/4]

void v8::internal::Assembler::beqc ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ beqc() [3/4]

void v8::internal::Assembler::beqc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 707 of file assembler-mips.h.

707  {
708  beqc(rs, rt, branch_offset_compact(L, false)>>2);
709  }
void beqc(Register rs, Register rt, int16_t offset)
int32_t branch_offset_compact(Label *L, bool jump_elimination_allowed)

References beqc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ beqc() [4/4]

void v8::internal::Assembler::beqc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 699 of file assembler-mips64.h.

699  {
700  beqc(rs, rt, branch_offset_compact(L, false)>>2);
701  }

References beqc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ beqzalc() [1/4]

void v8::internal::Assembler::beqzalc ( Register  rt,
int16_t  offset 
)

Referenced by beqzalc().

+ Here is the caller graph for this function:

◆ beqzalc() [2/4]

void v8::internal::Assembler::beqzalc ( Register  rt,
int16_t  offset 
)

◆ beqzalc() [3/4]

void v8::internal::Assembler::beqzalc ( Register  rt,
Label *  L 
)
inline

Definition at line 703 of file assembler-mips.h.

703  {
704  beqzalc(rt, branch_offset_compact(L, false)>>2);
705  }
void beqzalc(Register rt, int16_t offset)

References beqzalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ beqzalc() [4/4]

void v8::internal::Assembler::beqzalc ( Register  rt,
Label *  L 
)
inline

Definition at line 695 of file assembler-mips64.h.

695  {
696  beqzalc(rt, branch_offset_compact(L, false)>>2);
697  }

References beqzalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ beqzc() [1/4]

void v8::internal::Assembler::beqzc ( Register  rs,
int32_t  offset 
)

Referenced by beqzc().

+ Here is the caller graph for this function:

◆ beqzc() [2/4]

void v8::internal::Assembler::beqzc ( Register  rs,
int32_t  offset 
)

◆ beqzc() [3/4]

void v8::internal::Assembler::beqzc ( Register  rs,
Label *  L 
)
inline

Definition at line 711 of file assembler-mips.h.

711  {
712  beqzc(rs, branch_offset21_compact(L, false)>>2);
713  }
int32_t branch_offset21_compact(Label *L, bool jump_elimination_allowed)
void beqzc(Register rs, int32_t offset)

References beqzc(), branch_offset21_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ beqzc() [4/4]

void v8::internal::Assembler::beqzc ( Register  rs,
Label *  L 
)
inline

Definition at line 703 of file assembler-mips64.h.

703  {
704  beqzc(rs, branch_offset21_compact(L, false)>>2);
705  }

References beqzc(), branch_offset21_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bfc()

void v8::internal::Assembler::bfc ( Register  dst,
int  lsb,
int  width,
Condition  cond = al 
)

◆ bfi() [1/2]

void v8::internal::Assembler::bfi ( const Register rd,
const Register rn,
unsigned  lsb,
unsigned  width 
)
inline

Definition at line 1221 of file assembler-arm64.h.

1224  {
1225  DCHECK(width >= 1);
1226  DCHECK(lsb + width <= rn.SizeInBits());
1227  bfm(rd, rn, (rd.SizeInBits() - lsb) & (rd.SizeInBits() - 1), width - 1);
1228  }
void bfm(const Register &rd, const Register &rn, unsigned immr, unsigned imms)

References bfm(), DCHECK, and v8::internal::CPURegister::SizeInBits().

+ Here is the call graph for this function:

◆ bfi() [2/2]

void v8::internal::Assembler::bfi ( Register  dst,
Register  src,
int  lsb,
int  width,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Bfi().

+ Here is the caller graph for this function:

◆ bfm()

void v8::internal::Assembler::bfm ( const Register rd,
const Register rn,
unsigned  immr,
unsigned  imms 
)

Referenced by bfi(), and bfxil().

+ Here is the caller graph for this function:

◆ bfxil()

void v8::internal::Assembler::bfxil ( const Register rd,
const Register rn,
unsigned  lsb,
unsigned  width 
)
inline

Definition at line 1231 of file assembler-arm64.h.

1234  {
1235  DCHECK(width >= 1);
1236  DCHECK(lsb + width <= rn.SizeInBits());
1237  bfm(rd, rn, lsb, lsb + width - 1);
1238  }

References bfm(), DCHECK, and v8::internal::CPURegister::SizeInBits().

Referenced by v8::internal::MacroAssembler::Bfxil().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bgec() [1/4]

void v8::internal::Assembler::bgec ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by bgec().

+ Here is the caller graph for this function:

◆ bgec() [2/4]

void v8::internal::Assembler::bgec ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ bgec() [3/4]

void v8::internal::Assembler::bgec ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 654 of file assembler-mips.h.

654  {
655  bgec(rs, rt, branch_offset_compact(L, false)>>2);
656  }
void bgec(Register rs, Register rt, int16_t offset)

References bgec(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgec() [4/4]

void v8::internal::Assembler::bgec ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 645 of file assembler-mips64.h.

645  {
646  bgec(rs, rt, branch_offset_compact(L, false)>>2);
647  }

References bgec(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgeuc() [1/4]

void v8::internal::Assembler::bgeuc ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by bgeuc().

+ Here is the caller graph for this function:

◆ bgeuc() [2/4]

void v8::internal::Assembler::bgeuc ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ bgeuc() [3/4]

void v8::internal::Assembler::bgeuc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 650 of file assembler-mips.h.

650  {
651  bgeuc(rs, rt, branch_offset_compact(L, false)>>2);
652  }
void bgeuc(Register rs, Register rt, int16_t offset)

References bgeuc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgeuc() [4/4]

void v8::internal::Assembler::bgeuc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 641 of file assembler-mips64.h.

641  {
642  bgeuc(rs, rt, branch_offset_compact(L, false)>>2);
643  }

References bgeuc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgez() [1/2]

void v8::internal::Assembler::bgez ( Register  rs,
int16_t  offset 
)

◆ bgez() [2/2]

void v8::internal::Assembler::bgez ( Register  rs,
int16_t  offset 
)

◆ bgezal() [1/2]

void v8::internal::Assembler::bgezal ( Register  rs,
int16_t  offset 
)

◆ bgezal() [2/2]

void v8::internal::Assembler::bgezal ( Register  rs,
int16_t  offset 
)

◆ bgezalc() [1/4]

void v8::internal::Assembler::bgezalc ( Register  rt,
int16_t  offset 
)

Referenced by bgezalc().

+ Here is the caller graph for this function:

◆ bgezalc() [2/4]

void v8::internal::Assembler::bgezalc ( Register  rt,
int16_t  offset 
)

◆ bgezalc() [3/4]

void v8::internal::Assembler::bgezalc ( Register  rt,
Label *  L 
)
inline

Definition at line 659 of file assembler-mips.h.

659  {
660  bgezalc(rt, branch_offset_compact(L, false)>>2);
661  }
void bgezalc(Register rt, int16_t offset)

References bgezalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgezalc() [4/4]

void v8::internal::Assembler::bgezalc ( Register  rt,
Label *  L 
)
inline

Definition at line 650 of file assembler-mips64.h.

650  {
651  bgezalc(rt, branch_offset_compact(L, false)>>2);
652  }

References bgezalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgezall() [1/4]

void v8::internal::Assembler::bgezall ( Register  rs,
int16_t  offset 
)

Referenced by bgezall().

+ Here is the caller graph for this function:

◆ bgezall() [2/4]

void v8::internal::Assembler::bgezall ( Register  rs,
int16_t  offset 
)

◆ bgezall() [3/4]

void v8::internal::Assembler::bgezall ( Register  rs,
Label *  L 
)
inline

Definition at line 663 of file assembler-mips.h.

663  {
664  bgezall(rs, branch_offset(L, false)>>2);
665  }
void bgezall(Register rs, int16_t offset)

References bgezall(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgezall() [4/4]

void v8::internal::Assembler::bgezall ( Register  rs,
Label *  L 
)
inline

Definition at line 654 of file assembler-mips64.h.

654  {
655  bgezall(rs, branch_offset(L, false)>>2);
656  }

References bgezall(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgezc() [1/4]

void v8::internal::Assembler::bgezc ( Register  rt,
int16_t  offset 
)

Referenced by bgezc().

+ Here is the caller graph for this function:

◆ bgezc() [2/4]

void v8::internal::Assembler::bgezc ( Register  rt,
int16_t  offset 
)

◆ bgezc() [3/4]

void v8::internal::Assembler::bgezc ( Register  rt,
Label *  L 
)
inline

Definition at line 646 of file assembler-mips.h.

646  {
647  bgezc(rt, branch_offset_compact(L, false)>>2);
648  }
void bgezc(Register rt, int16_t offset)

References bgezc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgezc() [4/4]

void v8::internal::Assembler::bgezc ( Register  rt,
Label *  L 
)
inline

Definition at line 637 of file assembler-mips64.h.

637  {
638  bgezc(rt, branch_offset_compact(L, false)>>2);
639  }

References bgezc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgtz() [1/2]

void v8::internal::Assembler::bgtz ( Register  rs,
int16_t  offset 
)

◆ bgtz() [2/2]

void v8::internal::Assembler::bgtz ( Register  rs,
int16_t  offset 
)

◆ bgtzalc() [1/4]

void v8::internal::Assembler::bgtzalc ( Register  rt,
int16_t  offset 
)

Referenced by bgtzalc().

+ Here is the caller graph for this function:

◆ bgtzalc() [2/4]

void v8::internal::Assembler::bgtzalc ( Register  rt,
int16_t  offset 
)

◆ bgtzalc() [3/4]

void v8::internal::Assembler::bgtzalc ( Register  rt,
Label *  L 
)
inline

Definition at line 699 of file assembler-mips.h.

699  {
700  bgtzalc(rt, branch_offset_compact(L, false)>>2);
701  }
void bgtzalc(Register rt, int16_t offset)

References bgtzalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgtzalc() [4/4]

void v8::internal::Assembler::bgtzalc ( Register  rt,
Label *  L 
)
inline

Definition at line 691 of file assembler-mips64.h.

691  {
692  bgtzalc(rt, branch_offset_compact(L, false)>>2);
693  }

References bgtzalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgtzc() [1/4]

void v8::internal::Assembler::bgtzc ( Register  rt,
int16_t  offset 
)

Referenced by bgtzc().

+ Here is the caller graph for this function:

◆ bgtzc() [2/4]

void v8::internal::Assembler::bgtzc ( Register  rt,
int16_t  offset 
)

◆ bgtzc() [3/4]

void v8::internal::Assembler::bgtzc ( Register  rt,
Label *  L 
)
inline

Definition at line 668 of file assembler-mips.h.

668  {
669  bgtzc(rt, branch_offset_compact(L, false)>>2);
670  }
void bgtzc(Register rt, int16_t offset)

References bgtzc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bgtzc() [4/4]

void v8::internal::Assembler::bgtzc ( Register  rt,
Label *  L 
)
inline

Definition at line 659 of file assembler-mips64.h.

659  {
660  bgtzc(rt, branch_offset_compact(L, false)>>2);
661  }

References bgtzc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bic() [1/2]

void v8::internal::Assembler::bic ( const Register rd,
const Register rn,
const Operand operand 
)

◆ bic() [2/2]

void v8::internal::Assembler::bic ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::BumpSystemStackPointer(), and v8::internal::MacroAssembler::SyncSystemStackPointer().

+ Here is the caller graph for this function:

◆ bics()

void v8::internal::Assembler::bics ( const Register rd,
const Register rn,
const Operand operand 
)

◆ bind() [1/7]

void v8::internal::Assembler::bind ( Label *  L)

Referenced by v8::internal::MacroAssembler::Bind(), v8::internal::MacroAssembler::JumpIfJSArrayHasAllocationMemento(), v8::internal::StringCharCodeAtGenerator::SkipSlow(), and v8::internal::StringCharFromCodeGenerator::SkipSlow().

+ Here is the caller graph for this function:

◆ bind() [2/7]

void v8::internal::Assembler::bind ( Label *  L)

◆ bind() [3/7]

void v8::internal::Assembler::bind ( Label *  L)

◆ bind() [4/7]

void v8::internal::Assembler::bind ( Label *  L)

◆ bind() [5/7]

void v8::internal::Assembler::bind ( Label *  L)

◆ bind() [6/7]

void v8::internal::Assembler::bind ( Label *  L)

◆ bind() [7/7]

void v8::internal::Assembler::bind ( Label *  label)

◆ bind_to() [1/6]

void v8::internal::Assembler::bind_to ( Label *  L,
int  pos 
)
private

◆ bind_to() [2/6]

void v8::internal::Assembler::bind_to ( Label *  L,
int  pos 
)
private

◆ bind_to() [3/6]

void v8::internal::Assembler::bind_to ( Label *  L,
int  pos 
)
private

◆ bind_to() [4/6]

void v8::internal::Assembler::bind_to ( Label *  L,
int  pos 
)
private

◆ bind_to() [5/6]

void v8::internal::Assembler::bind_to ( Label *  L,
int  pos 
)
private

◆ bind_to() [6/6]

void v8::internal::Assembler::bind_to ( Label *  L,
int  pos 
)
private

◆ BitN()

Instr v8::internal::Assembler::BitN ( unsigned  bitn,
unsigned  reg_size 
)
inlinestatic

Definition at line 1108 of file assembler-arm64-inl.h.

1108  {
1109  DCHECK((reg_size == kWRegSizeInBits) || (reg_size == kXRegSizeInBits));
1110  DCHECK((reg_size == kXRegSizeInBits) || (bitn == 0));
1111  USE(reg_size);
1112  return bitn << BitN_offset;
1113 }
void USE(T)
Definition: macros.h:322
const unsigned kXRegSizeInBits
const unsigned kWRegSizeInBits

References DCHECK, v8::internal::kWRegSizeInBits, v8::internal::kXRegSizeInBits, and USE().

+ Here is the call graph for this function:

◆ bkpt()

void v8::internal::Assembler::bkpt ( uint32_t  imm16)

Referenced by v8::internal::Deoptimizer::PatchCodeForDeoptimization().

+ Here is the caller graph for this function:

◆ bl() [1/5]

void v8::internal::Assembler::bl ( Condition  cond,
Label *  L 
)
inline

Definition at line 853 of file assembler-arm.h.

853 { bl(branch_offset(L, false), cond); }
void bl(int branch_offset, Condition cond=al)

References bl(), branch_offset(), and v8::internal::L.

Referenced by bl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bl() [2/5]

void v8::internal::Assembler::bl ( int  branch_offset,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Bl().

+ Here is the caller graph for this function:

◆ bl() [3/5]

void v8::internal::Assembler::bl ( int  imm26)

◆ bl() [4/5]

void v8::internal::Assembler::bl ( Label *  L,
Condition  cond = al 
)
inline

Definition at line 852 of file assembler-arm.h.

852 { bl(branch_offset(L, false), cond); }

References bl(), branch_offset(), and v8::internal::L.

Referenced by bl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bl() [5/5]

void v8::internal::Assembler::bl ( Label *  label)

◆ blez() [1/2]

void v8::internal::Assembler::blez ( Register  rs,
int16_t  offset 
)

◆ blez() [2/2]

void v8::internal::Assembler::blez ( Register  rs,
int16_t  offset 
)

◆ blezalc() [1/4]

void v8::internal::Assembler::blezalc ( Register  rt,
int16_t  offset 
)

Referenced by blezalc().

+ Here is the caller graph for this function:

◆ blezalc() [2/4]

void v8::internal::Assembler::blezalc ( Register  rt,
int16_t  offset 
)

◆ blezalc() [3/4]

void v8::internal::Assembler::blezalc ( Register  rt,
Label *  L 
)
inline

Definition at line 691 of file assembler-mips.h.

691  {
692  blezalc(rt, branch_offset_compact(L, false)>>2);
693  }
void blezalc(Register rt, int16_t offset)

References blezalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ blezalc() [4/4]

void v8::internal::Assembler::blezalc ( Register  rt,
Label *  L 
)
inline

Definition at line 683 of file assembler-mips64.h.

683  {
684  blezalc(rt, branch_offset_compact(L, false)>>2);
685  }

References blezalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ blezc() [1/4]

void v8::internal::Assembler::blezc ( Register  rt,
int16_t  offset 
)

Referenced by blezc().

+ Here is the caller graph for this function:

◆ blezc() [2/4]

void v8::internal::Assembler::blezc ( Register  rt,
int16_t  offset 
)

◆ blezc() [3/4]

void v8::internal::Assembler::blezc ( Register  rt,
Label *  L 
)
inline

Definition at line 673 of file assembler-mips.h.

673  {
674  blezc(rt, branch_offset_compact(L, false)>>2);
675  }
void blezc(Register rt, int16_t offset)

References blezc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ blezc() [4/4]

void v8::internal::Assembler::blezc ( Register  rt,
Label *  L 
)
inline

Definition at line 664 of file assembler-mips64.h.

664  {
665  blezc(rt, branch_offset_compact(L, false)>>2);
666  }

References blezc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ BlockConstPoolFor() [1/2]

void v8::internal::Assembler::BlockConstPoolFor ( int  instructions)

◆ BlockConstPoolFor() [2/2]

void v8::internal::Assembler::BlockConstPoolFor ( int  instructions)
private

◆ BlockTrampolinePoolBefore() [1/2]

void v8::internal::Assembler::BlockTrampolinePoolBefore ( int  pc_offset)
inlineprotected

Definition at line 1135 of file assembler-mips.h.

References no_trampoline_pool_before_, and v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ BlockTrampolinePoolBefore() [2/2]

void v8::internal::Assembler::BlockTrampolinePoolBefore ( int  pc_offset)
inlineprotected

Definition at line 1171 of file assembler-mips64.h.

1171  {
1174  }

References no_trampoline_pool_before_, and v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ BlockTrampolinePoolFor() [1/2]

void v8::internal::Assembler::BlockTrampolinePoolFor ( int  instructions)

◆ BlockTrampolinePoolFor() [2/2]

void v8::internal::Assembler::BlockTrampolinePoolFor ( int  instructions)

◆ blr()

void v8::internal::Assembler::blr ( const Register xn)

Referenced by v8::internal::MacroAssembler::Blr().

+ Here is the caller graph for this function:

◆ bltc() [1/4]

void v8::internal::Assembler::bltc ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by bltc().

+ Here is the caller graph for this function:

◆ bltc() [2/4]

void v8::internal::Assembler::bltc ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ bltc() [3/4]

void v8::internal::Assembler::bltc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 686 of file assembler-mips.h.

686  {
687  bltc(rs, rt, branch_offset_compact(L, false)>>2);
688  }
void bltc(Register rs, Register rt, int16_t offset)

References bltc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bltc() [4/4]

void v8::internal::Assembler::bltc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 677 of file assembler-mips64.h.

677  {
678  bltc(rs, rt, branch_offset_compact(L, false)>>2);
679  }

References bltc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bltuc() [1/4]

void v8::internal::Assembler::bltuc ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by bltuc().

+ Here is the caller graph for this function:

◆ bltuc() [2/4]

void v8::internal::Assembler::bltuc ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ bltuc() [3/4]

void v8::internal::Assembler::bltuc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 682 of file assembler-mips.h.

682  {
683  bltuc(rs, rt, branch_offset_compact(L, false)>>2);
684  }
void bltuc(Register rs, Register rt, int16_t offset)

References bltuc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bltuc() [4/4]

void v8::internal::Assembler::bltuc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 673 of file assembler-mips64.h.

673  {
674  bltuc(rs, rt, branch_offset_compact(L, false)>>2);
675  }

References bltuc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bltz() [1/2]

void v8::internal::Assembler::bltz ( Register  rs,
int16_t  offset 
)

◆ bltz() [2/2]

void v8::internal::Assembler::bltz ( Register  rs,
int16_t  offset 
)

◆ bltzal() [1/2]

void v8::internal::Assembler::bltzal ( Register  rs,
int16_t  offset 
)

◆ bltzal() [2/2]

void v8::internal::Assembler::bltzal ( Register  rs,
int16_t  offset 
)

◆ bltzalc() [1/4]

void v8::internal::Assembler::bltzalc ( Register  rt,
int16_t  offset 
)

Referenced by bltzalc().

+ Here is the caller graph for this function:

◆ bltzalc() [2/4]

void v8::internal::Assembler::bltzalc ( Register  rt,
int16_t  offset 
)

◆ bltzalc() [3/4]

void v8::internal::Assembler::bltzalc ( Register  rt,
Label *  L 
)
inline

Definition at line 695 of file assembler-mips.h.

695  {
696  bltzalc(rt, branch_offset_compact(L, false)>>2);
697  }
void bltzalc(Register rt, int16_t offset)

References bltzalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bltzalc() [4/4]

void v8::internal::Assembler::bltzalc ( Register  rt,
Label *  L 
)
inline

Definition at line 687 of file assembler-mips64.h.

687  {
688  bltzalc(rt, branch_offset_compact(L, false)>>2);
689  }

References bltzalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bltzc() [1/4]

void v8::internal::Assembler::bltzc ( Register  rt,
int16_t  offset 
)

Referenced by bltzc().

+ Here is the caller graph for this function:

◆ bltzc() [2/4]

void v8::internal::Assembler::bltzc ( Register  rt,
int16_t  offset 
)

◆ bltzc() [3/4]

void v8::internal::Assembler::bltzc ( Register  rt,
Label *  L 
)
inline

Definition at line 678 of file assembler-mips.h.

678  {
679  bltzc(rt, branch_offset_compact(L, false)>>2);
680  }
void bltzc(Register rt, int16_t offset)

References bltzc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bltzc() [4/4]

void v8::internal::Assembler::bltzc ( Register  rt,
Label *  L 
)
inline

Definition at line 669 of file assembler-mips64.h.

669  {
670  bltzc(rt, branch_offset_compact(L, false)>>2);
671  }

References bltzc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ blx() [1/3]

void v8::internal::Assembler::blx ( int  branch_offset)

◆ blx() [2/3]

void v8::internal::Assembler::blx ( Label *  L)
inline

Definition at line 854 of file assembler-arm.h.

854 { blx(branch_offset(L, false)); } // v5 and above
void blx(int branch_offset)

References blx(), branch_offset(), and v8::internal::L.

Referenced by blx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blx() [3/3]

void v8::internal::Assembler::blx ( Register  target,
Condition  cond = al 
)

◆ bne() [1/4]

void v8::internal::Assembler::bne ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by bne().

+ Here is the caller graph for this function:

◆ bne() [2/4]

void v8::internal::Assembler::bne ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ bne() [3/4]

void v8::internal::Assembler::bne ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 727 of file assembler-mips.h.

727  {
728  bne(rs, rt, branch_offset(L, false)>>2);
729  }
void bne(Register rs, Register rt, int16_t offset)

References bne(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bne() [4/4]

void v8::internal::Assembler::bne ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 719 of file assembler-mips64.h.

719  {
720  bne(rs, rt, branch_offset(L, false)>>2);
721  }

References bne(), branch_offset(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bnec() [1/4]

void v8::internal::Assembler::bnec ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by bnec().

+ Here is the caller graph for this function:

◆ bnec() [2/4]

void v8::internal::Assembler::bnec ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ bnec() [3/4]

void v8::internal::Assembler::bnec ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 719 of file assembler-mips.h.

719  {
720  bnec(rs, rt, branch_offset_compact(L, false)>>2);
721  }
void bnec(Register rs, Register rt, int16_t offset)

References bnec(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bnec() [4/4]

void v8::internal::Assembler::bnec ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 711 of file assembler-mips64.h.

711  {
712  bnec(rs, rt, branch_offset_compact(L, false)>>2);
713  }

References bnec(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bnezalc() [1/4]

void v8::internal::Assembler::bnezalc ( Register  rt,
int16_t  offset 
)

Referenced by bnezalc().

+ Here is the caller graph for this function:

◆ bnezalc() [2/4]

void v8::internal::Assembler::bnezalc ( Register  rt,
int16_t  offset 
)

◆ bnezalc() [3/4]

void v8::internal::Assembler::bnezalc ( Register  rt,
Label *  L 
)
inline

Definition at line 715 of file assembler-mips.h.

715  {
716  bnezalc(rt, branch_offset_compact(L, false)>>2);
717  }
void bnezalc(Register rt, int16_t offset)

References bnezalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bnezalc() [4/4]

void v8::internal::Assembler::bnezalc ( Register  rt,
Label *  L 
)
inline

Definition at line 707 of file assembler-mips64.h.

707  {
708  bnezalc(rt, branch_offset_compact(L, false)>>2);
709  }

References bnezalc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bnezc() [1/4]

void v8::internal::Assembler::bnezc ( Register  rt,
int32_t  offset 
)

Referenced by bnezc().

+ Here is the caller graph for this function:

◆ bnezc() [2/4]

void v8::internal::Assembler::bnezc ( Register  rt,
int32_t  offset 
)

◆ bnezc() [3/4]

void v8::internal::Assembler::bnezc ( Register  rt,
Label *  L 
)
inline

Definition at line 723 of file assembler-mips.h.

723  {
724  bnezc(rt, branch_offset21_compact(L, false)>>2);
725  }
void bnezc(Register rt, int32_t offset)

References bnezc(), branch_offset21_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bnezc() [4/4]

void v8::internal::Assembler::bnezc ( Register  rt,
Label *  L 
)
inline

Definition at line 715 of file assembler-mips64.h.

715  {
716  bnezc(rt, branch_offset21_compact(L, false)>>2);
717  }

References bnezc(), branch_offset21_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bnvc() [1/4]

void v8::internal::Assembler::bnvc ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by bnvc().

+ Here is the caller graph for this function:

◆ bnvc() [2/4]

void v8::internal::Assembler::bnvc ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ bnvc() [3/4]

void v8::internal::Assembler::bnvc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 735 of file assembler-mips.h.

735  {
736  bnvc(rs, rt, branch_offset_compact(L, false)>>2);
737  }
void bnvc(Register rs, Register rt, int16_t offset)

References bnvc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bnvc() [4/4]

void v8::internal::Assembler::bnvc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 727 of file assembler-mips64.h.

727  {
728  bnvc(rs, rt, branch_offset_compact(L, false)>>2);
729  }

References bnvc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bovc() [1/4]

void v8::internal::Assembler::bovc ( Register  rs,
Register  rt,
int16_t  offset 
)

Referenced by bovc().

+ Here is the caller graph for this function:

◆ bovc() [2/4]

void v8::internal::Assembler::bovc ( Register  rs,
Register  rt,
int16_t  offset 
)

◆ bovc() [3/4]

void v8::internal::Assembler::bovc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 731 of file assembler-mips.h.

731  {
732  bovc(rs, rt, branch_offset_compact(L, false)>>2);
733  }
void bovc(Register rs, Register rt, int16_t offset)

References bovc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ bovc() [4/4]

void v8::internal::Assembler::bovc ( Register  rs,
Register  rt,
Label *  L 
)
inline

Definition at line 723 of file assembler-mips64.h.

723  {
724  bovc(rs, rt, branch_offset_compact(L, false)>>2);
725  }

References bovc(), branch_offset_compact(), and v8::internal::L.

+ Here is the call graph for this function:

◆ br()

void v8::internal::Assembler::br ( const Register xn)

Referenced by v8::internal::MacroAssembler::Br().

+ Here is the caller graph for this function:

◆ branch_offset() [1/3]

int v8::internal::Assembler::branch_offset ( Label *  L,
bool  jump_elimination_allowed 
)

Referenced by b(), bal(), bc1eqz(), bc1f(), bc1nez(), bc1t(), beq(), bgezall(), bl(), blx(), bne(), and shifted_branch_offset().

+ Here is the caller graph for this function:

◆ branch_offset() [2/3]

int32_t v8::internal::Assembler::branch_offset ( Label *  L,
bool  jump_elimination_allowed 
)

◆ branch_offset() [3/3]

int32_t v8::internal::Assembler::branch_offset ( Label *  L,
bool  jump_elimination_allowed 
)

◆ branch_offset21() [1/2]

int32_t v8::internal::Assembler::branch_offset21 ( Label *  L,
bool  jump_elimination_allowed 
)

◆ branch_offset21() [2/2]

int32_t v8::internal::Assembler::branch_offset21 ( Label *  L,
bool  jump_elimination_allowed 
)

◆ branch_offset21_compact() [1/2]

int32_t v8::internal::Assembler::branch_offset21_compact ( Label *  L,
bool  jump_elimination_allowed 
)

Referenced by beqzc(), and bnezc().

+ Here is the caller graph for this function:

◆ branch_offset21_compact() [2/2]

int32_t v8::internal::Assembler::branch_offset21_compact ( Label *  L,
bool  jump_elimination_allowed 
)

◆ branch_offset_compact() [1/2]

int32_t v8::internal::Assembler::branch_offset_compact ( Label *  L,
bool  jump_elimination_allowed 
)

Referenced by beqc(), beqzalc(), bgec(), bgeuc(), bgezalc(), bgezc(), bgtzalc(), bgtzc(), blezalc(), blezc(), bltc(), bltuc(), bltzalc(), bltzc(), bnec(), bnezalc(), bnvc(), bovc(), and shifted_branch_offset_compact().

+ Here is the caller graph for this function:

◆ branch_offset_compact() [2/2]

int32_t v8::internal::Assembler::branch_offset_compact ( Label *  L,
bool  jump_elimination_allowed 
)

◆ break_() [1/2]

void v8::internal::Assembler::break_ ( uint32_t  code,
bool  break_as_stop = false 
)

◆ break_() [2/2]

void v8::internal::Assembler::break_ ( uint32_t  code,
bool  break_as_stop = false 
)

◆ break_address_from_return_address() [1/6]

Address v8::internal::Assembler::break_address_from_return_address ( Address  pc)
inlinestatic

Definition at line 489 of file assembler-arm-inl.h.

489  {
491 }
Instruction * pc() const
static const int kPatchDebugBreakSlotReturnOffset

References kPatchDebugBreakSlotReturnOffset, and pc().

Referenced by v8::internal::Debug::IsBreakAtReturn(), and v8::internal::Debug::SetAfterBreakTarget().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ break_address_from_return_address() [2/6]

static Address v8::internal::Assembler::break_address_from_return_address ( Address  pc)
inlinestatic

◆ break_address_from_return_address() [3/6]

static Address v8::internal::Assembler::break_address_from_return_address ( Address  pc)
inlinestatic

◆ break_address_from_return_address() [4/6]

static Address v8::internal::Assembler::break_address_from_return_address ( Address  pc)
inlinestatic

◆ break_address_from_return_address() [5/6]

static Address v8::internal::Assembler::break_address_from_return_address ( Address  pc)
inlinestatic

◆ break_address_from_return_address() [6/6]

static Address v8::internal::Assembler::break_address_from_return_address ( Address  pc)
inlinestatic

◆ brk()

void v8::internal::Assembler::brk ( int  code)

Referenced by v8::internal::MacroAssembler::Brk().

+ Here is the caller graph for this function:

◆ bsr() [1/4]

void v8::internal::Assembler::bsr ( Register  dst,
const Operand src 
)

◆ bsr() [2/4]

void v8::internal::Assembler::bsr ( Register  dst,
const Operand src 
)

◆ bsr() [3/4]

void v8::internal::Assembler::bsr ( Register  dst,
Register  src 
)
inline

Definition at line 794 of file assembler-ia32.h.

794 { bsr(dst, Operand(src)); }
void bsr(Register dst, Register src)

References bsr().

Referenced by bsr().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bsr() [4/4]

void v8::internal::Assembler::bsr ( Register  dst,
Register  src 
)
inline

Definition at line 779 of file assembler-x87.h.

779 { bsr(dst, Operand(src)); }

References bsr().

Referenced by bsr().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bsrl()

void v8::internal::Assembler::bsrl ( Register  dst,
Register  src 
)

◆ bt() [1/3]

void v8::internal::Assembler::bt ( const Operand dst,
Register  src 
)

◆ bt() [2/3]

void v8::internal::Assembler::bt ( const Operand dst,
Register  src 
)

◆ bt() [3/3]

void v8::internal::Assembler::bt ( const Operand dst,
Register  src 
)

◆ bts() [1/5]

void v8::internal::Assembler::bts ( const Operand dst,
Register  src 
)

◆ bts() [2/5]

void v8::internal::Assembler::bts ( const Operand dst,
Register  src 
)

◆ bts() [3/5]

void v8::internal::Assembler::bts ( const Operand dst,
Register  src 
)

◆ bts() [4/5]

void v8::internal::Assembler::bts ( Register  dst,
Register  src 
)
inline

Definition at line 792 of file assembler-ia32.h.

792 { bts(Operand(dst), src); }
void bts(Register dst, Register src)

References bts().

Referenced by bts().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bts() [5/5]

void v8::internal::Assembler::bts ( Register  dst,
Register  src 
)
inline

Definition at line 777 of file assembler-x87.h.

777 { bts(Operand(dst), src); }

References bts().

Referenced by bts().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buffer_overflow() [1/3]

bool v8::internal::Assembler::buffer_overflow ( ) const
inline

Definition at line 1071 of file assembler-ia32.h.

1071  {
1072  return pc_ >= reloc_info_writer.pos() - kGap;
1073  }
static const int kGap

References kGap, v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ buffer_overflow() [2/3]

bool v8::internal::Assembler::buffer_overflow ( ) const
inline

Definition at line 1136 of file assembler-x64.h.

1136  {
1137  return pc_ >= reloc_info_writer.pos() - kGap;
1138  }

References kGap, v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ buffer_overflow() [3/3]

bool v8::internal::Assembler::buffer_overflow ( ) const
inline

Definition at line 943 of file assembler-x87.h.

943  {
944  return pc_ >= reloc_info_writer.pos() - kGap;
945  }

References kGap, v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ buffer_space() [1/4]

int v8::internal::Assembler::buffer_space ( ) const
inlineprotected

Definition at line 1505 of file assembler-arm.h.

1505 { return reloc_info_writer.pos() - pc_; }

References v8::internal::AssemblerBase::pc_, and reloc_info_writer.

Referenced by CheckBuffer(), and CheckBufferSpace().

+ Here is the caller graph for this function:

◆ buffer_space() [2/4]

int v8::internal::Assembler::buffer_space ( ) const

◆ buffer_space() [3/4]

int32_t v8::internal::Assembler::buffer_space ( ) const
inlineprotected

Definition at line 1120 of file assembler-mips.h.

1120 { return reloc_info_writer.pos() - pc_; }

References v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ buffer_space() [4/4]

int64_t v8::internal::Assembler::buffer_space ( ) const
inlineprotected

Definition at line 1156 of file assembler-mips64.h.

1156 { return reloc_info_writer.pos() - pc_; }

References v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ bx()

void v8::internal::Assembler::bx ( Register  target,
Condition  cond = al 
)

◆ byte_at() [1/3]

byte v8::internal::Assembler::byte_at ( int  pos)
inline

Definition at line 1089 of file assembler-ia32.h.

1089 { return buffer_[pos]; }

References v8::internal::AssemblerBase::buffer_.

◆ byte_at() [2/3]

byte v8::internal::Assembler::byte_at ( int  pos)
inline

Definition at line 1150 of file assembler-x64.h.

1150 { return buffer_[pos]; }

References v8::internal::AssemblerBase::buffer_.

◆ byte_at() [3/3]

byte v8::internal::Assembler::byte_at ( int  pos)
inline

Definition at line 961 of file assembler-x87.h.

961 { return buffer_[pos]; }

References v8::internal::AssemblerBase::buffer_.

◆ c() [1/2]

void v8::internal::Assembler::c ( FPUCondition  cond,
SecondaryField  fmt,
FPURegister  ft,
FPURegister  fs,
uint16_t  cc = 0 
)

◆ c() [2/2]

void v8::internal::Assembler::c ( FPUCondition  cond,
SecondaryField  fmt,
FPURegister  ft,
FPURegister  fs,
uint16_t  cc = 0 
)

◆ CalcLSDataSize()

LSDataSize v8::internal::Assembler::CalcLSDataSize ( LoadStoreOp  op)
inlinestatic

Definition at line 1206 of file assembler-arm64-inl.h.

1206  {
1207  DCHECK((SizeLS_offset + SizeLS_width) == (kInstructionSize * 8));
1208  return static_cast<LSDataSize>(op >> SizeLS_offset);
1209 }
const unsigned kInstructionSize

References DCHECK, and v8::internal::kInstructionSize.

◆ call() [1/16]

void v8::internal::Assembler::call ( Address  entry,
RelocInfo::Mode  rmode 
)

◆ call() [2/16]

void v8::internal::Assembler::call ( Address  target)

◆ call() [3/16]

void v8::internal::Assembler::call ( byte entry,
RelocInfo::Mode  rmode 
)

◆ call() [4/16]

void v8::internal::Assembler::call ( byte entry,
RelocInfo::Mode  rmode 
)

◆ call() [5/16]

void v8::internal::Assembler::call ( const Operand adr)

◆ call() [6/16]

void v8::internal::Assembler::call ( const Operand adr)

◆ call() [7/16]

void v8::internal::Assembler::call ( const Operand operand)
protected

◆ call() [8/16]

void v8::internal::Assembler::call ( Handle< Code code,
RelocInfo::Mode  rmode,
TypeFeedbackId  id = TypeFeedbackId::None() 
)

◆ call() [9/16]

void v8::internal::Assembler::call ( Handle< Code code,
RelocInfo::Mode  rmode,
TypeFeedbackId  id = TypeFeedbackId::None() 
)

◆ call() [10/16]

void v8::internal::Assembler::call ( Handle< Code target,
RelocInfo::Mode  rmode = RelocInfo::CODE_TARGET,
TypeFeedbackId  ast_id = TypeFeedbackId::None() 
)

◆ call() [11/16]

void v8::internal::Assembler::call ( Label *  L)

Referenced by v8::internal::MacroAssembler::Call(), and v8::internal::MacroAssembler::CallSelf().

+ Here is the caller graph for this function:

◆ call() [12/16]

void v8::internal::Assembler::call ( Label *  L)

◆ call() [13/16]

void v8::internal::Assembler::call ( Label *  L)

◆ call() [14/16]

void v8::internal::Assembler::call ( Register  adr)

◆ call() [15/16]

void v8::internal::Assembler::call ( Register  reg)
inline

Definition at line 824 of file assembler-ia32.h.

824 { call(Operand(reg)); }

References call().

Referenced by call().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ call() [16/16]

void v8::internal::Assembler::call ( Register  reg)
inline

Definition at line 809 of file assembler-x87.h.

809 { call(Operand(reg)); }

References call().

Referenced by call().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CallSize() [1/4]

int v8::internal::Assembler::CallSize ( const Operand adr)

◆ CallSize() [2/4]

int v8::internal::Assembler::CallSize ( const Operand adr)

◆ CallSize() [3/4]

int v8::internal::Assembler::CallSize ( Handle< Code code,
RelocInfo::Mode  mode 
)

◆ CallSize() [4/4]

int v8::internal::Assembler::CallSize ( Handle< Code code,
RelocInfo::Mode  mode 
)

◆ cbnz() [1/2]

void v8::internal::Assembler::cbnz ( const Register rt,
int  imm19 
)

◆ cbnz() [2/2]

void v8::internal::Assembler::cbnz ( const Register rt,
Label *  label 
)

◆ cbz() [1/2]

void v8::internal::Assembler::cbz ( const Register rt,
int  imm19 
)

◆ cbz() [2/2]

void v8::internal::Assembler::cbz ( const Register rt,
Label *  label 
)

◆ ccmn()

void v8::internal::Assembler::ccmn ( const Register rn,
const Operand operand,
StatusFlags  nzcv,
Condition  cond 
)

◆ ccmp()

void v8::internal::Assembler::ccmp ( const Register rn,
const Operand operand,
StatusFlags  nzcv,
Condition  cond 
)

◆ cdp()

void v8::internal::Assembler::cdp ( Coprocessor  coproc,
int  opcode_1,
CRegister  crd,
CRegister  crn,
CRegister  crm,
int  opcode_2,
Condition  cond = al 
)

◆ cdp2()

void v8::internal::Assembler::cdp2 ( Coprocessor  coproc,
int  opcode_1,
CRegister  crd,
CRegister  crn,
CRegister  crm,
int  opcode_2 
)

◆ cdq() [1/3]

void v8::internal::Assembler::cdq ( )

◆ cdq() [2/3]

void v8::internal::Assembler::cdq ( )

◆ cdq() [3/3]

void v8::internal::Assembler::cdq ( )

◆ ceil_l_d() [1/2]

void v8::internal::Assembler::ceil_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ ceil_l_d() [2/2]

void v8::internal::Assembler::ceil_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ ceil_l_s() [1/2]

void v8::internal::Assembler::ceil_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ ceil_l_s() [2/2]

void v8::internal::Assembler::ceil_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ ceil_w_d() [1/2]

void v8::internal::Assembler::ceil_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ ceil_w_d() [2/2]

void v8::internal::Assembler::ceil_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ ceil_w_s() [1/2]

void v8::internal::Assembler::ceil_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ ceil_w_s() [2/2]

void v8::internal::Assembler::ceil_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ cfc1() [1/2]

void v8::internal::Assembler::cfc1 ( Register  rt,
FPUControlRegister  fs 
)

◆ cfc1() [2/2]

void v8::internal::Assembler::cfc1 ( Register  rt,
FPUControlRegister  fs 
)

◆ CheckBuffer() [1/4]

void v8::internal::Assembler::CheckBuffer ( )
inlineprivate

Definition at line 412 of file assembler-arm-inl.h.

412  {
413  if (buffer_space() <= kGap) {
414  GrowBuffer();
415  }
416  if (pc_offset() >= next_buffer_check_) {
417  CheckConstPool(false, true);
418  }
419 }
void CheckConstPool(bool force_emit, bool require_jump)

References buffer_space(), CheckConstPool(), GrowBuffer(), kGap, next_buffer_check_, and v8::internal::AssemblerBase::pc_offset().

Referenced by Emit(), emit(), EmitData(), and v8::internal::BASE_EMBEDDED< Visitor >::EnsureSpace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckBuffer() [2/4]

void v8::internal::Assembler::CheckBuffer ( )
private

◆ CheckBuffer() [3/4]

void v8::internal::Assembler::CheckBuffer ( )
inlineprivate

◆ CheckBuffer() [4/4]

void v8::internal::Assembler::CheckBuffer ( )
inlineprivate

◆ CheckBufferSpace()

void v8::internal::Assembler::CheckBufferSpace ( )
inlineprivate

Definition at line 1240 of file assembler-arm64-inl.h.

1240  {
1241  DCHECK(pc_ < (buffer_ + buffer_size_));
1242  if (buffer_space() < kGap) {
1243  GrowBuffer();
1244  }
1245 }

References v8::internal::AssemblerBase::buffer_, v8::internal::AssemblerBase::buffer_size_, buffer_space(), DCHECK, GrowBuffer(), kGap, and v8::internal::AssemblerBase::pc_.

Referenced by v8::internal::BASE_EMBEDDED< Visitor >::EnsureSpace().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckConstPool() [1/2]

void v8::internal::Assembler::CheckConstPool ( bool  force_emit,
bool  require_jump 
)

Referenced by CheckBuffer(), and v8::internal::compiler::FinishCode().

+ Here is the caller graph for this function:

◆ CheckConstPool() [2/2]

void v8::internal::Assembler::CheckConstPool ( bool  force_emit,
bool  require_jump 
)

◆ CheckLabelLinkChain()

void v8::internal::Assembler::CheckLabelLinkChain ( Label const *  label)
private

◆ CheckTrampolinePool() [1/2]

void v8::internal::Assembler::CheckTrampolinePool ( )

Referenced by CheckTrampolinePoolQuick().

+ Here is the caller graph for this function:

◆ CheckTrampolinePool() [2/2]

void v8::internal::Assembler::CheckTrampolinePool ( )

◆ CheckTrampolinePoolQuick() [1/2]

void v8::internal::Assembler::CheckTrampolinePoolQuick ( )
inlineprivate

Definition at line 436 of file assembler-mips-inl.h.

436  {
437  if (pc_offset() >= next_buffer_check_) {
439  }
440 }

References CheckTrampolinePool(), next_buffer_check_, and v8::internal::AssemblerBase::pc_offset().

Referenced by emit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckTrampolinePoolQuick() [2/2]

void v8::internal::Assembler::CheckTrampolinePoolQuick ( )
inlineprivate

◆ CheckVeneerPool()

void v8::internal::Assembler::CheckVeneerPool ( bool  force_emit,
bool  require_jump,
int  margin = kVeneerDistanceMargin 
)

Referenced by v8::internal::MacroAssembler::B(), and v8::internal::MacroAssembler::Ret().

+ Here is the caller graph for this function:

◆ cinc()

void v8::internal::Assembler::cinc ( const Register rd,
const Register rn,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Cinc().

+ Here is the caller graph for this function:

◆ cinv()

void v8::internal::Assembler::cinv ( const Register rd,
const Register rn,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Cinv().

+ Here is the caller graph for this function:

◆ clc()

void v8::internal::Assembler::clc ( )

◆ cld() [1/3]

void v8::internal::Assembler::cld ( )

◆ cld() [2/3]

void v8::internal::Assembler::cld ( )

◆ cld() [3/3]

void v8::internal::Assembler::cld ( )

◆ ClearRecordedAstId() [1/4]

void v8::internal::Assembler::ClearRecordedAstId ( )
inline

Definition at line 1373 of file assembler-arm.h.

TypeFeedbackId recorded_ast_id_
static TypeFeedbackId None()
Definition: utils.h:945

References v8::internal::TypeFeedbackId::None(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ ClearRecordedAstId() [2/4]

void v8::internal::Assembler::ClearRecordedAstId ( )
inlineprivate

◆ ClearRecordedAstId() [3/4]

void v8::internal::Assembler::ClearRecordedAstId ( )
inline

Definition at line 1013 of file assembler-mips.h.

References v8::internal::TypeFeedbackId::None(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ ClearRecordedAstId() [4/4]

void v8::internal::Assembler::ClearRecordedAstId ( )
inline

Definition at line 1049 of file assembler-mips64.h.

References v8::internal::TypeFeedbackId::None(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ cls()

void v8::internal::Assembler::cls ( const Register rd,
const Register rn 
)

Referenced by v8::internal::MacroAssembler::Cls().

+ Here is the caller graph for this function:

◆ clz() [1/4]

void v8::internal::Assembler::clz ( const Register rd,
const Register rn 
)

◆ clz() [2/4]

void v8::internal::Assembler::clz ( Register  dst,
Register  src,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Clz().

+ Here is the caller graph for this function:

◆ clz() [3/4]

void v8::internal::Assembler::clz ( Register  rd,
Register  rs 
)

◆ clz() [4/4]

void v8::internal::Assembler::clz ( Register  rd,
Register  rs 
)

◆ cmn() [1/2]

void v8::internal::Assembler::cmn ( const Register rn,
const Operand operand 
)

◆ cmn() [2/2]

void v8::internal::Assembler::cmn ( Register  src1,
const Operand src2,
Condition  cond = al 
)

◆ cmov() [1/2]

void v8::internal::Assembler::cmov ( Condition  cc,
Register  dst,
const Operand src 
)

◆ cmov() [2/2]

void v8::internal::Assembler::cmov ( Condition  cc,
Register  dst,
Register  src 
)
inline

Definition at line 651 of file assembler-ia32.h.

651  {
652  cmov(cc, dst, Operand(src));
653  }
void cmov(Condition cc, Register dst, Register src)

References v8::internal::cc.

◆ cmovl() [1/2]

void v8::internal::Assembler::cmovl ( Condition  cc,
Register  dst,
const Operand src 
)

◆ cmovl() [2/2]

void v8::internal::Assembler::cmovl ( Condition  cc,
Register  dst,
Register  src 
)

◆ cmovq() [1/2]

void v8::internal::Assembler::cmovq ( Condition  cc,
Register  dst,
const Operand src 
)

◆ cmovq() [2/2]

void v8::internal::Assembler::cmovq ( Condition  cc,
Register  dst,
Register  src 
)

◆ cmp() [1/19]

void v8::internal::Assembler::cmp ( const Operand op,
const Immediate imm 
)

◆ cmp() [2/19]

void v8::internal::Assembler::cmp ( const Operand op,
const Immediate imm 
)

◆ cmp() [3/19]

void v8::internal::Assembler::cmp ( const Operand op,
Handle< Object handle 
)

◆ cmp() [4/19]

void v8::internal::Assembler::cmp ( const Operand op,
Handle< Object handle 
)

◆ cmp() [5/19]

void v8::internal::Assembler::cmp ( const Register rn,
const Operand operand 
)

◆ cmp() [6/19]

void v8::internal::Assembler::cmp ( FPUCondition  cond,
SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ cmp() [7/19]

void v8::internal::Assembler::cmp ( FPUCondition  cond,
SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ cmp() [8/19]

void v8::internal::Assembler::cmp ( Register  reg,
const Immediate imm 
)
inline

Definition at line 696 of file assembler-ia32.h.

696 { cmp(Operand(reg), imm); }
void cmp(Register src1, const Operand &src2, Condition cond=al)

References cmp().

Referenced by cmp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cmp() [9/19]

void v8::internal::Assembler::cmp ( Register  reg,
const Immediate imm 
)
inline

Definition at line 681 of file assembler-x87.h.

681 { cmp(Operand(reg), imm); }

References cmp().

Referenced by cmp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cmp() [10/19]

void v8::internal::Assembler::cmp ( Register  reg,
const Operand op 
)

◆ cmp() [11/19]

void v8::internal::Assembler::cmp ( Register  reg,
const Operand op 
)

◆ cmp() [12/19]

void v8::internal::Assembler::cmp ( Register  reg,
Handle< Object handle 
)

◆ cmp() [13/19]

void v8::internal::Assembler::cmp ( Register  reg,
Handle< Object handle 
)

◆ cmp() [14/19]

void v8::internal::Assembler::cmp ( Register  reg,
int32_t  imm32 
)

◆ cmp() [15/19]

void v8::internal::Assembler::cmp ( Register  reg,
int32_t  imm32 
)

◆ cmp() [16/19]

void v8::internal::Assembler::cmp ( Register  reg0,
Register  reg1 
)
inline

Definition at line 694 of file assembler-ia32.h.

694 { cmp(reg0, Operand(reg1)); }

References cmp().

Referenced by cmp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cmp() [17/19]

void v8::internal::Assembler::cmp ( Register  reg0,
Register  reg1 
)
inline

Definition at line 679 of file assembler-x87.h.

679 { cmp(reg0, Operand(reg1)); }

References cmp().

Referenced by cmp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cmp() [18/19]

void v8::internal::Assembler::cmp ( Register  src1,
const Operand src2,
Condition  cond = al 
)

Referenced by cmp(), and v8::internal::MacroAssembler::CmpObject().

+ Here is the caller graph for this function:

◆ cmp() [19/19]

void v8::internal::Assembler::cmp ( Register  src1,
Register  src2,
Condition  cond = al 
)
inline

Definition at line 898 of file assembler-arm.h.

898  {
899  cmp(src1, Operand(src2), cond);
900  }

References cmp().

+ Here is the call graph for this function:

◆ cmp_raw_immediate()

void v8::internal::Assembler::cmp_raw_immediate ( Register  src1,
int  raw_immediate,
Condition  cond = al 
)

◆ cmpb() [1/13]

void v8::internal::Assembler::cmpb ( const Operand dst,
Immediate  src 
)
inline

Definition at line 777 of file assembler-x64.h.

777  {
778  immediate_arithmetic_op_8(0x7, dst, src);
779  }

References immediate_arithmetic_op_8().

+ Here is the call graph for this function:

◆ cmpb() [2/13]

void v8::internal::Assembler::cmpb ( const Operand dst,
Register  src 
)
inline

Definition at line 773 of file assembler-x64.h.

773  {
774  arithmetic_op_8(0x38, src, dst);
775  }
void arithmetic_op_8(byte opcode, Register reg, Register rm_reg)

References arithmetic_op_8().

+ Here is the call graph for this function:

◆ cmpb() [3/13]

void v8::internal::Assembler::cmpb ( const Operand op,
int8_t  imm8 
)

◆ cmpb() [4/13]

void v8::internal::Assembler::cmpb ( const Operand op,
int8_t  imm8 
)

◆ cmpb() [5/13]

void v8::internal::Assembler::cmpb ( const Operand op,
Register  reg 
)

◆ cmpb() [6/13]

void v8::internal::Assembler::cmpb ( const Operand op,
Register  reg 
)

◆ cmpb() [7/13]

void v8::internal::Assembler::cmpb ( Register  dst,
const Operand src 
)
inline

Definition at line 769 of file assembler-x64.h.

769  {
770  arithmetic_op_8(0x3A, dst, src);
771  }

References arithmetic_op_8().

+ Here is the call graph for this function:

◆ cmpb() [8/13]

void v8::internal::Assembler::cmpb ( Register  dst,
Immediate  src 
)
inline

Definition at line 759 of file assembler-x64.h.

759  {
760  immediate_arithmetic_op_8(0x7, dst, src);
761  }

References immediate_arithmetic_op_8().

+ Here is the call graph for this function:

◆ cmpb() [9/13]

void v8::internal::Assembler::cmpb ( Register  dst,
Register  src 
)
inline

Definition at line 765 of file assembler-x64.h.

765  {
766  arithmetic_op_8(0x3A, dst, src);
767  }

References arithmetic_op_8().

+ Here is the call graph for this function:

◆ cmpb() [10/13]

void v8::internal::Assembler::cmpb ( Register  reg,
const Operand op 
)

◆ cmpb() [11/13]

void v8::internal::Assembler::cmpb ( Register  reg,
const Operand op 
)

◆ cmpb() [12/13]

void v8::internal::Assembler::cmpb ( Register  reg,
int8_t  imm8 
)
inline

Definition at line 685 of file assembler-ia32.h.

685 { cmpb(Operand(reg), imm8); }
void cmpb(Register reg, int8_t imm8)

References cmpb().

Referenced by cmpb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cmpb() [13/13]

void v8::internal::Assembler::cmpb ( Register  reg,
int8_t  imm8 
)
inline

Definition at line 670 of file assembler-x87.h.

670 { cmpb(Operand(reg), imm8); }

References cmpb().

Referenced by cmpb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cmpb_al() [1/3]

void v8::internal::Assembler::cmpb_al ( const Operand op)

◆ cmpb_al() [2/3]

void v8::internal::Assembler::cmpb_al ( const Operand op)

◆ cmpb_al() [3/3]

void v8::internal::Assembler::cmpb_al ( Immediate  src)

◆ cmpltsd() [1/2]

void v8::internal::Assembler::cmpltsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ cmpltsd() [2/2]

void v8::internal::Assembler::cmpltsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ cmpw() [1/7]

void v8::internal::Assembler::cmpw ( const Operand dst,
Immediate  src 
)
inline

Definition at line 781 of file assembler-x64.h.

781  {
782  immediate_arithmetic_op_16(0x7, dst, src);
783  }
void immediate_arithmetic_op_16(byte subcode, Register dst, Immediate src)

References immediate_arithmetic_op_16().

+ Here is the call graph for this function:

◆ cmpw() [2/7]

void v8::internal::Assembler::cmpw ( const Operand dst,
Register  src 
)
inline

Definition at line 797 of file assembler-x64.h.

797  {
798  arithmetic_op_16(0x39, src, dst);
799  }
void arithmetic_op_16(byte opcode, Register reg, Register rm_reg)

References arithmetic_op_16().

+ Here is the call graph for this function:

◆ cmpw() [3/7]

void v8::internal::Assembler::cmpw ( const Operand op,
Immediate  imm16 
)

◆ cmpw() [4/7]

void v8::internal::Assembler::cmpw ( const Operand op,
Immediate  imm16 
)

◆ cmpw() [5/7]

void v8::internal::Assembler::cmpw ( Register  dst,
const Operand src 
)
inline

Definition at line 789 of file assembler-x64.h.

789  {
790  arithmetic_op_16(0x3B, dst, src);
791  }

References arithmetic_op_16().

+ Here is the call graph for this function:

◆ cmpw() [6/7]

void v8::internal::Assembler::cmpw ( Register  dst,
Immediate  src 
)
inline

Definition at line 785 of file assembler-x64.h.

785  {
786  immediate_arithmetic_op_16(0x7, dst, src);
787  }

References immediate_arithmetic_op_16().

+ Here is the call graph for this function:

◆ cmpw() [7/7]

void v8::internal::Assembler::cmpw ( Register  dst,
Register  src 
)
inline

Definition at line 793 of file assembler-x64.h.

793  {
794  arithmetic_op_16(0x3B, dst, src);
795  }

References arithmetic_op_16().

+ Here is the call graph for this function:

◆ cmpw_ax() [1/2]

void v8::internal::Assembler::cmpw_ax ( const Operand op)

◆ cmpw_ax() [2/2]

void v8::internal::Assembler::cmpw_ax ( const Operand op)

◆ cneg()

void v8::internal::Assembler::cneg ( const Register rd,
const Register rn,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Cneg().

+ Here is the caller graph for this function:

◆ code_target_object_handle_at()

Handle< Object > v8::internal::Assembler::code_target_object_handle_at ( Address  pc)
inline

Definition at line 214 of file assembler-x64-inl.h.

214  {
216 }
List< Handle< Code > > code_targets_
static int32_t & int32_at(Address addr)
Definition: v8memory.h:28

References code_targets_, v8::internal::Memory::int32_at(), and pc().

+ Here is the call graph for this function:

◆ CodeTargetAlign() [1/6]

void v8::internal::Assembler::CodeTargetAlign ( )

◆ CodeTargetAlign() [2/6]

void v8::internal::Assembler::CodeTargetAlign ( )

◆ CodeTargetAlign() [3/6]

void v8::internal::Assembler::CodeTargetAlign ( )

◆ CodeTargetAlign() [4/6]

void v8::internal::Assembler::CodeTargetAlign ( )

◆ CodeTargetAlign() [5/6]

void v8::internal::Assembler::CodeTargetAlign ( )

◆ CodeTargetAlign() [6/6]

void v8::internal::Assembler::CodeTargetAlign ( )

◆ Cond()

Instr v8::internal::Assembler::Cond ( Condition  cond)
inlinestatic

Definition at line 1003 of file assembler-arm64-inl.h.

1003  {
1004  return cond << Condition_offset;
1005 }

◆ ConditionalCompare()

void v8::internal::Assembler::ConditionalCompare ( const Register rn,
const Operand operand,
StatusFlags  nzcv,
Condition  cond,
ConditionalCompareOp  op 
)
protected

◆ ConditionalSelect()

void v8::internal::Assembler::ConditionalSelect ( const Register rd,
const Register rn,
const Register rm,
Condition  cond,
ConditionalSelectOp  op 
)
private

◆ ConstantPoolAddEntry()

ConstantPoolArray::LayoutSection v8::internal::Assembler::ConstantPoolAddEntry ( const RelocInfo rinfo)
private

◆ ConstantPoolSizeAt()

static int v8::internal::Assembler::ConstantPoolSizeAt ( Instruction instr)
static

◆ cpuid() [1/3]

void v8::internal::Assembler::cpuid ( )

◆ cpuid() [2/3]

void v8::internal::Assembler::cpuid ( )

◆ cpuid() [3/3]

void v8::internal::Assembler::cpuid ( )

◆ cqo()

void v8::internal::Assembler::cqo ( )

◆ csel()

void v8::internal::Assembler::csel ( const Register rd,
const Register rn,
const Register rm,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::CmovX(), and v8::internal::MacroAssembler::CzeroX().

+ Here is the caller graph for this function:

◆ cset()

void v8::internal::Assembler::cset ( const Register rd,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Cset().

+ Here is the caller graph for this function:

◆ csetm()

void v8::internal::Assembler::csetm ( const Register rd,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Csetm().

+ Here is the caller graph for this function:

◆ csinc()

void v8::internal::Assembler::csinc ( const Register rd,
const Register rn,
const Register rm,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Csinc().

+ Here is the caller graph for this function:

◆ csinv()

void v8::internal::Assembler::csinv ( const Register rd,
const Register rn,
const Register rm,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Csinv().

+ Here is the caller graph for this function:

◆ csneg()

void v8::internal::Assembler::csneg ( const Register rd,
const Register rn,
const Register rm,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Csneg().

+ Here is the caller graph for this function:

◆ ctc1() [1/2]

void v8::internal::Assembler::ctc1 ( Register  rt,
FPUControlRegister  fs 
)

◆ ctc1() [2/2]

void v8::internal::Assembler::ctc1 ( Register  rt,
FPUControlRegister  fs 
)

◆ cvt_d_l() [1/2]

void v8::internal::Assembler::cvt_d_l ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_d_l() [2/2]

void v8::internal::Assembler::cvt_d_l ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_d_s() [1/2]

void v8::internal::Assembler::cvt_d_s ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_d_s() [2/2]

void v8::internal::Assembler::cvt_d_s ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_d_w() [1/2]

void v8::internal::Assembler::cvt_d_w ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_d_w() [2/2]

void v8::internal::Assembler::cvt_d_w ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_l_d() [1/2]

void v8::internal::Assembler::cvt_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_l_d() [2/2]

void v8::internal::Assembler::cvt_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_l_s() [1/2]

void v8::internal::Assembler::cvt_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_l_s() [2/2]

void v8::internal::Assembler::cvt_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_s_d() [1/2]

void v8::internal::Assembler::cvt_s_d ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_s_d() [2/2]

void v8::internal::Assembler::cvt_s_d ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_s_l() [1/2]

void v8::internal::Assembler::cvt_s_l ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_s_l() [2/2]

void v8::internal::Assembler::cvt_s_l ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_s_w() [1/2]

void v8::internal::Assembler::cvt_s_w ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_s_w() [2/2]

void v8::internal::Assembler::cvt_s_w ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_w_d() [1/2]

void v8::internal::Assembler::cvt_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_w_d() [2/2]

void v8::internal::Assembler::cvt_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_w_s() [1/2]

void v8::internal::Assembler::cvt_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ cvt_w_s() [2/2]

void v8::internal::Assembler::cvt_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ cvtlsi2sd() [1/2]

void v8::internal::Assembler::cvtlsi2sd ( XMMRegister  dst,
const Operand src 
)

◆ cvtlsi2sd() [2/2]

void v8::internal::Assembler::cvtlsi2sd ( XMMRegister  dst,
Register  src 
)

◆ cvtlsi2ss()

void v8::internal::Assembler::cvtlsi2ss ( XMMRegister  dst,
Register  src 
)

◆ cvtqsi2sd() [1/2]

void v8::internal::Assembler::cvtqsi2sd ( XMMRegister  dst,
const Operand src 
)

◆ cvtqsi2sd() [2/2]

void v8::internal::Assembler::cvtqsi2sd ( XMMRegister  dst,
Register  src 
)

◆ cvtsd2si() [1/2]

void v8::internal::Assembler::cvtsd2si ( Register  dst,
XMMRegister  src 
)

◆ cvtsd2si() [2/2]

void v8::internal::Assembler::cvtsd2si ( Register  dst,
XMMRegister  src 
)

◆ cvtsd2siq()

void v8::internal::Assembler::cvtsd2siq ( Register  dst,
XMMRegister  src 
)

◆ cvtsd2ss() [1/2]

void v8::internal::Assembler::cvtsd2ss ( XMMRegister  dst,
XMMRegister  src 
)

◆ cvtsd2ss() [2/2]

void v8::internal::Assembler::cvtsd2ss ( XMMRegister  dst,
XMMRegister  src 
)

◆ cvtsi2sd() [1/2]

void v8::internal::Assembler::cvtsi2sd ( XMMRegister  dst,
const Operand src 
)

◆ cvtsi2sd() [2/2]

void v8::internal::Assembler::cvtsi2sd ( XMMRegister  dst,
Register  src 
)
inline

Definition at line 956 of file assembler-ia32.h.

956 { cvtsi2sd(dst, Operand(src)); }
void cvtsi2sd(XMMRegister dst, Register src)

References cvtsi2sd().

Referenced by cvtsi2sd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cvtss2sd() [1/3]

void v8::internal::Assembler::cvtss2sd ( XMMRegister  dst,
const Operand src 
)

◆ cvtss2sd() [2/3]

void v8::internal::Assembler::cvtss2sd ( XMMRegister  dst,
XMMRegister  src 
)

◆ cvtss2sd() [3/3]

void v8::internal::Assembler::cvtss2sd ( XMMRegister  dst,
XMMRegister  src 
)

◆ cvttsd2si() [1/4]

void v8::internal::Assembler::cvttsd2si ( Register  dst,
const Operand src 
)

Referenced by cvttsd2si().

+ Here is the caller graph for this function:

◆ cvttsd2si() [2/4]

void v8::internal::Assembler::cvttsd2si ( Register  dst,
const Operand src 
)

◆ cvttsd2si() [3/4]

void v8::internal::Assembler::cvttsd2si ( Register  dst,
XMMRegister  src 
)
inline

Definition at line 951 of file assembler-ia32.h.

951  {
952  cvttsd2si(dst, Operand(src));
953  }
void cvttsd2si(Register dst, const Operand &src)

References cvttsd2si().

+ Here is the call graph for this function:

◆ cvttsd2si() [4/4]

void v8::internal::Assembler::cvttsd2si ( Register  dst,
XMMRegister  src 
)

◆ cvttsd2siq() [1/2]

void v8::internal::Assembler::cvttsd2siq ( Register  dst,
const Operand src 
)

◆ cvttsd2siq() [2/2]

void v8::internal::Assembler::cvttsd2siq ( Register  dst,
XMMRegister  src 
)

◆ cvttss2si() [1/4]

void v8::internal::Assembler::cvttss2si ( Register  dst,
const Operand src 
)

Referenced by cvttss2si().

+ Here is the caller graph for this function:

◆ cvttss2si() [2/4]

void v8::internal::Assembler::cvttss2si ( Register  dst,
const Operand src 
)

◆ cvttss2si() [3/4]

void v8::internal::Assembler::cvttss2si ( Register  dst,
XMMRegister  src 
)
inline

Definition at line 947 of file assembler-ia32.h.

947  {
948  cvttss2si(dst, Operand(src));
949  }
void cvttss2si(Register dst, const Operand &src)

References cvttss2si().

+ Here is the call graph for this function:

◆ cvttss2si() [4/4]

void v8::internal::Assembler::cvttss2si ( Register  dst,
XMMRegister  src 
)

◆ daddiu()

void v8::internal::Assembler::daddiu ( Register  rd,
Register  rs,
int32_t  j 
)

◆ daddu()

void v8::internal::Assembler::daddu ( Register  rd,
Register  rs,
Register  rt 
)

◆ dahi()

void v8::internal::Assembler::dahi ( Register  rs,
int32_t  j 
)

◆ DataProcessing1Source()

void v8::internal::Assembler::DataProcessing1Source ( const Register rd,
const Register rn,
DataProcessing1SourceOp  op 
)
private

◆ DataProcessing3Source()

void v8::internal::Assembler::DataProcessing3Source ( const Register rd,
const Register rn,
const Register rm,
const Register ra,
DataProcessing3SourceOp  op 
)
private

◆ DataProcExtendedRegister()

void v8::internal::Assembler::DataProcExtendedRegister ( const Register rd,
const Register rn,
const Operand operand,
FlagsUpdate  S,
Instr  op 
)
private

◆ DataProcShiftedRegister()

void v8::internal::Assembler::DataProcShiftedRegister ( const Register rd,
const Register rn,
const Operand operand,
FlagsUpdate  S,
Instr  op 
)
private

◆ dati()

void v8::internal::Assembler::dati ( Register  rs,
int32_t  j 
)

◆ daui()

void v8::internal::Assembler::daui ( Register  rs,
Register  rt,
int32_t  j 
)

◆ db() [1/7]

void v8::internal::Assembler::db ( uint8_t  data)

◆ db() [2/7]

void v8::internal::Assembler::db ( uint8_t  data)
inline

Definition at line 1750 of file assembler-arm64.h.

1750 { dc8(data); }
void dc8(uint8_t data)

References dc8().

+ Here is the call graph for this function:

◆ db() [3/7]

void v8::internal::Assembler::db ( uint8_t  data)

◆ db() [4/7]

void v8::internal::Assembler::db ( uint8_t  data)

◆ db() [5/7]

void v8::internal::Assembler::db ( uint8_t  data)

◆ db() [6/7]

void v8::internal::Assembler::db ( uint8_t  data)

◆ db() [7/7]

void v8::internal::Assembler::db ( uint8_t  data)

◆ dc32()

void v8::internal::Assembler::dc32 ( uint32_t  data)
inline

Definition at line 1733 of file assembler-arm64.h.

1733 { EmitData(&data, sizeof(data)); }
void EmitData(void const *data, unsigned size)

References EmitData().

Referenced by dd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dc64()

void v8::internal::Assembler::dc64 ( uint64_t  data)
inline

Definition at line 1736 of file assembler-arm64.h.

1736 { EmitData(&data, sizeof(data)); }

References EmitData().

+ Here is the call graph for this function:

◆ dc8()

void v8::internal::Assembler::dc8 ( uint8_t  data)
inline

Definition at line 1730 of file assembler-arm64.h.

1730 { EmitData(&data, sizeof(data)); }

References EmitData().

Referenced by db().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dci()

void v8::internal::Assembler::dci ( Instr  raw_inst)
inline

Definition at line 1727 of file assembler-arm64.h.

1727 { Emit(raw_inst); }
void Emit(Instr instruction)

References Emit().

+ Here is the call graph for this function:

◆ dd() [1/7]

void v8::internal::Assembler::dd ( uint32_t  data)

◆ dd() [2/7]

void v8::internal::Assembler::dd ( uint32_t  data)
inline

Definition at line 1749 of file assembler-arm64.h.

1749 { dc32(data); }
void dc32(uint32_t data)

References dc32().

+ Here is the call graph for this function:

◆ dd() [3/7]

void v8::internal::Assembler::dd ( uint32_t  data)

◆ dd() [4/7]

void v8::internal::Assembler::dd ( uint32_t  data)

◆ dd() [5/7]

void v8::internal::Assembler::dd ( uint32_t  data)

◆ dd() [6/7]

void v8::internal::Assembler::dd ( uint32_t  data)

◆ dd() [7/7]

void v8::internal::Assembler::dd ( uint32_t  data)

◆ ddiv() [1/2]

void v8::internal::Assembler::ddiv ( Register  rd,
Register  rs,
Register  rt 
)

◆ ddiv() [2/2]

void v8::internal::Assembler::ddiv ( Register  rs,
Register  rt 
)

◆ ddivu() [1/2]

void v8::internal::Assembler::ddivu ( Register  rd,
Register  rs,
Register  rt 
)

◆ ddivu() [2/2]

void v8::internal::Assembler::ddivu ( Register  rs,
Register  rt 
)

◆ debug()

void v8::internal::Assembler::debug ( const char *  message,
uint32_t  code,
Instr  params = BREAK 
)

Referenced by v8::internal::MacroAssembler::Debug(), and Unreachable().

+ Here is the caller graph for this function:

◆ dec() [1/4]

void v8::internal::Assembler::dec ( const Operand dst)

◆ dec() [2/4]

void v8::internal::Assembler::dec ( const Operand dst)

◆ dec() [3/4]

void v8::internal::Assembler::dec ( Register  dst)

◆ dec() [4/4]

void v8::internal::Assembler::dec ( Register  dst)

◆ dec_b() [1/4]

void v8::internal::Assembler::dec_b ( const Operand dst)

◆ dec_b() [2/4]

void v8::internal::Assembler::dec_b ( const Operand dst)

◆ dec_b() [3/4]

void v8::internal::Assembler::dec_b ( Register  dst)

◆ dec_b() [4/4]

void v8::internal::Assembler::dec_b ( Register  dst)

◆ decb() [1/2]

void v8::internal::Assembler::decb ( const Operand dst)

◆ decb() [2/2]

void v8::internal::Assembler::decb ( Register  dst)

◆ DecodeShiftImm()

static int v8::internal::Assembler::DecodeShiftImm ( Instr  instr)
static

Referenced by target_address_at().

+ Here is the caller graph for this function:

◆ DeleteUnresolvedBranchInfoForLabel()

void v8::internal::Assembler::DeleteUnresolvedBranchInfoForLabel ( Label *  label)
private

◆ DeleteUnresolvedBranchInfoForLabelTraverse()

void v8::internal::Assembler::DeleteUnresolvedBranchInfoForLabelTraverse ( Label *  label)
private

◆ deserialization_set_special_target_at() [1/7]

void v8::internal::Assembler::deserialization_set_special_target_at ( Address  constant_pool_entry,
Code code,
Address  target 
)
inlinestatic

Definition at line 527 of file assembler-arm-inl.h.

528  {
529  if (FLAG_enable_ool_constant_pool) {
530  set_target_address_at(constant_pool_entry, code, target);
531  } else {
532  Memory::Address_at(constant_pool_entry) = target;
533  }
534 }
static void set_target_address_at(Address pc, ConstantPoolArray *constant_pool, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
static Address & Address_at(Address addr)
Definition: v8memory.h:56

References v8::internal::Memory::Address_at(), and set_target_address_at().

+ Here is the call graph for this function:

◆ deserialization_set_special_target_at() [2/7]

static void v8::internal::Assembler::deserialization_set_special_target_at ( Address  constant_pool_entry,
Code code,
Address  target 
)
inlinestatic

◆ deserialization_set_special_target_at() [3/7]

static void v8::internal::Assembler::deserialization_set_special_target_at ( Address  instruction_payload,
Code code,
Address  target 
)
inlinestatic

Definition at line 532 of file assembler-ia32.h.

533  {
534  set_target_address_at(instruction_payload, code, target);
535  }

References set_target_address_at().

+ Here is the call graph for this function:

◆ deserialization_set_special_target_at() [4/7]

static void v8::internal::Assembler::deserialization_set_special_target_at ( Address  instruction_payload,
Code code,
Address  target 
)
inlinestatic

Definition at line 539 of file assembler-mips.h.

540  {
542  instruction_payload - kInstructionsFor32BitConstant * kInstrSize,
543  code,
544  target);
545  }
static const int kInstrSize
static const int kInstructionsFor32BitConstant

References kInstrSize, kInstructionsFor32BitConstant, and set_target_address_at().

+ Here is the call graph for this function:

◆ deserialization_set_special_target_at() [5/7]

static void v8::internal::Assembler::deserialization_set_special_target_at ( Address  instruction_payload,
Code code,
Address  target 
)
inlinestatic

Definition at line 529 of file assembler-mips64.h.

530  {
532  instruction_payload - kInstructionsFor64BitConstant * kInstrSize,
533  code,
534  target);
535  }
static const int kInstructionsFor64BitConstant

References kInstrSize, kInstructionsFor64BitConstant, and set_target_address_at().

+ Here is the call graph for this function:

◆ deserialization_set_special_target_at() [6/7]

static void v8::internal::Assembler::deserialization_set_special_target_at ( Address  instruction_payload,
Code code,
Address  target 
)
inlinestatic

Definition at line 552 of file assembler-x64.h.

553  {
554  set_target_address_at(instruction_payload, code, target);
555  }

References set_target_address_at().

+ Here is the call graph for this function:

◆ deserialization_set_special_target_at() [7/7]

static void v8::internal::Assembler::deserialization_set_special_target_at ( Address  instruction_payload,
Code code,
Address  target 
)
inlinestatic

Definition at line 523 of file assembler-x87.h.

524  {
525  set_target_address_at(instruction_payload, code, target);
526  }

References set_target_address_at().

+ Here is the call graph for this function:

◆ disp_at() [1/2]

Displacement v8::internal::Assembler::disp_at ( Label *  L)
inlineprivate

Definition at line 490 of file assembler-ia32-inl.h.

490  {
491  return Displacement(long_at(L->pos()));
492 }
uint32_t long_at(int pos)

References v8::internal::L, and long_at().

+ Here is the call graph for this function:

◆ disp_at() [2/2]

Displacement v8::internal::Assembler::disp_at ( Label *  L)
inlineprivate

◆ disp_at_put() [1/2]

void v8::internal::Assembler::disp_at_put ( Label *  L,
Displacement  disp 
)
inlineprivate

Definition at line 495 of file assembler-ia32-inl.h.

495  {
496  long_at_put(L->pos(), disp.data());
497 }
void long_at_put(int pos, uint32_t x)

References v8::internal::L, and long_at_put().

+ Here is the call graph for this function:

◆ disp_at_put() [2/2]

void v8::internal::Assembler::disp_at_put ( Label *  L,
Displacement  disp 
)
inlineprivate

◆ div() [1/8]

void v8::internal::Assembler::div ( const Operand src)

◆ div() [2/8]

void v8::internal::Assembler::div ( const Operand src)

◆ div() [3/8]

void v8::internal::Assembler::div ( Register  rd,
Register  rs,
Register  rt 
)

◆ div() [4/8]

void v8::internal::Assembler::div ( Register  rd,
Register  rs,
Register  rt 
)

◆ div() [5/8]

void v8::internal::Assembler::div ( Register  rs,
Register  rt 
)

◆ div() [6/8]

void v8::internal::Assembler::div ( Register  rs,
Register  rt 
)

◆ div() [7/8]

void v8::internal::Assembler::div ( Register  src)
inline

Definition at line 710 of file assembler-ia32.h.

710 { div(Operand(src)); }
void div(Register src)

References div().

Referenced by div().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ div() [8/8]

void v8::internal::Assembler::div ( Register  src)
inline

Definition at line 695 of file assembler-x87.h.

695 { div(Operand(src)); }

References div().

Referenced by div().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ div_d() [1/2]

void v8::internal::Assembler::div_d ( FPURegister  fd,
FPURegister  fs,
FPURegister  ft 
)

◆ div_d() [2/2]

void v8::internal::Assembler::div_d ( FPURegister  fd,
FPURegister  fs,
FPURegister  ft 
)

◆ divps() [1/4]

void v8::internal::Assembler::divps ( XMMRegister  dst,
const Operand src 
)

◆ divps() [2/4]

void v8::internal::Assembler::divps ( XMMRegister  dst,
const Operand src 
)

◆ divps() [3/4]

void v8::internal::Assembler::divps ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 943 of file assembler-ia32.h.

943 { divps(dst, Operand(src)); }
void divps(XMMRegister dst, const Operand &src)

References divps().

Referenced by divps().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ divps() [4/4]

void v8::internal::Assembler::divps ( XMMRegister  dst,
XMMRegister  src 
)

◆ divsd() [1/2]

void v8::internal::Assembler::divsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ divsd() [2/2]

void v8::internal::Assembler::divsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ divu() [1/4]

void v8::internal::Assembler::divu ( Register  rd,
Register  rs,
Register  rt 
)

◆ divu() [2/4]

void v8::internal::Assembler::divu ( Register  rd,
Register  rs,
Register  rt 
)

◆ divu() [3/4]

void v8::internal::Assembler::divu ( Register  rs,
Register  rt 
)

◆ divu() [4/4]

void v8::internal::Assembler::divu ( Register  rs,
Register  rt 
)

◆ dmb()

void v8::internal::Assembler::dmb ( BarrierDomain  domain,
BarrierType  type 
)

Referenced by v8::internal::MacroAssembler::Dmb().

+ Here is the caller graph for this function:

◆ dmfc1()

void v8::internal::Assembler::dmfc1 ( Register  rt,
FPURegister  fs 
)

◆ dmod()

void v8::internal::Assembler::dmod ( Register  rd,
Register  rs,
Register  rt 
)

◆ dmodu()

void v8::internal::Assembler::dmodu ( Register  rd,
Register  rs,
Register  rt 
)

◆ dmtc1()

void v8::internal::Assembler::dmtc1 ( Register  rt,
FPURegister  fs 
)

◆ dmuh()

void v8::internal::Assembler::dmuh ( Register  rd,
Register  rs,
Register  rt 
)

◆ dmuhu()

void v8::internal::Assembler::dmuhu ( Register  rd,
Register  rs,
Register  rt 
)

◆ dmul()

void v8::internal::Assembler::dmul ( Register  rd,
Register  rs,
Register  rt 
)

◆ dmult()

void v8::internal::Assembler::dmult ( Register  rs,
Register  rt 
)

◆ dmultu()

void v8::internal::Assembler::dmultu ( Register  rs,
Register  rt 
)

◆ dmulu()

void v8::internal::Assembler::dmulu ( Register  rd,
Register  rs,
Register  rt 
)

◆ DoubleAsTwoUInt32() [1/2]

void v8::internal::Assembler::DoubleAsTwoUInt32 ( double  d,
uint32_t lo,
uint32_t hi 
)
protected

◆ DoubleAsTwoUInt32() [2/2]

void v8::internal::Assembler::DoubleAsTwoUInt32 ( double  d,
uint32_t lo,
uint32_t hi 
)
protected

◆ drotr()

void v8::internal::Assembler::drotr ( Register  rd,
Register  rt,
uint16_t  sa 
)

◆ drotrv()

void v8::internal::Assembler::drotrv ( Register  rd,
Register  rt,
Register  rs 
)

◆ dsb()

void v8::internal::Assembler::dsb ( BarrierDomain  domain,
BarrierType  type 
)

Referenced by v8::internal::MacroAssembler::Dsb().

+ Here is the caller graph for this function:

◆ dsll()

void v8::internal::Assembler::dsll ( Register  rd,
Register  rt,
uint16_t  sa 
)

◆ dsll32()

void v8::internal::Assembler::dsll32 ( Register  rt,
Register  rd,
uint16_t  sa 
)

Referenced by v8::internal::MacroAssembler::DecodeFieldToSmi(), and v8::internal::MacroAssembler::SmiTag().

+ Here is the caller graph for this function:

◆ dsllv()

void v8::internal::Assembler::dsllv ( Register  rd,
Register  rt,
Register  rs 
)

◆ dsra()

void v8::internal::Assembler::dsra ( Register  rt,
Register  rd,
uint16_t  sa 
)

Referenced by v8::internal::MacroAssembler::SmiScale().

+ Here is the caller graph for this function:

◆ dsra32()

void v8::internal::Assembler::dsra32 ( Register  rt,
Register  rd,
uint16_t  sa 
)

Referenced by v8::internal::MacroAssembler::SmiUntag().

+ Here is the caller graph for this function:

◆ dsrav()

void v8::internal::Assembler::dsrav ( Register  rd,
Register  rt,
Register  rs 
)

◆ dsrl()

void v8::internal::Assembler::dsrl ( Register  rd,
Register  rt,
uint16_t  sa 
)

Referenced by v8::internal::MacroAssembler::DecodeFieldToSmi().

+ Here is the caller graph for this function:

◆ dsrl32()

void v8::internal::Assembler::dsrl32 ( Register  rt,
Register  rd,
uint16_t  sa 
)

◆ dsrlv()

void v8::internal::Assembler::dsrlv ( Register  rd,
Register  rt,
Register  rs 
)

◆ dsubu()

void v8::internal::Assembler::dsubu ( Register  rd,
Register  rs,
Register  rt 
)

◆ emit() [1/16]

void v8::internal::Assembler::emit ( byte  x)
inlineprivate

Definition at line 1172 of file assembler-x64.h.

1172 { *pc_++ = x; }

References v8::internal::AssemblerBase::pc_.

◆ emit() [2/16]

void v8::internal::Assembler::emit ( const Immediate x)
inlineprivate

Definition at line 432 of file assembler-ia32-inl.h.

432  {
433  if (x.rmode_ == RelocInfo::INTERNAL_REFERENCE) {
434  Label* label = reinterpret_cast<Label*>(x.x_);
436  return;
437  }
438  if (!RelocInfo::IsNone(x.rmode_)) RecordRelocInfo(x.rmode_);
439  emit(x.x_);
440 }
void emit_code_relative_offset(Label *label)
void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data=0)
static bool IsNone(Mode mode)
Definition: assembler.h:439

References emit(), emit_code_relative_offset(), v8::internal::RelocInfo::INTERNAL_REFERENCE, v8::internal::RelocInfo::IsNone(), RecordRelocInfo(), and v8::internal::Immediate::rmode_.

+ Here is the call graph for this function:

◆ emit() [3/16]

void v8::internal::Assembler::emit ( const Immediate x)
inlineprivate

◆ emit() [4/16]

void v8::internal::Assembler::emit ( Handle< Code code,
RelocInfo::Mode  rmode,
TypeFeedbackId  id = TypeFeedbackId::None() 
)
inlineprivate

Definition at line 424 of file assembler-ia32-inl.h.

426  {
427  AllowDeferredHandleDereference embedding_raw_address;
428  emit(reinterpret_cast<intptr_t>(code.location()), rmode, id);
429 }
PerThreadAssertScopeDebugOnly< DEFERRED_HANDLE_DEREFERENCE_ASSERT, true > AllowDeferredHandleDereference
Definition: assert-scope.h:130

References emit().

+ Here is the call graph for this function:

◆ emit() [5/16]

void v8::internal::Assembler::emit ( Handle< Code code,
RelocInfo::Mode  rmode,
TypeFeedbackId  id = TypeFeedbackId::None() 
)
inlineprivate

◆ emit() [6/16]

void v8::internal::Assembler::emit ( Handle< Object handle)
inlineprivate

Definition at line 398 of file assembler-ia32-inl.h.

398  {
399  AllowDeferredHandleDereference heap_object_check;
400  // Verify all Objects referred by code are NOT in new space.
401  Object* obj = *handle;
402  DCHECK(!isolate()->heap()->InNewSpace(obj));
403  if (obj->IsHeapObject()) {
404  emit(reinterpret_cast<intptr_t>(handle.location()),
406  } else {
407  // no relocation needed
408  emit(reinterpret_cast<intptr_t>(obj));
409  }
410 }
Isolate * isolate() const
Definition: assembler.h:62
kSerializedDataOffset Object
Definition: objects-inl.h:5322
Handle< T > handle(T *t, Isolate *isolate)
Definition: handles.h:146

References DCHECK, v8::internal::RelocInfo::EMBEDDED_OBJECT, emit(), v8::internal::handle(), and v8::internal::AssemblerBase::isolate().

+ Here is the call graph for this function:

◆ emit() [7/16]

void v8::internal::Assembler::emit ( Handle< Object handle)
inlineprivate

◆ emit() [8/16]

void v8::internal::Assembler::emit ( Immediate  x)
inlineprivate

Definition at line 1181 of file assembler-x64.h.

1181 { emitl(x.value_); }

References emitl().

+ Here is the call graph for this function:

◆ Emit()

void v8::internal::Assembler::Emit ( Instr  instruction)
inlineprivate

Definition at line 2087 of file assembler-arm64.h.

2087  {
2088  STATIC_ASSERT(sizeof(*pc_) == 1);
2089  STATIC_ASSERT(sizeof(instruction) == kInstructionSize);
2090  DCHECK((pc_ + sizeof(instruction)) <= (buffer_ + buffer_size_));
2091 
2092  memcpy(pc_, &instruction, sizeof(instruction));
2093  pc_ += sizeof(instruction);
2094  CheckBuffer();
2095  }
STATIC_ASSERT(kPointerSize==kInt64Size||kPointerSize==kInt32Size)

References v8::internal::AssemblerBase::buffer_, v8::internal::AssemblerBase::buffer_size_, CheckBuffer(), DCHECK, v8::internal::kInstructionSize, v8::internal::AssemblerBase::pc_, and STATIC_ASSERT().

Referenced by dci(), and Unreachable().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ emit() [9/16]

void v8::internal::Assembler::emit ( Instr  x)
inlineprivate

Definition at line 422 of file assembler-arm-inl.h.

422  {
423  CheckBuffer();
424  *reinterpret_cast<Instr*>(pc_) = x;
425  pc_ += kInstrSize;
426 }

References CheckBuffer(), kInstrSize, and v8::internal::AssemblerBase::pc_.

Referenced by emit(), emit_code_relative_offset(), emit_disp(), emit_modrm(), emit_optional_rex_32(), emit_rex_32(), and emit_rex_64().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ emit() [10/16]

void v8::internal::Assembler::emit ( Instr  x)
inlineprivate

◆ emit() [11/16]

void v8::internal::Assembler::emit ( Instr  x)
inlineprivate

◆ emit() [12/16]

void v8::internal::Assembler::emit ( uint32_t  x)
inlineprivate

Definition at line 392 of file assembler-ia32-inl.h.

392  {
393  *reinterpret_cast<uint32_t*>(pc_) = x;
394  pc_ += sizeof(uint32_t);
395 }

References v8::internal::AssemblerBase::pc_.

◆ emit() [13/16]

void v8::internal::Assembler::emit ( uint32_t  x)
inlineprivate

◆ emit() [14/16]

void v8::internal::Assembler::emit ( uint32_t  x,
RelocInfo::Mode  rmode,
TypeFeedbackId  id = TypeFeedbackId::None() 
)
inlineprivate

Definition at line 413 of file assembler-ia32-inl.h.

413  {
414  if (rmode == RelocInfo::CODE_TARGET && !id.IsNone()) {
416  } else if (!RelocInfo::IsNone(rmode)
417  && rmode != RelocInfo::CODE_AGE_SEQUENCE) {
418  RecordRelocInfo(rmode);
419  }
420  emit(x);
421 }

References v8::internal::RelocInfo::CODE_AGE_SEQUENCE, v8::internal::RelocInfo::CODE_TARGET, v8::internal::RelocInfo::CODE_TARGET_WITH_ID, emit(), v8::internal::RelocInfo::IsNone(), and RecordRelocInfo().

+ Here is the call graph for this function:

◆ emit() [15/16]

void v8::internal::Assembler::emit ( uint32_t  x,
RelocInfo::Mode  rmode,
TypeFeedbackId  id = TypeFeedbackId::None() 
)
inlineprivate

◆ emit() [16/16]

void v8::internal::Assembler::emit ( uint64_t  x)
inlineprivate

Definition at line 450 of file assembler-mips64-inl.h.

450  {
451  if (!is_buffer_growth_blocked()) {
452  CheckBuffer();
453  }
454  *reinterpret_cast<uint64_t*>(pc_) = x;
455  pc_ += kInstrSize * 2;
457 }
bool is_buffer_growth_blocked() const

References CheckBuffer(), CheckTrampolinePoolQuick(), is_buffer_growth_blocked(), kInstrSize, and v8::internal::AssemblerBase::pc_.

+ Here is the call graph for this function:

◆ emit_add() [1/5]

void v8::internal::Assembler::emit_add ( const Operand dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1398 of file assembler-x64.h.

1398  {
1399  immediate_arithmetic_op(0x0, dst, src, size);
1400  }
void immediate_arithmetic_op(byte subcode, Register dst, Immediate src, int size)

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_add() [2/5]

void v8::internal::Assembler::emit_add ( const Operand dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1394 of file assembler-x64.h.

1394  {
1395  arithmetic_op(0x1, src, dst, size);
1396  }
void arithmetic_op(byte opcode, Register reg, Register rm_reg, int size)

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_add() [3/5]

void v8::internal::Assembler::emit_add ( Register  dst,
const Operand src,
int  size 
)
inlineprivate

Definition at line 1390 of file assembler-x64.h.

1390  {
1391  arithmetic_op(0x03, dst, src, size);
1392  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_add() [4/5]

void v8::internal::Assembler::emit_add ( Register  dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1386 of file assembler-x64.h.

1386  {
1387  immediate_arithmetic_op(0x0, dst, src, size);
1388  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_add() [5/5]

void v8::internal::Assembler::emit_add ( Register  dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1382 of file assembler-x64.h.

1382  {
1383  arithmetic_op(0x03, dst, src, size);
1384  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_and() [1/5]

void v8::internal::Assembler::emit_and ( const Operand dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1418 of file assembler-x64.h.

1418  {
1419  immediate_arithmetic_op(0x4, dst, src, size);
1420  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_and() [2/5]

void v8::internal::Assembler::emit_and ( const Operand dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1410 of file assembler-x64.h.

1410  {
1411  arithmetic_op(0x21, src, dst, size);
1412  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_and() [3/5]

void v8::internal::Assembler::emit_and ( Register  dst,
const Operand src,
int  size 
)
inlineprivate

Definition at line 1406 of file assembler-x64.h.

1406  {
1407  arithmetic_op(0x23, dst, src, size);
1408  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_and() [4/5]

void v8::internal::Assembler::emit_and ( Register  dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1414 of file assembler-x64.h.

1414  {
1415  immediate_arithmetic_op(0x4, dst, src, size);
1416  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_and() [5/5]

void v8::internal::Assembler::emit_and ( Register  dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1402 of file assembler-x64.h.

1402  {
1403  arithmetic_op(0x23, dst, src, size);
1404  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_arith() [1/2]

void v8::internal::Assembler::emit_arith ( int  sel,
Operand  dst,
const Immediate x 
)
private

◆ emit_arith() [2/2]

void v8::internal::Assembler::emit_arith ( int  sel,
Operand  dst,
const Immediate x 
)
private

◆ emit_arith_b() [1/2]

void v8::internal::Assembler::emit_arith_b ( int  op1,
int  op2,
Register  dst,
int  imm8 
)
private

◆ emit_arith_b() [2/2]

void v8::internal::Assembler::emit_arith_b ( int  op1,
int  op2,
Register  dst,
int  imm8 
)
private

◆ emit_cmp() [1/5]

void v8::internal::Assembler::emit_cmp ( const Operand dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1438 of file assembler-x64.h.

1438  {
1439  immediate_arithmetic_op(0x7, dst, src, size);
1440  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_cmp() [2/5]

void v8::internal::Assembler::emit_cmp ( const Operand dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1430 of file assembler-x64.h.

1430  {
1431  arithmetic_op(0x39, src, dst, size);
1432  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_cmp() [3/5]

void v8::internal::Assembler::emit_cmp ( Register  dst,
const Operand src,
int  size 
)
inlineprivate

Definition at line 1426 of file assembler-x64.h.

1426  {
1427  arithmetic_op(0x3B, dst, src, size);
1428  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_cmp() [4/5]

void v8::internal::Assembler::emit_cmp ( Register  dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1434 of file assembler-x64.h.

1434  {
1435  immediate_arithmetic_op(0x7, dst, src, size);
1436  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_cmp() [5/5]

void v8::internal::Assembler::emit_cmp ( Register  dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1422 of file assembler-x64.h.

1422  {
1423  arithmetic_op(0x3B, dst, src, size);
1424  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_code_relative_offset() [1/3]

void v8::internal::Assembler::emit_code_relative_offset ( Label *  label)
inlineprivate

Definition at line 443 of file assembler-ia32-inl.h.

443  {
444  if (label->is_bound()) {
445  int32_t pos;
446  pos = label->pos() + Code::kHeaderSize - kHeapObjectTag;
447  emit(pos);
448  } else {
449  emit_disp(label, Displacement::CODE_RELATIVE);
450  }
451 }
void emit_disp(Label *L, Displacement::Type type)
static const int kHeaderSize
Definition: objects.h:5373
int int32_t
Definition: unicode.cc:24
const int kHeapObjectTag
Definition: v8.h:5737

References emit(), emit_disp(), v8::internal::Code::kHeaderSize, and v8::internal::kHeapObjectTag.

Referenced by emit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ emit_code_relative_offset() [2/3]

void v8::internal::Assembler::emit_code_relative_offset ( Label *  label)
inlineprivate

◆ emit_code_relative_offset() [3/3]

void v8::internal::Assembler::emit_code_relative_offset ( Label *  label)
inlineprivate

◆ emit_code_stub_address() [1/3]

void v8::internal::Assembler::emit_code_stub_address ( Code stub)

◆ emit_code_stub_address() [2/3]

void v8::internal::Assembler::emit_code_stub_address ( Code stub)

◆ emit_code_stub_address() [3/3]

void v8::internal::Assembler::emit_code_stub_address ( Code stub)

◆ emit_code_target()

void v8::internal::Assembler::emit_code_target ( Handle< Code target,
RelocInfo::Mode  rmode,
TypeFeedbackId  ast_id = TypeFeedbackId::None() 
)
inlineprivate

Definition at line 57 of file assembler-x64-inl.h.

59  {
62  if (rmode == RelocInfo::CODE_TARGET && !ast_id.IsNone()) {
64  } else {
65  RecordRelocInfo(rmode);
66  }
67  int current = code_targets_.length();
68  if (current > 0 && code_targets_.last().is_identical_to(target)) {
69  // Optimization if we keep jumping to the same code target.
70  emitl(current - 1);
71  } else {
72  code_targets_.Add(target);
73  emitl(current);
74  }
75 }
static bool IsCodeTarget(Mode mode)
Definition: assembler.h:399

References v8::internal::RelocInfo::CODE_AGE_SEQUENCE, v8::internal::RelocInfo::CODE_TARGET, v8::internal::RelocInfo::CODE_TARGET_WITH_ID, code_targets_, DCHECK, emitl(), v8::internal::RelocInfo::IsCodeTarget(), v8::internal::TypeFeedbackId::IsNone(), RecordRelocInfo(), and v8::internal::TypeFeedbackId::ToInt().

+ Here is the call graph for this function:

◆ emit_dec() [1/2]

void v8::internal::Assembler::emit_dec ( const Operand dst,
int  size 
)
private

◆ emit_dec() [2/2]

void v8::internal::Assembler::emit_dec ( Register  dst,
int  size 
)
private

◆ emit_disp() [1/2]

void v8::internal::Assembler::emit_disp ( Label *  L,
Displacement::Type  type 
)
inlineprivate

Definition at line 500 of file assembler-ia32-inl.h.

500  {
501  Displacement disp(L, type);
502  L->link_to(pc_offset());
503  emit(static_cast<int>(disp.data()));
504 }

References emit(), v8::internal::L, and v8::internal::AssemblerBase::pc_offset().

Referenced by emit_code_relative_offset().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ emit_disp() [2/2]

void v8::internal::Assembler::emit_disp ( Label *  L,
Displacement::Type  type 
)
inlineprivate

◆ emit_div()

void v8::internal::Assembler::emit_div ( Register  src,
int  size 
)
private

◆ emit_farith() [1/3]

void v8::internal::Assembler::emit_farith ( int  b1,
int  b2,
int  i 
)
private

◆ emit_farith() [2/3]

void v8::internal::Assembler::emit_farith ( int  b1,
int  b2,
int  i 
)
private

◆ emit_farith() [3/3]

void v8::internal::Assembler::emit_farith ( int  b1,
int  b2,
int  i 
)
private

◆ emit_idiv()

void v8::internal::Assembler::emit_idiv ( Register  src,
int  size 
)
private

◆ emit_imul() [1/5]

void v8::internal::Assembler::emit_imul ( Register  dst,
const Operand src,
Immediate  imm,
int  size 
)
private

◆ emit_imul() [2/5]

void v8::internal::Assembler::emit_imul ( Register  dst,
const Operand src,
int  size 
)
private

◆ emit_imul() [3/5]

void v8::internal::Assembler::emit_imul ( Register  dst,
Register  src,
Immediate  imm,
int  size 
)
private

◆ emit_imul() [4/5]

void v8::internal::Assembler::emit_imul ( Register  dst,
Register  src,
int  size 
)
private

◆ emit_imul() [5/5]

void v8::internal::Assembler::emit_imul ( Register  src,
int  size 
)
private

◆ emit_inc() [1/2]

void v8::internal::Assembler::emit_inc ( const Operand dst,
int  size 
)
private

◆ emit_inc() [2/2]

void v8::internal::Assembler::emit_inc ( Register  dst,
int  size 
)
private

◆ emit_lea()

void v8::internal::Assembler::emit_lea ( Register  dst,
const Operand src,
int  size 
)
private

◆ emit_modrm() [1/2]

void v8::internal::Assembler::emit_modrm ( int  code,
Register  rm_reg 
)
inlineprivate

Definition at line 1314 of file assembler-x64.h.

1314  {
1315  DCHECK(is_uint3(code));
1316  emit(0xC0 | code << 3 | rm_reg.low_bits());
1317  }

References DCHECK, and emit().

+ Here is the call graph for this function:

◆ emit_modrm() [2/2]

void v8::internal::Assembler::emit_modrm ( Register  reg,
Register  rm_reg 
)
inlineprivate

Definition at line 1308 of file assembler-x64.h.

1308  {
1309  emit(0xC0 | reg.low_bits() << 3 | rm_reg.low_bits());
1310  }

References emit().

+ Here is the call graph for this function:

◆ emit_mov() [1/5]

void v8::internal::Assembler::emit_mov ( const Operand dst,
Immediate  value,
int  size 
)
private

◆ emit_mov() [2/5]

void v8::internal::Assembler::emit_mov ( const Operand dst,
Register  src,
int  size 
)
private

◆ emit_mov() [3/5]

void v8::internal::Assembler::emit_mov ( Register  dst,
const Operand src,
int  size 
)
private

◆ emit_mov() [4/5]

void v8::internal::Assembler::emit_mov ( Register  dst,
Immediate  value,
int  size 
)
private

◆ emit_mov() [5/5]

void v8::internal::Assembler::emit_mov ( Register  dst,
Register  src,
int  size 
)
private

◆ emit_movzxb() [1/2]

void v8::internal::Assembler::emit_movzxb ( Register  dst,
const Operand src,
int  size 
)
private

◆ emit_movzxb() [2/2]

void v8::internal::Assembler::emit_movzxb ( Register  dst,
Register  src,
int  size 
)
private

◆ emit_movzxw() [1/2]

void v8::internal::Assembler::emit_movzxw ( Register  dst,
const Operand src,
int  size 
)
private

◆ emit_movzxw() [2/2]

void v8::internal::Assembler::emit_movzxw ( Register  dst,
Register  src,
int  size 
)
private

◆ emit_near_disp() [1/2]

void v8::internal::Assembler::emit_near_disp ( Label *  L)
inlineprivate

Definition at line 507 of file assembler-ia32-inl.h.

507  {
508  byte disp = 0x00;
509  if (L->is_near_linked()) {
510  int offset = L->near_link_pos() - pc_offset();
511  DCHECK(is_int8(offset));
512  disp = static_cast<byte>(offset & 0xFF);
513  }
514  L->link_to(pc_offset(), Label::kNear);
515  *pc_++ = disp;
516 }

References DCHECK, v8::internal::L, v8::internal::AssemblerBase::pc_, and v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ emit_near_disp() [2/2]

void v8::internal::Assembler::emit_near_disp ( Label *  L)
inlineprivate

◆ emit_neg() [1/2]

void v8::internal::Assembler::emit_neg ( const Operand dst,
int  size 
)
private

◆ emit_neg() [2/2]

void v8::internal::Assembler::emit_neg ( Register  dst,
int  size 
)
private

◆ emit_not() [1/2]

void v8::internal::Assembler::emit_not ( const Operand dst,
int  size 
)
private

◆ emit_not() [2/2]

void v8::internal::Assembler::emit_not ( Register  dst,
int  size 
)
private

◆ emit_operand() [1/4]

void v8::internal::Assembler::emit_operand ( int  rm,
const Operand adr 
)
private

◆ emit_operand() [2/4]

void v8::internal::Assembler::emit_operand ( Register  reg,
const Operand adr 
)
private

Referenced by emit_operand().

+ Here is the caller graph for this function:

◆ emit_operand() [3/4]

void v8::internal::Assembler::emit_operand ( Register  reg,
const Operand adr 
)
inlineprivate

Definition at line 1298 of file assembler-x64.h.

1298  {
1299  emit_operand(reg.low_bits(), adr);
1300  }
void adr(const Register &rd, Label *label)
void emit_operand(Register reg, const Operand &adr)

References adr(), and emit_operand().

+ Here is the call graph for this function:

◆ emit_operand() [4/4]

void v8::internal::Assembler::emit_operand ( Register  reg,
const Operand adr 
)
private

◆ emit_optional_rex_32() [1/8]

void v8::internal::Assembler::emit_optional_rex_32 ( const Operand op)
inlineprivate

Definition at line 182 of file assembler-x64-inl.h.

182  {
183  if (op.rex_ != 0) emit(0x40 | op.rex_);
184 }

References emit().

+ Here is the call graph for this function:

◆ emit_optional_rex_32() [2/8]

void v8::internal::Assembler::emit_optional_rex_32 ( Register  reg,
const Operand op 
)
inlineprivate

Definition at line 147 of file assembler-x64-inl.h.

147  {
148  byte rex_bits = reg.high_bit() << 2 | op.rex_;
149  if (rex_bits != 0) emit(0x40 | rex_bits);
150 }

References emit(), and v8::internal::Register::high_bit().

+ Here is the call graph for this function:

◆ emit_optional_rex_32() [3/8]

void v8::internal::Assembler::emit_optional_rex_32 ( Register  reg,
Register  rm_reg 
)
inlineprivate

Definition at line 141 of file assembler-x64-inl.h.

141  {
142  byte rex_bits = reg.high_bit() << 2 | rm_reg.high_bit();
143  if (rex_bits != 0) emit(0x40 | rex_bits);
144 }

References emit(), and v8::internal::Register::high_bit().

Referenced by emit_rex().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ emit_optional_rex_32() [4/8]

void v8::internal::Assembler::emit_optional_rex_32 ( Register  reg,
XMMRegister  base 
)
inlineprivate

Definition at line 171 of file assembler-x64-inl.h.

171  {
172  byte rex_bits = (reg.code() & 0x8) >> 1 | (base.code() & 0x8) >> 3;
173  if (rex_bits != 0) emit(0x40 | rex_bits);
174 }

References v8::internal::Register::code(), v8::internal::XMMRegister::code(), and emit().

+ Here is the call graph for this function:

◆ emit_optional_rex_32() [5/8]

void v8::internal::Assembler::emit_optional_rex_32 ( Register  rm_reg)
inlineprivate

Definition at line 177 of file assembler-x64-inl.h.

177  {
178  if (rm_reg.high_bit()) emit(0x41);
179 }

References emit(), and v8::internal::Register::high_bit().

+ Here is the call graph for this function:

◆ emit_optional_rex_32() [6/8]

void v8::internal::Assembler::emit_optional_rex_32 ( XMMRegister  reg,
const Operand op 
)
inlineprivate

Definition at line 153 of file assembler-x64-inl.h.

153  {
154  byte rex_bits = (reg.code() & 0x8) >> 1 | op.rex_;
155  if (rex_bits != 0) emit(0x40 | rex_bits);
156 }

References v8::internal::XMMRegister::code(), and emit().

+ Here is the call graph for this function:

◆ emit_optional_rex_32() [7/8]

void v8::internal::Assembler::emit_optional_rex_32 ( XMMRegister  reg,
Register  base 
)
inlineprivate

Definition at line 165 of file assembler-x64-inl.h.

165  {
166  byte rex_bits = (reg.code() & 0x8) >> 1 | (base.code() & 0x8) >> 3;
167  if (rex_bits != 0) emit(0x40 | rex_bits);
168 }

References v8::internal::Register::code(), v8::internal::XMMRegister::code(), and emit().

+ Here is the call graph for this function:

◆ emit_optional_rex_32() [8/8]

void v8::internal::Assembler::emit_optional_rex_32 ( XMMRegister  reg,
XMMRegister  base 
)
inlineprivate

Definition at line 159 of file assembler-x64-inl.h.

159  {
160  byte rex_bits = (reg.code() & 0x8) >> 1 | (base.code() & 0x8) >> 3;
161  if (rex_bits != 0) emit(0x40 | rex_bits);
162 }

References v8::internal::XMMRegister::code(), and emit().

+ Here is the call graph for this function:

◆ emit_or() [1/5]

void v8::internal::Assembler::emit_or ( const Operand dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1497 of file assembler-x64.h.

1497  {
1498  immediate_arithmetic_op(0x1, dst, src, size);
1499  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_or() [2/5]

void v8::internal::Assembler::emit_or ( const Operand dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1489 of file assembler-x64.h.

1489  {
1490  arithmetic_op(0x9, src, dst, size);
1491  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_or() [3/5]

void v8::internal::Assembler::emit_or ( Register  dst,
const Operand src,
int  size 
)
inlineprivate

Definition at line 1485 of file assembler-x64.h.

1485  {
1486  arithmetic_op(0x0B, dst, src, size);
1487  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_or() [4/5]

void v8::internal::Assembler::emit_or ( Register  dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1493 of file assembler-x64.h.

1493  {
1494  immediate_arithmetic_op(0x1, dst, src, size);
1495  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_or() [5/5]

void v8::internal::Assembler::emit_or ( Register  dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1481 of file assembler-x64.h.

1481  {
1482  arithmetic_op(0x0B, dst, src, size);
1483  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_repmovs()

void v8::internal::Assembler::emit_repmovs ( int  size)
private

Referenced by repmovsl(), repmovsp(), and repmovsq().

+ Here is the caller graph for this function:

◆ emit_rex() [1/3]

void v8::internal::Assembler::emit_rex ( int  size)
inlineprivate

Definition at line 1266 of file assembler-x64.h.

1266  {
1267  if (size == kInt64Size) {
1268  emit_rex_64();
1269  } else {
1270  DCHECK(size == kInt32Size);
1271  }
1272  }
const int kInt64Size
Definition: globals.h:126
const int kInt32Size
Definition: globals.h:125

References DCHECK, emit_rex_64(), v8::internal::kInt32Size, v8::internal::kInt64Size, and size.

+ Here is the call graph for this function:

◆ emit_rex() [2/3]

template<class P1 >
void v8::internal::Assembler::emit_rex ( P1  p1,
int  size 
)
inlineprivate

Definition at line 1275 of file assembler-x64.h.

1275  {
1276  if (size == kInt64Size) {
1277  emit_rex_64(p1);
1278  } else {
1279  DCHECK(size == kInt32Size);
1281  }
1282  }
void emit_optional_rex_32(Register reg, Register rm_reg)

References DCHECK, emit_optional_rex_32(), emit_rex_64(), v8::internal::kInt32Size, v8::internal::kInt64Size, v8::internal::p1, and size.

+ Here is the call graph for this function:

◆ emit_rex() [3/3]

template<class P1 , class P2 >
void v8::internal::Assembler::emit_rex ( P1  p1,
P2  p2,
int  size 
)
inlineprivate

Definition at line 1285 of file assembler-x64.h.

1285  {
1286  if (size == kInt64Size) {
1287  emit_rex_64(p1, p2);
1288  } else {
1289  DCHECK(size == kInt32Size);
1291  }
1292  }

References DCHECK, emit_optional_rex_32(), emit_rex_64(), v8::internal::kInt32Size, v8::internal::kInt64Size, v8::internal::p1, v8::internal::p2, and size.

+ Here is the call graph for this function:

◆ emit_rex_32() [1/4]

void v8::internal::Assembler::emit_rex_32 ( const Operand op)
inlineprivate

Definition at line 136 of file assembler-x64-inl.h.

136  {
137  emit(0x40 | op.rex_);
138 }

References emit().

+ Here is the call graph for this function:

◆ emit_rex_32() [2/4]

void v8::internal::Assembler::emit_rex_32 ( Register  reg,
const Operand op 
)
inlineprivate

Definition at line 126 of file assembler-x64-inl.h.

126  {
127  emit(0x40 | reg.high_bit() << 2 | op.rex_);
128 }

References emit(), and v8::internal::Register::high_bit().

+ Here is the call graph for this function:

◆ emit_rex_32() [3/4]

void v8::internal::Assembler::emit_rex_32 ( Register  reg,
Register  rm_reg 
)
inlineprivate

Definition at line 121 of file assembler-x64-inl.h.

121  {
122  emit(0x40 | reg.high_bit() << 2 | rm_reg.high_bit());
123 }

References emit(), and v8::internal::Register::high_bit().

+ Here is the call graph for this function:

◆ emit_rex_32() [4/4]

void v8::internal::Assembler::emit_rex_32 ( Register  rm_reg)
inlineprivate

Definition at line 131 of file assembler-x64-inl.h.

131  {
132  emit(0x40 | rm_reg.high_bit());
133 }

References emit(), and v8::internal::Register::high_bit().

+ Here is the call graph for this function:

◆ emit_rex_64() [1/8]

void v8::internal::Assembler::emit_rex_64 ( )
inlineprivate

Definition at line 1213 of file assembler-x64.h.

1213 { emit(0x48); }

References emit().

Referenced by emit_rex().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ emit_rex_64() [2/8]

void v8::internal::Assembler::emit_rex_64 ( const Operand op)
inlineprivate

Definition at line 116 of file assembler-x64-inl.h.

116  {
117  emit(0x48 | op.rex_);
118 }

References emit().

+ Here is the call graph for this function:

◆ emit_rex_64() [3/8]

void v8::internal::Assembler::emit_rex_64 ( Register  reg,
const Operand op 
)
inlineprivate

Definition at line 100 of file assembler-x64-inl.h.

100  {
101  emit(0x48 | reg.high_bit() << 2 | op.rex_);
102 }

References emit(), and v8::internal::Register::high_bit().

+ Here is the call graph for this function:

◆ emit_rex_64() [4/8]

void v8::internal::Assembler::emit_rex_64 ( Register  reg,
Register  rm_reg 
)
inlineprivate

Definition at line 85 of file assembler-x64-inl.h.

85  {
86  emit(0x48 | reg.high_bit() << 2 | rm_reg.high_bit());
87 }

References emit(), and v8::internal::Register::high_bit().

+ Here is the call graph for this function:

◆ emit_rex_64() [5/8]

void v8::internal::Assembler::emit_rex_64 ( Register  reg,
XMMRegister  rm_reg 
)
inlineprivate

Definition at line 95 of file assembler-x64-inl.h.

95  {
96  emit(0x48 | (reg.code() & 0x8) >> 1 | rm_reg.code() >> 3);
97 }

References v8::internal::Register::code(), v8::internal::XMMRegister::code(), and emit().

+ Here is the call graph for this function:

◆ emit_rex_64() [6/8]

void v8::internal::Assembler::emit_rex_64 ( Register  rm_reg)
inlineprivate

Definition at line 110 of file assembler-x64-inl.h.

110  {
111  DCHECK_EQ(rm_reg.code() & 0xf, rm_reg.code());
112  emit(0x48 | rm_reg.high_bit());
113 }
#define DCHECK_EQ(v1, v2)
Definition: logging.h:206

References v8::internal::Register::code(), DCHECK_EQ, emit(), and v8::internal::Register::high_bit().

+ Here is the call graph for this function:

◆ emit_rex_64() [7/8]

void v8::internal::Assembler::emit_rex_64 ( XMMRegister  reg,
const Operand op 
)
inlineprivate

Definition at line 105 of file assembler-x64-inl.h.

105  {
106  emit(0x48 | (reg.code() & 0x8) >> 1 | op.rex_);
107 }

References v8::internal::XMMRegister::code(), and emit().

+ Here is the call graph for this function:

◆ emit_rex_64() [8/8]

void v8::internal::Assembler::emit_rex_64 ( XMMRegister  reg,
Register  rm_reg 
)
inlineprivate

Definition at line 90 of file assembler-x64-inl.h.

90  {
91  emit(0x48 | (reg.code() & 0x8) >> 1 | rm_reg.code() >> 3);
92 }

References v8::internal::Register::code(), v8::internal::XMMRegister::code(), and emit().

+ Here is the call graph for this function:

◆ emit_runtime_entry()

void v8::internal::Assembler::emit_runtime_entry ( Address  entry,
RelocInfo::Mode  rmode 
)
inlineprivate

Definition at line 78 of file assembler-x64-inl.h.

78  {
80  RecordRelocInfo(rmode);
81  emitl(static_cast<uint32_t>(entry - isolate()->code_range()->start()));
82 }
static bool IsRuntimeEntry(Mode mode)
Definition: assembler.h:405

References DCHECK, emitl(), v8::internal::AssemblerBase::isolate(), v8::internal::RelocInfo::IsRuntimeEntry(), and RecordRelocInfo().

+ Here is the call graph for this function:

◆ emit_sbb()

void v8::internal::Assembler::emit_sbb ( Register  dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1503 of file assembler-x64.h.

1503  {
1504  arithmetic_op(0x1b, dst, src, size);
1505  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_sse_operand() [1/9]

void v8::internal::Assembler::emit_sse_operand ( Register  dst,
XMMRegister  src 
)
protected

◆ emit_sse_operand() [2/9]

void v8::internal::Assembler::emit_sse_operand ( Register  dst,
XMMRegister  src 
)
private

◆ emit_sse_operand() [3/9]

void v8::internal::Assembler::emit_sse_operand ( Register  reg,
const Operand adr 
)
private

◆ emit_sse_operand() [4/9]

void v8::internal::Assembler::emit_sse_operand ( XMMRegister  dst,
Register  src 
)
protected

◆ emit_sse_operand() [5/9]

void v8::internal::Assembler::emit_sse_operand ( XMMRegister  dst,
Register  src 
)
private

◆ emit_sse_operand() [6/9]

void v8::internal::Assembler::emit_sse_operand ( XMMRegister  dst,
XMMRegister  src 
)
protected

◆ emit_sse_operand() [7/9]

void v8::internal::Assembler::emit_sse_operand ( XMMRegister  dst,
XMMRegister  src 
)
private

◆ emit_sse_operand() [8/9]

void v8::internal::Assembler::emit_sse_operand ( XMMRegister  reg,
const Operand adr 
)
protected

◆ emit_sse_operand() [9/9]

void v8::internal::Assembler::emit_sse_operand ( XMMRegister  reg,
const Operand adr 
)
private

◆ emit_sub() [1/5]

void v8::internal::Assembler::emit_sub ( const Operand dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1523 of file assembler-x64.h.

1523  {
1524  immediate_arithmetic_op(0x5, dst, src, size);
1525  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_sub() [2/5]

void v8::internal::Assembler::emit_sub ( const Operand dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1519 of file assembler-x64.h.

1519  {
1520  arithmetic_op(0x29, src, dst, size);
1521  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_sub() [3/5]

void v8::internal::Assembler::emit_sub ( Register  dst,
const Operand src,
int  size 
)
inlineprivate

Definition at line 1515 of file assembler-x64.h.

1515  {
1516  arithmetic_op(0x2B, dst, src, size);
1517  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_sub() [4/5]

void v8::internal::Assembler::emit_sub ( Register  dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1511 of file assembler-x64.h.

1511  {
1512  immediate_arithmetic_op(0x5, dst, src, size);
1513  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_sub() [5/5]

void v8::internal::Assembler::emit_sub ( Register  dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1507 of file assembler-x64.h.

1507  {
1508  arithmetic_op(0x2B, dst, src, size);
1509  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_test() [1/5]

void v8::internal::Assembler::emit_test ( const Operand op,
Immediate  mask,
int  size 
)
private

◆ emit_test() [2/5]

void v8::internal::Assembler::emit_test ( const Operand op,
Register  reg,
int  size 
)
private

◆ emit_test() [3/5]

void v8::internal::Assembler::emit_test ( Register  dst,
Register  src,
int  size 
)
private

Referenced by emit_test().

+ Here is the caller graph for this function:

◆ emit_test() [4/5]

void v8::internal::Assembler::emit_test ( Register  reg,
const Operand op,
int  size 
)
inlineprivate

Definition at line 1531 of file assembler-x64.h.

1531  {
1532  return emit_test(op, reg, size);
1533  }
void emit_test(Register dst, Register src, int size)

References emit_test(), and size.

+ Here is the call graph for this function:

◆ emit_test() [5/5]

void v8::internal::Assembler::emit_test ( Register  reg,
Immediate  mask,
int  size 
)
private

◆ emit_w() [1/2]

void v8::internal::Assembler::emit_w ( const Immediate x)
inlineprivate

Definition at line 454 of file assembler-ia32-inl.h.

454  {
455  DCHECK(RelocInfo::IsNone(x.rmode_));
456  uint16_t value = static_cast<uint16_t>(x.x_);
457  reinterpret_cast<uint16_t*>(pc_)[0] = value;
458  pc_ += sizeof(uint16_t);
459 }
unsigned short uint16_t
Definition: unicode.cc:23

References DCHECK, v8::internal::RelocInfo::IsNone(), v8::internal::AssemblerBase::pc_, and v8::internal::Immediate::rmode_.

+ Here is the call graph for this function:

◆ emit_w() [2/2]

void v8::internal::Assembler::emit_w ( const Immediate x)
inlineprivate

◆ emit_xchg() [1/2]

void v8::internal::Assembler::emit_xchg ( Register  dst,
const Operand src,
int  size 
)
private

◆ emit_xchg() [2/2]

void v8::internal::Assembler::emit_xchg ( Register  dst,
Register  src,
int  size 
)
private

◆ emit_xor() [1/5]

void v8::internal::Assembler::emit_xor ( const Operand dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1556 of file assembler-x64.h.

1556  {
1557  immediate_arithmetic_op(0x6, dst, src, size);
1558  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_xor() [2/5]

void v8::internal::Assembler::emit_xor ( const Operand dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1560 of file assembler-x64.h.

1560  {
1561  arithmetic_op(0x31, src, dst, size);
1562  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_xor() [3/5]

void v8::internal::Assembler::emit_xor ( Register  dst,
const Operand src,
int  size 
)
inlineprivate

Definition at line 1548 of file assembler-x64.h.

1548  {
1549  arithmetic_op(0x33, dst, src, size);
1550  }

References arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_xor() [4/5]

void v8::internal::Assembler::emit_xor ( Register  dst,
Immediate  src,
int  size 
)
inlineprivate

Definition at line 1552 of file assembler-x64.h.

1552  {
1553  immediate_arithmetic_op(0x6, dst, src, size);
1554  }

References immediate_arithmetic_op(), and size.

+ Here is the call graph for this function:

◆ emit_xor() [5/5]

void v8::internal::Assembler::emit_xor ( Register  dst,
Register  src,
int  size 
)
inlineprivate

Definition at line 1538 of file assembler-x64.h.

1538  {
1539  if (size == kInt64Size && dst.code() == src.code()) {
1540  // 32 bit operations zero the top 32 bits of 64 bit registers. Therefore
1541  // there is no need to make this a 64 bit operation.
1542  arithmetic_op(0x33, dst, src, kInt32Size);
1543  } else {
1544  arithmetic_op(0x33, dst, src, size);
1545  }
1546  }

References arithmetic_op(), v8::internal::kInt32Size, v8::internal::kInt64Size, and size.

+ Here is the call graph for this function:

◆ EmitData()

void v8::internal::Assembler::EmitData ( void const *  data,
unsigned  size 
)
inlineprivate

Definition at line 2098 of file assembler-arm64.h.

2098  {
2099  DCHECK(sizeof(*pc_) == 1);
2100  DCHECK((pc_ + size) <= (buffer_ + buffer_size_));
2101 
2102  // TODO(all): Somehow register we have some data here. Then we can
2103  // disassemble it correctly.
2104  memcpy(pc_, data, size);
2105  pc_ += size;
2106  CheckBuffer();
2107  }

References v8::internal::AssemblerBase::buffer_, v8::internal::AssemblerBase::buffer_size_, CheckBuffer(), DCHECK, v8::internal::AssemblerBase::pc_, and size.

Referenced by dc32(), dc64(), and dc8().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EmitExtendShift()

void v8::internal::Assembler::EmitExtendShift ( const Register rd,
const Register rn,
Extend  extend,
unsigned  left_shift 
)
protected

◆ emitl()

void v8::internal::Assembler::emitl ( uint32_t  x)
inlineprivate

Definition at line 29 of file assembler-x64-inl.h.

29  {
31  pc_ += sizeof(uint32_t);
32 }
static uint32_t & uint32_at(Address addr)
Definition: v8memory.h:24

References v8::internal::AssemblerBase::pc_, and v8::internal::Memory::uint32_at().

Referenced by emit(), emit_code_target(), and emit_runtime_entry().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ emitp()

void v8::internal::Assembler::emitp ( void *  x,
RelocInfo::Mode  rmode 
)
inlineprivate

Definition at line 35 of file assembler-x64-inl.h.

35  {
36  uintptr_t value = reinterpret_cast<uintptr_t>(x);
37  Memory::uintptr_at(pc_) = value;
38  if (!RelocInfo::IsNone(rmode)) {
39  RecordRelocInfo(rmode, value);
40  }
41  pc_ += sizeof(uintptr_t);
42 }
static uintptr_t & uintptr_at(Address addr)
Definition: v8memory.h:48

References v8::internal::RelocInfo::IsNone(), v8::internal::AssemblerBase::pc_, RecordRelocInfo(), and v8::internal::Memory::uintptr_at().

+ Here is the call graph for this function:

◆ EmitPoolGuard()

void v8::internal::Assembler::EmitPoolGuard ( )

Referenced by EmitVeneersGuard().

+ Here is the caller graph for this function:

◆ emitq()

void v8::internal::Assembler::emitq ( uint64_t  x)
inlineprivate

Definition at line 45 of file assembler-x64-inl.h.

45  {
47  pc_ += sizeof(uint64_t);
48 }
static uint64_t & uint64_at(Address addr)
Definition: v8memory.h:32

References v8::internal::AssemblerBase::pc_, and v8::internal::Memory::uint64_at().

+ Here is the call graph for this function:

◆ EmitShift()

void v8::internal::Assembler::EmitShift ( const Register rd,
const Register rn,
Shift  shift,
unsigned  amount 
)
protected

◆ EmitStringData()

void v8::internal::Assembler::EmitStringData ( const char *  string)

◆ EmitVeneers()

void v8::internal::Assembler::EmitVeneers ( bool  force_emit,
bool  need_protection,
int  margin = kVeneerDistanceMargin 
)

◆ EmitVeneersGuard()

void v8::internal::Assembler::EmitVeneersGuard ( )
inline

Definition at line 1917 of file assembler-arm64.h.

1917 { EmitPoolGuard(); }

References EmitPoolGuard().

+ Here is the call graph for this function:

◆ emitw()

void v8::internal::Assembler::emitw ( uint16_t  x)
inlineprivate

Definition at line 51 of file assembler-x64-inl.h.

51  {
53  pc_ += sizeof(uint16_t);
54 }
static uint16_t & uint16_at(Address addr)
Definition: v8memory.h:20

References v8::internal::AssemblerBase::pc_, and v8::internal::Memory::uint16_at().

+ Here is the call graph for this function:

◆ EncodeMovwImmediate()

static Instr v8::internal::Assembler::EncodeMovwImmediate ( uint32_t  immediate)
static

◆ EndBlockConstPool() [1/2]

void v8::internal::Assembler::EndBlockConstPool ( )
inlineprotected

Definition at line 1526 of file assembler-arm.h.

1526  {
1527  if (--const_pool_blocked_nesting_ == 0) {
1528 #ifdef DEBUG
1529  // Max pool start (if we need a jump and an alignment).
1530  int start = pc_offset() + kInstrSize + 2 * kPointerSize;
1531  // Check the constant pool hasn't been blocked for too long.
1537 #endif
1538  // Two cases:
1539  // * no_const_pool_before_ >= next_buffer_check_ and the emission is
1540  // still blocked
1541  // * no_const_pool_before_ < next_buffer_check_ and the next emit will
1542  // trigger a check.
1544  }
1545  }
static const int kMaxDistToIntPool
static const int kMaxDistToFPPool
const int kPointerSize
Definition: globals.h:129
const int kDoubleSize
Definition: globals.h:127

References const_pool_blocked_nesting_, DCHECK, first_const_pool_32_use_, first_const_pool_64_use_, v8::internal::kDoubleSize, kInstrSize, kMaxDistToFPPool, kMaxDistToIntPool, v8::internal::kPointerSize, next_buffer_check_, no_const_pool_before_, num_pending_32_bit_reloc_info_, num_pending_64_bit_reloc_info_, and v8::internal::AssemblerBase::pc_offset().

Referenced by EndBlockPools(), and v8::internal::Assembler::BlockConstPoolScope::~BlockConstPoolScope().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndBlockConstPool() [2/2]

void v8::internal::Assembler::EndBlockConstPool ( )

◆ EndBlockGrowBuffer() [1/2]

void v8::internal::Assembler::EndBlockGrowBuffer ( )
inlineprotected

Definition at line 1168 of file assembler-mips.h.

1168  {
1170  block_buffer_growth_ = false;
1171  }

References block_buffer_growth_, and DCHECK.

Referenced by v8::internal::Assembler::BlockGrowBufferScope::~BlockGrowBufferScope().

+ Here is the caller graph for this function:

◆ EndBlockGrowBuffer() [2/2]

void v8::internal::Assembler::EndBlockGrowBuffer ( )
inlineprotected

Definition at line 1204 of file assembler-mips64.h.

1204  {
1206  block_buffer_growth_ = false;
1207  }

References block_buffer_growth_, and DCHECK.

◆ EndBlockPools()

void v8::internal::Assembler::EndBlockPools ( )
inline

Definition at line 1002 of file assembler-arm64.h.

1002  {
1005  }

References EndBlockConstPool(), and EndBlockVeneerPool().

Referenced by v8::internal::Assembler::BlockPoolsScope::~BlockPoolsScope(), and v8::internal::PatchingAssembler::~PatchingAssembler().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndBlockTrampolinePool() [1/2]

void v8::internal::Assembler::EndBlockTrampolinePool ( )
inlineprotected

Definition at line 1144 of file assembler-mips.h.

1144  {
1146  }

References trampoline_pool_blocked_nesting_.

Referenced by v8::internal::Assembler::BlockTrampolinePoolScope::~BlockTrampolinePoolScope().

+ Here is the caller graph for this function:

◆ EndBlockTrampolinePool() [2/2]

void v8::internal::Assembler::EndBlockTrampolinePool ( )
inlineprotected

Definition at line 1180 of file assembler-mips64.h.

1180  {
1182  }

References trampoline_pool_blocked_nesting_.

◆ EndBlockVeneerPool()

void v8::internal::Assembler::EndBlockVeneerPool ( )

Referenced by EndBlockPools().

+ Here is the caller graph for this function:

◆ enter() [1/3]

void v8::internal::Assembler::enter ( const Immediate size)

◆ enter() [2/3]

void v8::internal::Assembler::enter ( const Immediate size)

◆ enter() [3/3]

void v8::internal::Assembler::enter ( Immediate  size)

◆ eon()

void v8::internal::Assembler::eon ( const Register rd,
const Register rn,
const Operand operand 
)

◆ eor() [1/2]

void v8::internal::Assembler::eor ( const Register rd,
const Register rn,
const Operand operand 
)

◆ eor() [2/2]

void v8::internal::Assembler::eor ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ ext_() [1/2]

void v8::internal::Assembler::ext_ ( Register  rt,
Register  rs,
uint16_t  pos,
uint16_t  size 
)

◆ ext_() [2/2]

void v8::internal::Assembler::ext_ ( Register  rt,
Register  rs,
uint16_t  pos,
uint16_t  size 
)

◆ ExtendMode()

Instr v8::internal::Assembler::ExtendMode ( Extend  extend)
inlinestatic

Definition at line 1128 of file assembler-arm64-inl.h.

1128  {
1129  return extend << ExtendMode_offset;
1130 }

◆ extr()

void v8::internal::Assembler::extr ( const Register rd,
const Register rn,
const Register rm,
unsigned  lsb 
)

Referenced by v8::internal::MacroAssembler::Extr(), and ror().

+ Here is the caller graph for this function:

◆ extractps() [1/2]

void v8::internal::Assembler::extractps ( Register  dst,
XMMRegister  src,
byte  imm8 
)

◆ extractps() [2/2]

void v8::internal::Assembler::extractps ( Register  dst,
XMMRegister  src,
byte  imm8 
)

◆ f2xm1() [1/3]

void v8::internal::Assembler::f2xm1 ( )

◆ f2xm1() [2/3]

void v8::internal::Assembler::f2xm1 ( )

◆ f2xm1() [3/3]

void v8::internal::Assembler::f2xm1 ( )

◆ fabs() [1/4]

void v8::internal::Assembler::fabs ( )

Referenced by v8::internal::MacroAssembler::Fabs().

+ Here is the caller graph for this function:

◆ fabs() [2/4]

void v8::internal::Assembler::fabs ( )

◆ fabs() [3/4]

void v8::internal::Assembler::fabs ( )

◆ fabs() [4/4]

void v8::internal::Assembler::fabs ( const FPRegister fd,
const FPRegister fn 
)

◆ fadd() [1/4]

void v8::internal::Assembler::fadd ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm 
)

Referenced by v8::internal::MacroAssembler::Fadd().

+ Here is the caller graph for this function:

◆ fadd() [2/4]

void v8::internal::Assembler::fadd ( int  i)

◆ fadd() [3/4]

void v8::internal::Assembler::fadd ( int  i)

◆ fadd() [4/4]

void v8::internal::Assembler::fadd ( int  i)

◆ fadd_d()

void v8::internal::Assembler::fadd_d ( const Operand adr)

◆ fadd_i() [1/2]

void v8::internal::Assembler::fadd_i ( int  i)

◆ fadd_i() [2/2]

void v8::internal::Assembler::fadd_i ( int  i)

◆ faddp() [1/3]

void v8::internal::Assembler::faddp ( int  i = 1)

◆ faddp() [2/3]

void v8::internal::Assembler::faddp ( int  i = 1)

◆ faddp() [3/3]

void v8::internal::Assembler::faddp ( int  i = 1)

◆ fccmp()

void v8::internal::Assembler::fccmp ( const FPRegister fn,
const FPRegister fm,
StatusFlags  nzcv,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Fccmp().

+ Here is the caller graph for this function:

◆ fchs() [1/3]

void v8::internal::Assembler::fchs ( )

◆ fchs() [2/3]

void v8::internal::Assembler::fchs ( )

◆ fchs() [3/3]

void v8::internal::Assembler::fchs ( )

◆ fcmp() [1/4]

void v8::internal::Assembler::fcmp ( const FPRegister fn,
const FPRegister fm 
)

Referenced by v8::internal::MacroAssembler::Fcmp().

+ Here is the caller graph for this function:

◆ fcmp() [2/4]

void v8::internal::Assembler::fcmp ( const FPRegister fn,
double  value 
)

◆ fcmp() [3/4]

void v8::internal::Assembler::fcmp ( FPURegister  src1,
const double  src2,
FPUCondition  cond 
)

◆ fcmp() [4/4]

void v8::internal::Assembler::fcmp ( FPURegister  src1,
const double  src2,
FPUCondition  cond 
)

◆ fcompp() [1/3]

void v8::internal::Assembler::fcompp ( )

◆ fcompp() [2/3]

void v8::internal::Assembler::fcompp ( )

◆ fcompp() [3/3]

void v8::internal::Assembler::fcompp ( )

◆ fcos() [1/3]

void v8::internal::Assembler::fcos ( )

◆ fcos() [2/3]

void v8::internal::Assembler::fcos ( )

◆ fcos() [3/3]

void v8::internal::Assembler::fcos ( )

◆ fcsel()

void v8::internal::Assembler::fcsel ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm,
Condition  cond 
)

Referenced by v8::internal::MacroAssembler::Fcsel().

+ Here is the caller graph for this function:

◆ fcvt()

void v8::internal::Assembler::fcvt ( const FPRegister fd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fcvt().

+ Here is the caller graph for this function:

◆ fcvtas()

void v8::internal::Assembler::fcvtas ( const Register rd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fcvtas().

+ Here is the caller graph for this function:

◆ fcvtau()

void v8::internal::Assembler::fcvtau ( const Register rd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fcvtau().

+ Here is the caller graph for this function:

◆ fcvtms()

void v8::internal::Assembler::fcvtms ( const Register rd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fcvtms().

+ Here is the caller graph for this function:

◆ fcvtmu()

void v8::internal::Assembler::fcvtmu ( const Register rd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fcvtmu().

+ Here is the caller graph for this function:

◆ fcvtns()

void v8::internal::Assembler::fcvtns ( const Register rd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fcvtns().

+ Here is the caller graph for this function:

◆ fcvtnu()

void v8::internal::Assembler::fcvtnu ( const Register rd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fcvtnu().

+ Here is the caller graph for this function:

◆ fcvtzs()

void v8::internal::Assembler::fcvtzs ( const Register rd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fcvtzs().

+ Here is the caller graph for this function:

◆ fcvtzu()

void v8::internal::Assembler::fcvtzu ( const Register rd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fcvtzu().

+ Here is the caller graph for this function:

◆ fdiv() [1/4]

void v8::internal::Assembler::fdiv ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm 
)

Referenced by v8::internal::MacroAssembler::Fdiv().

+ Here is the caller graph for this function:

◆ fdiv() [2/4]

void v8::internal::Assembler::fdiv ( int  i)

◆ fdiv() [3/4]

void v8::internal::Assembler::fdiv ( int  i)

◆ fdiv() [4/4]

void v8::internal::Assembler::fdiv ( int  i)

◆ fdiv_i() [1/2]

void v8::internal::Assembler::fdiv_i ( int  i)

◆ fdiv_i() [2/2]

void v8::internal::Assembler::fdiv_i ( int  i)

◆ fdivp() [1/3]

void v8::internal::Assembler::fdivp ( int  i = 1)

◆ fdivp() [2/3]

void v8::internal::Assembler::fdivp ( int  i = 1)

◆ fdivp() [3/3]

void v8::internal::Assembler::fdivp ( int  i = 1)

◆ ffree() [1/3]

void v8::internal::Assembler::ffree ( int  i = 0)

◆ ffree() [2/3]

void v8::internal::Assembler::ffree ( int  i = 0)

◆ ffree() [3/3]

void v8::internal::Assembler::ffree ( int  i = 0)

◆ fild_d() [1/3]

void v8::internal::Assembler::fild_d ( const Operand adr)

◆ fild_d() [2/3]

void v8::internal::Assembler::fild_d ( const Operand adr)

◆ fild_d() [3/3]

void v8::internal::Assembler::fild_d ( const Operand adr)

◆ fild_s() [1/3]

void v8::internal::Assembler::fild_s ( const Operand adr)

◆ fild_s() [2/3]

void v8::internal::Assembler::fild_s ( const Operand adr)

◆ fild_s() [3/3]

void v8::internal::Assembler::fild_s ( const Operand adr)

◆ fincstp() [1/3]

void v8::internal::Assembler::fincstp ( )

◆ fincstp() [2/3]

void v8::internal::Assembler::fincstp ( )

◆ fincstp() [3/3]

void v8::internal::Assembler::fincstp ( )

◆ fist_s() [1/3]

void v8::internal::Assembler::fist_s ( const Operand adr)

◆ fist_s() [2/3]

void v8::internal::Assembler::fist_s ( const Operand adr)

◆ fist_s() [3/3]

void v8::internal::Assembler::fist_s ( const Operand adr)

◆ fistp_d() [1/3]

void v8::internal::Assembler::fistp_d ( const Operand adr)

◆ fistp_d() [2/3]

void v8::internal::Assembler::fistp_d ( const Operand adr)

◆ fistp_d() [3/3]

void v8::internal::Assembler::fistp_d ( const Operand adr)

◆ fistp_s() [1/3]

void v8::internal::Assembler::fistp_s ( const Operand adr)

◆ fistp_s() [2/3]

void v8::internal::Assembler::fistp_s ( const Operand adr)

◆ fistp_s() [3/3]

void v8::internal::Assembler::fistp_s ( const Operand adr)

◆ fisttp_d() [1/3]

void v8::internal::Assembler::fisttp_d ( const Operand adr)

◆ fisttp_d() [2/3]

void v8::internal::Assembler::fisttp_d ( const Operand adr)

◆ fisttp_d() [3/3]

void v8::internal::Assembler::fisttp_d ( const Operand adr)

◆ fisttp_s() [1/3]

void v8::internal::Assembler::fisttp_s ( const Operand adr)

◆ fisttp_s() [2/3]

void v8::internal::Assembler::fisttp_s ( const Operand adr)

◆ fisttp_s() [3/3]

void v8::internal::Assembler::fisttp_s ( const Operand adr)

◆ fisub_s() [1/3]

void v8::internal::Assembler::fisub_s ( const Operand adr)

◆ fisub_s() [2/3]

void v8::internal::Assembler::fisub_s ( const Operand adr)

◆ fisub_s() [3/3]

void v8::internal::Assembler::fisub_s ( const Operand adr)

◆ Flags()

Instr v8::internal::Assembler::Flags ( FlagsUpdate  S)
inlinestatic

Definition at line 992 of file assembler-arm64-inl.h.

992  {
993  if (S == SetFlags) {
994  return 1 << FlagsUpdate_offset;
995  } else if (S == LeaveFlags) {
996  return 0 << FlagsUpdate_offset;
997  }
998  UNREACHABLE();
999  return 0;
1000 }
#define UNREACHABLE()
Definition: logging.h:30

References v8::internal::LeaveFlags, v8::internal::S, v8::internal::SetFlags, and UNREACHABLE.

◆ fld() [1/3]

void v8::internal::Assembler::fld ( int  i)

◆ fld() [2/3]

void v8::internal::Assembler::fld ( int  i)

◆ fld() [3/3]

void v8::internal::Assembler::fld ( int  i)

◆ fld1() [1/3]

void v8::internal::Assembler::fld1 ( )

◆ fld1() [2/3]

void v8::internal::Assembler::fld1 ( )

◆ fld1() [3/3]

void v8::internal::Assembler::fld1 ( )

◆ fld_d() [1/3]

void v8::internal::Assembler::fld_d ( const Operand adr)

◆ fld_d() [2/3]

void v8::internal::Assembler::fld_d ( const Operand adr)

◆ fld_d() [3/3]

void v8::internal::Assembler::fld_d ( const Operand adr)

◆ fld_s() [1/3]

void v8::internal::Assembler::fld_s ( const Operand adr)

◆ fld_s() [2/3]

void v8::internal::Assembler::fld_s ( const Operand adr)

◆ fld_s() [3/3]

void v8::internal::Assembler::fld_s ( const Operand adr)

◆ fldcw()

void v8::internal::Assembler::fldcw ( const Operand adr)

◆ fldln2() [1/3]

void v8::internal::Assembler::fldln2 ( )

◆ fldln2() [2/3]

void v8::internal::Assembler::fldln2 ( )

◆ fldln2() [3/3]

void v8::internal::Assembler::fldln2 ( )

◆ fldpi() [1/3]

void v8::internal::Assembler::fldpi ( )

◆ fldpi() [2/3]

void v8::internal::Assembler::fldpi ( )

◆ fldpi() [3/3]

void v8::internal::Assembler::fldpi ( )

◆ fldz() [1/3]

void v8::internal::Assembler::fldz ( )

◆ fldz() [2/3]

void v8::internal::Assembler::fldz ( )

◆ fldz() [3/3]

void v8::internal::Assembler::fldz ( )

◆ floor_l_d() [1/2]

void v8::internal::Assembler::floor_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ floor_l_d() [2/2]

void v8::internal::Assembler::floor_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ floor_l_s() [1/2]

void v8::internal::Assembler::floor_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ floor_l_s() [2/2]

void v8::internal::Assembler::floor_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ floor_w_d() [1/2]

void v8::internal::Assembler::floor_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ floor_w_d() [2/2]

void v8::internal::Assembler::floor_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ floor_w_s() [1/2]

void v8::internal::Assembler::floor_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ floor_w_s() [2/2]

void v8::internal::Assembler::floor_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ fmadd()

void v8::internal::Assembler::fmadd ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm,
const FPRegister fa 
)

Referenced by v8::internal::MacroAssembler::Fmadd().

+ Here is the caller graph for this function:

◆ fmax()

void v8::internal::Assembler::fmax ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm 
)

Referenced by v8::internal::MacroAssembler::Fmax().

+ Here is the caller graph for this function:

◆ fmaxnm()

void v8::internal::Assembler::fmaxnm ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm 
)

Referenced by v8::internal::MacroAssembler::Fmaxnm().

+ Here is the caller graph for this function:

◆ fmin()

void v8::internal::Assembler::fmin ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm 
)

Referenced by v8::internal::MacroAssembler::Fmin().

+ Here is the caller graph for this function:

◆ fminnm()

void v8::internal::Assembler::fminnm ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm 
)

Referenced by v8::internal::MacroAssembler::Fminnm().

+ Here is the caller graph for this function:

◆ fmov() [1/5]

void v8::internal::Assembler::fmov ( FPRegister  fd,
double  imm 
)

Referenced by v8::internal::MacroAssembler::Fmov().

+ Here is the caller graph for this function:

◆ fmov() [2/5]

void v8::internal::Assembler::fmov ( FPRegister  fd,
float  imm 
)

◆ fmov() [3/5]

void v8::internal::Assembler::fmov ( FPRegister  fd,
FPRegister  fn 
)

◆ fmov() [4/5]

void v8::internal::Assembler::fmov ( FPRegister  fd,
Register  rn 
)

◆ fmov() [5/5]

void v8::internal::Assembler::fmov ( Register  rd,
FPRegister  fn 
)

◆ fmsub()

void v8::internal::Assembler::fmsub ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm,
const FPRegister fa 
)

Referenced by v8::internal::MacroAssembler::Fmsub().

+ Here is the caller graph for this function:

◆ fmul() [1/4]

void v8::internal::Assembler::fmul ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm 
)

Referenced by v8::internal::MacroAssembler::Fmul().

+ Here is the caller graph for this function:

◆ fmul() [2/4]

void v8::internal::Assembler::fmul ( int  i)

◆ fmul() [3/4]

void v8::internal::Assembler::fmul ( int  i)

◆ fmul() [4/4]

void v8::internal::Assembler::fmul ( int  i)

◆ fmul_i() [1/2]

void v8::internal::Assembler::fmul_i ( int  i)

◆ fmul_i() [2/2]

void v8::internal::Assembler::fmul_i ( int  i)

◆ fmulp() [1/3]

void v8::internal::Assembler::fmulp ( int  i = 1)

◆ fmulp() [2/3]

void v8::internal::Assembler::fmulp ( int  i = 1)

◆ fmulp() [3/3]

void v8::internal::Assembler::fmulp ( int  i = 1)

◆ fnclex() [1/3]

void v8::internal::Assembler::fnclex ( )

◆ fnclex() [2/3]

void v8::internal::Assembler::fnclex ( )

◆ fnclex() [3/3]

void v8::internal::Assembler::fnclex ( )

◆ fneg()

void v8::internal::Assembler::fneg ( const FPRegister fd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Fneg().

+ Here is the caller graph for this function:

◆ fninit() [1/3]

void v8::internal::Assembler::fninit ( )

◆ fninit() [2/3]

void v8::internal::Assembler::fninit ( )

◆ fninit() [3/3]

void v8::internal::Assembler::fninit ( )

◆ fnmadd()

void v8::internal::Assembler::fnmadd ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm,
const FPRegister fa 
)

Referenced by v8::internal::MacroAssembler::Fnmadd().

+ Here is the caller graph for this function:

◆ fnmsub()

void v8::internal::Assembler::fnmsub ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm,
const FPRegister fa 
)

Referenced by v8::internal::MacroAssembler::Fnmsub().

+ Here is the caller graph for this function:

◆ fnsave()

void v8::internal::Assembler::fnsave ( const Operand adr)

Referenced by v8::internal::RecordWriteStub::RegisterAllocation::SaveCallerSaveRegisters().

+ Here is the caller graph for this function:

◆ fnstcw()

void v8::internal::Assembler::fnstcw ( const Operand adr)

◆ fnstsw_ax() [1/3]

void v8::internal::Assembler::fnstsw_ax ( )

◆ fnstsw_ax() [2/3]

void v8::internal::Assembler::fnstsw_ax ( )

◆ fnstsw_ax() [3/3]

void v8::internal::Assembler::fnstsw_ax ( )

◆ FPConvertToInt()

void v8::internal::Assembler::FPConvertToInt ( const Register rd,
const FPRegister fn,
FPIntegerConvertOp  op 
)

◆ FPDataProcessing1Source()

void v8::internal::Assembler::FPDataProcessing1Source ( const FPRegister fd,
const FPRegister fn,
FPDataProcessing1SourceOp  op 
)
private

◆ FPDataProcessing2Source()

void v8::internal::Assembler::FPDataProcessing2Source ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm,
FPDataProcessing2SourceOp  op 
)
private

◆ FPDataProcessing3Source()

void v8::internal::Assembler::FPDataProcessing3Source ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm,
const FPRegister fa,
FPDataProcessing3SourceOp  op 
)
private

◆ fprem() [1/3]

void v8::internal::Assembler::fprem ( )

◆ fprem() [2/3]

void v8::internal::Assembler::fprem ( )

◆ fprem() [3/3]

void v8::internal::Assembler::fprem ( )

◆ fprem1() [1/3]

void v8::internal::Assembler::fprem1 ( )

◆ fprem1() [2/3]

void v8::internal::Assembler::fprem1 ( )

◆ fprem1() [3/3]

void v8::internal::Assembler::fprem1 ( )

◆ FPScale()

Instr v8::internal::Assembler::FPScale ( unsigned  scale)
inlinestatic

Definition at line 1229 of file assembler-arm64-inl.h.

1229  {
1230  DCHECK(is_uint6(scale));
1231  return scale << FPScale_offset;
1232 }

References DCHECK.

◆ fptan() [1/3]

void v8::internal::Assembler::fptan ( )

◆ fptan() [2/3]

void v8::internal::Assembler::fptan ( )

◆ fptan() [3/3]

void v8::internal::Assembler::fptan ( )

◆ FPType()

Instr v8::internal::Assembler::FPType ( FPRegister  fd)
inlinestatic

Definition at line 1224 of file assembler-arm64-inl.h.

1224  {
1225  return fd.Is64Bits() ? FP64 : FP32;
1226 }

References v8::internal::FP32, v8::internal::FP64, and v8::internal::CPURegister::Is64Bits().

+ Here is the call graph for this function:

◆ frinta()

void v8::internal::Assembler::frinta ( const FPRegister fd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Frinta().

+ Here is the caller graph for this function:

◆ frintm()

void v8::internal::Assembler::frintm ( const FPRegister fd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Frintm().

+ Here is the caller graph for this function:

◆ frintn()

void v8::internal::Assembler::frintn ( const FPRegister fd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Frintn().

+ Here is the caller graph for this function:

◆ frintz()

void v8::internal::Assembler::frintz ( const FPRegister fd,
const FPRegister fn 
)

Referenced by v8::internal::MacroAssembler::Frintz().

+ Here is the caller graph for this function:

◆ frndint() [1/3]

void v8::internal::Assembler::frndint ( )

◆ frndint() [2/3]

void v8::internal::Assembler::frndint ( )

◆ frndint() [3/3]

void v8::internal::Assembler::frndint ( )

◆ frstor()

void v8::internal::Assembler::frstor ( const Operand adr)

Referenced by v8::internal::RecordWriteStub::RegisterAllocation::RestoreCallerSaveRegisters().

+ Here is the caller graph for this function:

◆ fscale() [1/3]

void v8::internal::Assembler::fscale ( )

◆ fscale() [2/3]

void v8::internal::Assembler::fscale ( )

◆ fscale() [3/3]

void v8::internal::Assembler::fscale ( )

◆ fsin() [1/3]

void v8::internal::Assembler::fsin ( )

◆ fsin() [2/3]

void v8::internal::Assembler::fsin ( )

◆ fsin() [3/3]

void v8::internal::Assembler::fsin ( )

◆ fsqrt() [1/2]

void v8::internal::Assembler::fsqrt ( )

Referenced by v8::internal::MacroAssembler::Fsqrt().

+ Here is the caller graph for this function:

◆ fsqrt() [2/2]

void v8::internal::Assembler::fsqrt ( const FPRegister fd,
const FPRegister fn 
)

◆ fst_d() [1/2]

void v8::internal::Assembler::fst_d ( const Operand adr)

◆ fst_d() [2/2]

void v8::internal::Assembler::fst_d ( const Operand adr)

◆ fst_s() [1/2]

void v8::internal::Assembler::fst_s ( const Operand adr)

◆ fst_s() [2/2]

void v8::internal::Assembler::fst_s ( const Operand adr)

◆ fstp() [1/3]

void v8::internal::Assembler::fstp ( int  i)

◆ fstp() [2/3]

void v8::internal::Assembler::fstp ( int  i)

◆ fstp() [3/3]

void v8::internal::Assembler::fstp ( int  index)

◆ fstp_d() [1/3]

void v8::internal::Assembler::fstp_d ( const Operand adr)

◆ fstp_d() [2/3]

void v8::internal::Assembler::fstp_d ( const Operand adr)

◆ fstp_d() [3/3]

void v8::internal::Assembler::fstp_d ( const Operand adr)

◆ fstp_s() [1/3]

void v8::internal::Assembler::fstp_s ( const Operand adr)

◆ fstp_s() [2/3]

void v8::internal::Assembler::fstp_s ( const Operand adr)

◆ fstp_s() [3/3]

void v8::internal::Assembler::fstp_s ( const Operand adr)

◆ fsub() [1/4]

void v8::internal::Assembler::fsub ( const FPRegister fd,
const FPRegister fn,
const FPRegister fm 
)

Referenced by v8::internal::MacroAssembler::Fsub().

+ Here is the caller graph for this function:

◆ fsub() [2/4]

void v8::internal::Assembler::fsub ( int  i)

◆ fsub() [3/4]

void v8::internal::Assembler::fsub ( int  i)

◆ fsub() [4/4]

void v8::internal::Assembler::fsub ( int  i)

◆ fsub_i() [1/2]

void v8::internal::Assembler::fsub_i ( int  i)

◆ fsub_i() [2/2]

void v8::internal::Assembler::fsub_i ( int  i)

◆ fsubp() [1/3]

void v8::internal::Assembler::fsubp ( int  i = 1)

◆ fsubp() [2/3]

void v8::internal::Assembler::fsubp ( int  i = 1)

◆ fsubp() [3/3]

void v8::internal::Assembler::fsubp ( int  i = 1)

◆ fsubrp() [1/3]

void v8::internal::Assembler::fsubrp ( int  i = 1)

◆ fsubrp() [2/3]

void v8::internal::Assembler::fsubrp ( int  i = 1)

◆ fsubrp() [3/3]

void v8::internal::Assembler::fsubrp ( int  i = 1)

◆ ftst() [1/3]

void v8::internal::Assembler::ftst ( )

◆ ftst() [2/3]

void v8::internal::Assembler::ftst ( )

◆ ftst() [3/3]

void v8::internal::Assembler::ftst ( )

◆ fucomi() [1/3]

void v8::internal::Assembler::fucomi ( int  i)

◆ fucomi() [2/3]

void v8::internal::Assembler::fucomi ( int  i)

◆ fucomi() [3/3]

void v8::internal::Assembler::fucomi ( int  i)

◆ fucomip() [1/3]

void v8::internal::Assembler::fucomip ( )

◆ fucomip() [2/3]

void v8::internal::Assembler::fucomip ( )

◆ fucomip() [3/3]

void v8::internal::Assembler::fucomip ( )

◆ fucomp() [1/3]

void v8::internal::Assembler::fucomp ( int  i)

◆ fucomp() [2/3]

void v8::internal::Assembler::fucomp ( int  i)

◆ fucomp() [3/3]

void v8::internal::Assembler::fucomp ( int  i)

◆ fucompp() [1/3]

void v8::internal::Assembler::fucompp ( )

◆ fucompp() [2/3]

void v8::internal::Assembler::fucompp ( )

◆ fucompp() [3/3]

void v8::internal::Assembler::fucompp ( )

◆ fwait() [1/3]

void v8::internal::Assembler::fwait ( )

◆ fwait() [2/3]

void v8::internal::Assembler::fwait ( )

◆ fwait() [3/3]

void v8::internal::Assembler::fwait ( )

◆ fxam()

void v8::internal::Assembler::fxam ( )

◆ fxch() [1/3]

void v8::internal::Assembler::fxch ( int  i = 1)

◆ fxch() [2/3]

void v8::internal::Assembler::fxch ( int  i = 1)

◆ fxch() [3/3]

void v8::internal::Assembler::fxch ( int  i = 1)

◆ fyl2x() [1/3]

void v8::internal::Assembler::fyl2x ( )

◆ fyl2x() [2/3]

void v8::internal::Assembler::fyl2x ( )

◆ fyl2x() [3/3]

void v8::internal::Assembler::fyl2x ( )

◆ GenInstrImmediate() [1/6]

void v8::internal::Assembler::GenInstrImmediate ( Opcode  opcode,
Register  r1,
FPURegister  r2,
int32_t  j 
)
private

◆ GenInstrImmediate() [2/6]

void v8::internal::Assembler::GenInstrImmediate ( Opcode  opcode,
Register  r1,
FPURegister  r2,
int32_t  j 
)
private

◆ GenInstrImmediate() [3/6]

void v8::internal::Assembler::GenInstrImmediate ( Opcode  opcode,
Register  rs,
Register  rt,
int32_t  j 
)
private

◆ GenInstrImmediate() [4/6]

void v8::internal::Assembler::GenInstrImmediate ( Opcode  opcode,
Register  rs,
Register  rt,
int32_t  j 
)
private

◆ GenInstrImmediate() [5/6]

void v8::internal::Assembler::GenInstrImmediate ( Opcode  opcode,
Register  rs,
SecondaryField  SF,
int32_t  j 
)
private

◆ GenInstrImmediate() [6/6]

void v8::internal::Assembler::GenInstrImmediate ( Opcode  opcode,
Register  rs,
SecondaryField  SF,
int32_t  j 
)
private

◆ GenInstrJump() [1/2]

void v8::internal::Assembler::GenInstrJump ( Opcode  opcode,
uint32_t  address 
)
private

◆ GenInstrJump() [2/2]

void v8::internal::Assembler::GenInstrJump ( Opcode  opcode,
uint32_t  address 
)
private

◆ GenInstrRegister() [1/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
FPURegister  fr,
FPURegister  ft,
FPURegister  fs,
FPURegister  fd,
SecondaryField  func = NULLSF 
)
private

◆ GenInstrRegister() [2/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
FPURegister  fr,
FPURegister  ft,
FPURegister  fs,
FPURegister  fd,
SecondaryField  func = NULLSF 
)
private

◆ GenInstrRegister() [3/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
Register  rs,
Register  rt,
Register  rd,
uint16_t  sa = 0,
SecondaryField  func = NULLSF 
)
private

◆ GenInstrRegister() [4/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
Register  rs,
Register  rt,
Register  rd,
uint16_t  sa = 0,
SecondaryField  func = NULLSF 
)
private

◆ GenInstrRegister() [5/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
Register  rs,
Register  rt,
uint16_t  msb,
uint16_t  lsb,
SecondaryField  func 
)
private

◆ GenInstrRegister() [6/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
Register  rs,
Register  rt,
uint16_t  msb,
uint16_t  lsb,
SecondaryField  func 
)
private

◆ GenInstrRegister() [7/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
SecondaryField  fmt,
FPURegister  ft,
FPURegister  fs,
FPURegister  fd,
SecondaryField  func = NULLSF 
)
private

◆ GenInstrRegister() [8/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
SecondaryField  fmt,
FPURegister  ft,
FPURegister  fs,
FPURegister  fd,
SecondaryField  func = NULLSF 
)
private

◆ GenInstrRegister() [9/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
SecondaryField  fmt,
Register  rt,
FPUControlRegister  fs,
SecondaryField  func = NULLSF 
)
private

◆ GenInstrRegister() [10/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
SecondaryField  fmt,
Register  rt,
FPUControlRegister  fs,
SecondaryField  func = NULLSF 
)
private

◆ GenInstrRegister() [11/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
SecondaryField  fmt,
Register  rt,
FPURegister  fs,
FPURegister  fd,
SecondaryField  func = NULLSF 
)
private

◆ GenInstrRegister() [12/12]

void v8::internal::Assembler::GenInstrRegister ( Opcode  opcode,
SecondaryField  fmt,
Register  rt,
FPURegister  fs,
FPURegister  fd,
SecondaryField  func = NULLSF 
)
private

◆ get_trampoline_entry() [1/2]

int32_t v8::internal::Assembler::get_trampoline_entry ( int32_t  pos)
private

◆ get_trampoline_entry() [2/2]

int32_t v8::internal::Assembler::get_trampoline_entry ( int32_t  pos)
private

◆ GetBranchOffset() [1/3]

static int v8::internal::Assembler::GetBranchOffset ( Instr  instr)
static

◆ GetBranchOffset() [2/3]

static int32_t v8::internal::Assembler::GetBranchOffset ( Instr  instr)
static

◆ GetBranchOffset() [3/3]

static int32_t v8::internal::Assembler::GetBranchOffset ( Instr  instr)
static

◆ GetCmpImmediateRawImmediate()

static int v8::internal::Assembler::GetCmpImmediateRawImmediate ( Instr  instr)
static

◆ GetCmpImmediateRegister()

static Register v8::internal::Assembler::GetCmpImmediateRegister ( Instr  instr)
static

◆ GetCode() [1/7]

void v8::internal::Assembler::GetCode ( CodeDesc desc)

Referenced by v8::internal::Deoptimizer::EnsureCodeForDeoptimizationEntry(), v8::internal::PlatformCodeStub::GenerateCode(), v8::internal::HydrogenCodeStub::GenerateLightweightMissCode(), v8::internal::CodeGenerator::MakeCodeEpilogue(), and v8::internal::Builtins::SetUp().

+ Here is the caller graph for this function:

◆ GetCode() [2/7]

void v8::internal::Assembler::GetCode ( CodeDesc desc)

◆ GetCode() [3/7]

void v8::internal::Assembler::GetCode ( CodeDesc desc)

◆ GetCode() [4/7]

void v8::internal::Assembler::GetCode ( CodeDesc desc)

◆ GetCode() [5/7]

void v8::internal::Assembler::GetCode ( CodeDesc desc)

◆ GetCode() [6/7]

void v8::internal::Assembler::GetCode ( CodeDesc desc)

◆ GetCode() [7/7]

void v8::internal::Assembler::GetCode ( CodeDesc desc)

◆ GetCondition()

static Condition v8::internal::Assembler::GetCondition ( Instr  instr)
static

◆ GetConsantPoolLoadMask()

static Instr v8::internal::Assembler::GetConsantPoolLoadMask ( )
static

◆ GetConsantPoolLoadPattern()

static Instr v8::internal::Assembler::GetConsantPoolLoadPattern ( )
static

◆ GetFunction() [1/2]

static uint32_t v8::internal::Assembler::GetFunction ( Instr  instr)
static

◆ GetFunction() [2/2]

static uint32_t v8::internal::Assembler::GetFunction ( Instr  instr)
static

◆ GetFunctionField() [1/2]

static uint32_t v8::internal::Assembler::GetFunctionField ( Instr  instr)
static

◆ GetFunctionField() [2/2]

static uint32_t v8::internal::Assembler::GetFunctionField ( Instr  instr)
static

◆ GetImmediate16() [1/2]

static uint32_t v8::internal::Assembler::GetImmediate16 ( Instr  instr)
static

◆ GetImmediate16() [2/2]

static uint32_t v8::internal::Assembler::GetImmediate16 ( Instr  instr)
static

◆ GetLabelConst() [1/2]

static uint32_t v8::internal::Assembler::GetLabelConst ( Instr  instr)
static

◆ GetLabelConst() [2/2]

static uint32_t v8::internal::Assembler::GetLabelConst ( Instr  instr)
static

◆ GetLdrPpRegOffsetPattern()

static Instr v8::internal::Assembler::GetLdrPpRegOffsetPattern ( )
static

◆ GetLdrRegisterImmediateOffset()

static int v8::internal::Assembler::GetLdrRegisterImmediateOffset ( Instr  instr)
static

◆ GetLwOffset() [1/2]

static int16_t v8::internal::Assembler::GetLwOffset ( Instr  instr)
static

◆ GetLwOffset() [2/2]

static int16_t v8::internal::Assembler::GetLwOffset ( Instr  instr)
static

◆ GetMovTPattern()

static Instr v8::internal::Assembler::GetMovTPattern ( )
static

◆ GetMovWPattern()

static Instr v8::internal::Assembler::GetMovWPattern ( )
static

◆ GetOpcodeField() [1/2]

static uint32_t v8::internal::Assembler::GetOpcodeField ( Instr  instr)
static

◆ GetOpcodeField() [2/2]

static uint32_t v8::internal::Assembler::GetOpcodeField ( Instr  instr)
static

◆ GetRd() [1/3]

static Register v8::internal::Assembler::GetRd ( Instr  instr)
static

◆ GetRd() [2/3]

static uint32_t v8::internal::Assembler::GetRd ( Instr  instr)
static

◆ GetRd() [3/3]

static uint32_t v8::internal::Assembler::GetRd ( Instr  instr)
static

◆ GetRdField() [1/2]

static uint32_t v8::internal::Assembler::GetRdField ( Instr  instr)
static

◆ GetRdField() [2/2]

static uint32_t v8::internal::Assembler::GetRdField ( Instr  instr)
static

◆ GetRdReg() [1/2]

static Register v8::internal::Assembler::GetRdReg ( Instr  instr)
static

◆ GetRdReg() [2/2]

static Register v8::internal::Assembler::GetRdReg ( Instr  instr)
static

◆ GetRm()

static Register v8::internal::Assembler::GetRm ( Instr  instr)
static

◆ GetRn()

static Register v8::internal::Assembler::GetRn ( Instr  instr)
static

◆ GetRs() [1/2]

static uint32_t v8::internal::Assembler::GetRs ( Instr  instr)
static

◆ GetRs() [2/2]

static uint32_t v8::internal::Assembler::GetRs ( Instr  instr)
static

◆ GetRsField() [1/2]

static uint32_t v8::internal::Assembler::GetRsField ( Instr  instr)
static

◆ GetRsField() [2/2]

static uint32_t v8::internal::Assembler::GetRsField ( Instr  instr)
static

◆ GetRsReg() [1/2]

static Register v8::internal::Assembler::GetRsReg ( Instr  instr)
static

◆ GetRsReg() [2/2]

static Register v8::internal::Assembler::GetRsReg ( Instr  instr)
static

◆ GetRt() [1/2]

static uint32_t v8::internal::Assembler::GetRt ( Instr  instr)
static

◆ GetRt() [2/2]

static uint32_t v8::internal::Assembler::GetRt ( Instr  instr)
static

◆ GetRtField() [1/2]

static uint32_t v8::internal::Assembler::GetRtField ( Instr  instr)
static

◆ GetRtField() [2/2]

static uint32_t v8::internal::Assembler::GetRtField ( Instr  instr)
static

◆ GetRtReg() [1/2]

static Register v8::internal::Assembler::GetRtReg ( Instr  instr)
static

◆ GetRtReg() [2/2]

static Register v8::internal::Assembler::GetRtReg ( Instr  instr)
static

◆ GetSa() [1/2]

static uint32_t v8::internal::Assembler::GetSa ( Instr  instr)
static

◆ GetSa() [2/2]

static uint32_t v8::internal::Assembler::GetSa ( Instr  instr)
static

◆ GetSaField() [1/2]

static uint32_t v8::internal::Assembler::GetSaField ( Instr  instr)
static

◆ GetSaField() [2/2]

static uint32_t v8::internal::Assembler::GetSaField ( Instr  instr)
static

◆ GetVldrDRegisterImmediateOffset()

static int v8::internal::Assembler::GetVldrDRegisterImmediateOffset ( Instr  instr)
static

◆ GrowBuffer() [1/7]

void v8::internal::Assembler::GrowBuffer ( )
private

Referenced by CheckBuffer(), and CheckBufferSpace().

+ Here is the caller graph for this function:

◆ GrowBuffer() [2/7]

void v8::internal::Assembler::GrowBuffer ( )
private

◆ GrowBuffer() [3/7]

void v8::internal::Assembler::GrowBuffer ( )
private

◆ GrowBuffer() [4/7]

void v8::internal::Assembler::GrowBuffer ( )
private

◆ GrowBuffer() [5/7]

void v8::internal::Assembler::GrowBuffer ( )
private

◆ GrowBuffer() [6/7]

void v8::internal::Assembler::GrowBuffer ( )
private

◆ GrowBuffer() [7/7]

void v8::internal::Assembler::GrowBuffer ( )
private

◆ has_exception() [1/2]

bool v8::internal::Assembler::has_exception ( ) const
inlineprotected

Definition at line 1152 of file assembler-mips.h.

1152  {
1154  }

References internal_trampoline_exception_.

◆ has_exception() [2/2]

bool v8::internal::Assembler::has_exception ( ) const
inlineprotected

Definition at line 1188 of file assembler-mips64.h.

1188  {
1190  }

References internal_trampoline_exception_.

◆ hint()

void v8::internal::Assembler::hint ( SystemHint  code)

Referenced by v8::internal::MacroAssembler::Hint(), and nop().

+ Here is the caller graph for this function:

◆ hlt() [1/4]

void v8::internal::Assembler::hlt ( )

Referenced by v8::internal::MacroAssembler::Hlt().

+ Here is the caller graph for this function:

◆ hlt() [2/4]

void v8::internal::Assembler::hlt ( )

◆ hlt() [3/4]

void v8::internal::Assembler::hlt ( )

◆ hlt() [4/4]

void v8::internal::Assembler::hlt ( int  code)

◆ idiv() [1/4]

void v8::internal::Assembler::idiv ( const Operand src)

◆ idiv() [2/4]

void v8::internal::Assembler::idiv ( const Operand src)

◆ idiv() [3/4]

void v8::internal::Assembler::idiv ( Register  src)
inline

Definition at line 708 of file assembler-ia32.h.

708 { idiv(Operand(src)); }
void idiv(Register src)

References idiv().

Referenced by idiv().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ idiv() [4/4]

void v8::internal::Assembler::idiv ( Register  src)
inline

Definition at line 693 of file assembler-x87.h.

693 { idiv(Operand(src)); }

References idiv().

Referenced by idiv().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ImmAddSub()

Instr v8::internal::Assembler::ImmAddSub ( int64_t  imm)
inlinestatic

Definition at line 1057 of file assembler-arm64-inl.h.

1057  {
1058  DCHECK(IsImmAddSub(imm));
1059  if (is_uint12(imm)) { // No shift required.
1060  return imm << ImmAddSub_offset;
1061  } else {
1062  return ((imm >> 12) << ImmAddSub_offset) | (1 << ShiftAddSub_offset);
1063  }
1064 }
static bool IsImmAddSub(int64_t immediate)

References DCHECK, and IsImmAddSub().

+ Here is the call graph for this function:

◆ ImmBarrierDomain()

Instr v8::internal::Assembler::ImmBarrierDomain ( int  imm2)
inlinestatic

Definition at line 1194 of file assembler-arm64-inl.h.

1194  {
1195  DCHECK(is_uint2(imm2));
1196  return imm2 << ImmBarrierDomain_offset;
1197 }

References DCHECK.

◆ ImmBarrierType()

Instr v8::internal::Assembler::ImmBarrierType ( int  imm2)
inlinestatic

Definition at line 1200 of file assembler-arm64-inl.h.

1200  {
1201  DCHECK(is_uint2(imm2));
1202  return imm2 << ImmBarrierType_offset;
1203 }

References DCHECK.

◆ ImmCmpBranch()

Instr v8::internal::Assembler::ImmCmpBranch ( int  imm19)
inlinestatic

Definition at line 1029 of file assembler-arm64-inl.h.

1029  {
1030  CHECK(is_int19(imm19));
1031  return truncate_to_int19(imm19) << ImmCmpBranch_offset;
1032 }
#define CHECK(condition)
Definition: logging.h:36

References CHECK.

◆ ImmCondBranch()

Instr v8::internal::Assembler::ImmCondBranch ( int  imm19)
inlinestatic

Definition at line 1023 of file assembler-arm64-inl.h.

1023  {
1024  CHECK(is_int19(imm19));
1025  return truncate_to_int19(imm19) << ImmCondBranch_offset;
1026 }

References CHECK.

◆ ImmCondCmp()

Instr v8::internal::Assembler::ImmCondCmp ( unsigned  imm)
inlinestatic

Definition at line 1139 of file assembler-arm64-inl.h.

1139  {
1140  DCHECK(is_uint5(imm));
1141  return imm << ImmCondCmp_offset;
1142 }

References DCHECK.

◆ ImmDPShift()

Instr v8::internal::Assembler::ImmDPShift ( unsigned  amount)
inlinestatic

Definition at line 1122 of file assembler-arm64-inl.h.

1122  {
1123  DCHECK(is_uint6(amount));
1124  return amount << ImmDPShift_offset;
1125 }

References DCHECK.

◆ immediate_arithmetic_op() [1/2]

void v8::internal::Assembler::immediate_arithmetic_op ( byte  subcode,
const Operand dst,
Immediate  src,
int  size 
)
private

◆ immediate_arithmetic_op() [2/2]

void v8::internal::Assembler::immediate_arithmetic_op ( byte  subcode,
Register  dst,
Immediate  src,
int  size 
)
private

Referenced by emit_add(), emit_and(), emit_cmp(), emit_or(), emit_sub(), and emit_xor().

+ Here is the caller graph for this function:

◆ immediate_arithmetic_op_16() [1/2]

void v8::internal::Assembler::immediate_arithmetic_op_16 ( byte  subcode,
const Operand dst,
Immediate  src 
)
private

◆ immediate_arithmetic_op_16() [2/2]

void v8::internal::Assembler::immediate_arithmetic_op_16 ( byte  subcode,
Register  dst,
Immediate  src 
)
private

Referenced by cmpw().

+ Here is the caller graph for this function:

◆ immediate_arithmetic_op_8() [1/2]

void v8::internal::Assembler::immediate_arithmetic_op_8 ( byte  subcode,
const Operand dst,
Immediate  src 
)
private

◆ immediate_arithmetic_op_8() [2/2]

void v8::internal::Assembler::immediate_arithmetic_op_8 ( byte  subcode,
Register  dst,
Immediate  src 
)
private

Referenced by andb(), cmpb(), and subb().

+ Here is the caller graph for this function:

◆ ImmediateFitsAddrMode1Instruction()

static bool v8::internal::Assembler::ImmediateFitsAddrMode1Instruction ( int32_t  imm32)
static

Referenced by v8::internal::compiler::ArmOperandGenerator::ImmediateFitsAddrMode1Instruction().

+ Here is the caller graph for this function:

◆ ImmediateFitsAddrMode2Instruction()

bool v8::internal::Assembler::ImmediateFitsAddrMode2Instruction ( int32_t  imm32)

◆ ImmException()

Instr v8::internal::Assembler::ImmException ( int  imm16)
inlinestatic

Definition at line 1176 of file assembler-arm64-inl.h.

1176  {
1177  DCHECK(is_uint16(imm16));
1178  return imm16 << ImmException_offset;
1179 }

References DCHECK.

◆ ImmExtendShift()

Instr v8::internal::Assembler::ImmExtendShift ( unsigned  left_shift)
inlinestatic

Definition at line 1133 of file assembler-arm64-inl.h.

1133  {
1134  DCHECK(left_shift <= 4);
1135  return left_shift << ImmExtendShift_offset;
1136 }

References DCHECK.

◆ ImmFP32()

static Instr v8::internal::Assembler::ImmFP32 ( float  imm)
static

◆ ImmFP64()

static Instr v8::internal::Assembler::ImmFP64 ( double  imm)
static

◆ ImmHint()

Instr v8::internal::Assembler::ImmHint ( int  imm7)
inlinestatic

Definition at line 1188 of file assembler-arm64-inl.h.

1188  {
1189  DCHECK(is_uint7(imm7));
1190  return imm7 << ImmHint_offset;
1191 }

References DCHECK.

◆ ImmLLiteral()

Instr v8::internal::Assembler::ImmLLiteral ( int  imm19)
inlinestatic

Definition at line 1102 of file assembler-arm64-inl.h.

1102  {
1103  CHECK(is_int19(imm19));
1104  return truncate_to_int19(imm19) << ImmLLiteral_offset;
1105 }

References CHECK.

◆ ImmLS()

Instr v8::internal::Assembler::ImmLS ( int  imm9)
inlinestatic

Definition at line 1156 of file assembler-arm64-inl.h.

1156  {
1157  DCHECK(is_int9(imm9));
1158  return truncate_to_int9(imm9) << ImmLS_offset;
1159 }

References DCHECK.

◆ ImmLSPair()

Instr v8::internal::Assembler::ImmLSPair ( int  imm7,
LSDataSize  size 
)
inlinestatic

Definition at line 1162 of file assembler-arm64-inl.h.

1162  {
1163  DCHECK(((imm7 >> size) << size) == imm7);
1164  int scaled_imm7 = imm7 >> size;
1165  DCHECK(is_int7(scaled_imm7));
1166  return truncate_to_int7(scaled_imm7) << ImmLSPair_offset;
1167 }

References DCHECK, and size.

◆ ImmLSUnsigned()

Instr v8::internal::Assembler::ImmLSUnsigned ( int  imm12)
inlinestatic

Definition at line 1150 of file assembler-arm64-inl.h.

1150  {
1151  DCHECK(is_uint12(imm12));
1152  return imm12 << ImmLSUnsigned_offset;
1153 }

References DCHECK.

◆ ImmMoveWide()

Instr v8::internal::Assembler::ImmMoveWide ( uint64_t  imm)
inlinestatic

Definition at line 1212 of file assembler-arm64-inl.h.

1212  {
1213  DCHECK(is_uint16(imm));
1214  return imm << ImmMoveWide_offset;
1215 }

References DCHECK.

◆ ImmPCRelAddress()

Instr v8::internal::Assembler::ImmPCRelAddress ( int  imm21)
inlinestatic

Definition at line 1008 of file assembler-arm64-inl.h.

1008  {
1009  CHECK(is_int21(imm21));
1010  Instr imm = static_cast<Instr>(truncate_to_int21(imm21));
1011  Instr immhi = (imm >> ImmPCRelLo_width) << ImmPCRelHi_offset;
1012  Instr immlo = imm << ImmPCRelLo_offset;
1013  return (immhi & ImmPCRelHi_mask) | (immlo & ImmPCRelLo_mask);
1014 }

References CHECK.

◆ ImmR()

Instr v8::internal::Assembler::ImmR ( unsigned  immr,
unsigned  reg_size 
)
inlinestatic

Definition at line 1075 of file assembler-arm64-inl.h.

1075  {
1076  DCHECK(((reg_size == kXRegSizeInBits) && is_uint6(immr)) ||
1077  ((reg_size == kWRegSizeInBits) && is_uint5(immr)));
1078  USE(reg_size);
1079  DCHECK(is_uint6(immr));
1080  return immr << ImmR_offset;
1081 }

References DCHECK, v8::internal::kWRegSizeInBits, v8::internal::kXRegSizeInBits, and USE().

+ Here is the call graph for this function:

◆ ImmRotate()

Instr v8::internal::Assembler::ImmRotate ( unsigned  immr,
unsigned  reg_size 
)
inlinestatic

Definition at line 1093 of file assembler-arm64-inl.h.

1093  {
1094  DCHECK((reg_size == kWRegSizeInBits) || (reg_size == kXRegSizeInBits));
1095  DCHECK(((reg_size == kXRegSizeInBits) && is_uint6(immr)) ||
1096  ((reg_size == kWRegSizeInBits) && is_uint5(immr)));
1097  USE(reg_size);
1098  return immr << ImmRotate_offset;
1099 }

References DCHECK, v8::internal::kWRegSizeInBits, v8::internal::kXRegSizeInBits, and USE().

+ Here is the call graph for this function:

◆ ImmS()

Instr v8::internal::Assembler::ImmS ( unsigned  imms,
unsigned  reg_size 
)
inlinestatic

Definition at line 1067 of file assembler-arm64-inl.h.

1067  {
1068  DCHECK(((reg_size == kXRegSizeInBits) && is_uint6(imms)) ||
1069  ((reg_size == kWRegSizeInBits) && is_uint5(imms)));
1070  USE(reg_size);
1071  return imms << ImmS_offset;
1072 }

References DCHECK, v8::internal::kWRegSizeInBits, v8::internal::kXRegSizeInBits, and USE().

+ Here is the call graph for this function:

◆ ImmSetBits()

Instr v8::internal::Assembler::ImmSetBits ( unsigned  imms,
unsigned  reg_size 
)
inlinestatic

Definition at line 1084 of file assembler-arm64-inl.h.

1084  {
1085  DCHECK((reg_size == kWRegSizeInBits) || (reg_size == kXRegSizeInBits));
1086  DCHECK(is_uint6(imms));
1087  DCHECK((reg_size == kXRegSizeInBits) || is_uint6(imms + 3));
1088  USE(reg_size);
1089  return imms << ImmSetBits_offset;
1090 }

References DCHECK, v8::internal::kWRegSizeInBits, v8::internal::kXRegSizeInBits, and USE().

+ Here is the call graph for this function:

◆ ImmShiftLS()

Instr v8::internal::Assembler::ImmShiftLS ( unsigned  shift_amount)
inlinestatic

Definition at line 1170 of file assembler-arm64-inl.h.

1170  {
1171  DCHECK(is_uint1(shift_amount));
1172  return shift_amount << ImmShiftLS_offset;
1173 }

References DCHECK.

◆ ImmSystemRegister()

Instr v8::internal::Assembler::ImmSystemRegister ( int  imm15)
inlinestatic

Definition at line 1182 of file assembler-arm64-inl.h.

1182  {
1183  DCHECK(is_uint15(imm15));
1184  return imm15 << ImmSystemRegister_offset;
1185 }

References DCHECK.

◆ ImmTestBranch()

Instr v8::internal::Assembler::ImmTestBranch ( int  imm14)
inlinestatic

Definition at line 1035 of file assembler-arm64-inl.h.

1035  {
1036  CHECK(is_int14(imm14));
1037  return truncate_to_int14(imm14) << ImmTestBranch_offset;
1038 }

References CHECK.

◆ ImmTestBranchBit()

Instr v8::internal::Assembler::ImmTestBranchBit ( unsigned  bit_pos)
inlinestatic

Definition at line 1041 of file assembler-arm64-inl.h.

1041  {
1042  DCHECK(is_uint6(bit_pos));
1043  // Subtract five from the shift offset, as we need bit 5 from bit_pos.
1044  unsigned b5 = bit_pos << (ImmTestBranchBit5_offset - 5);
1045  unsigned b40 = bit_pos << ImmTestBranchBit40_offset;
1046  b5 &= ImmTestBranchBit5_mask;
1047  b40 &= ImmTestBranchBit40_mask;
1048  return b5 | b40;
1049 }

References DCHECK.

◆ ImmUncondBranch()

Instr v8::internal::Assembler::ImmUncondBranch ( int  imm26)
inlinestatic

Definition at line 1017 of file assembler-arm64-inl.h.

1017  {
1018  CHECK(is_int26(imm26));
1019  return truncate_to_int26(imm26) << ImmUncondBranch_offset;
1020 }

References CHECK.

◆ imul() [1/10]

void v8::internal::Assembler::imul ( Register  dst,
const Operand src 
)

◆ imul() [2/10]

void v8::internal::Assembler::imul ( Register  dst,
const Operand src 
)

◆ imul() [3/10]

void v8::internal::Assembler::imul ( Register  dst,
const Operand src,
int32_t  imm32 
)

◆ imul() [4/10]

void v8::internal::Assembler::imul ( Register  dst,
const Operand src,
int32_t  imm32 
)

◆ imul() [5/10]

void v8::internal::Assembler::imul ( Register  dst,
Register  src 
)
inline

Definition at line 715 of file assembler-ia32.h.

715 { imul(dst, Operand(src)); }
void imul(Register src)

References imul().

Referenced by imul().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ imul() [6/10]

void v8::internal::Assembler::imul ( Register  dst,
Register  src 
)
inline

Definition at line 700 of file assembler-x87.h.

700 { imul(dst, Operand(src)); }

References imul().

Referenced by imul().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ imul() [7/10]

void v8::internal::Assembler::imul ( Register  dst,
Register  src,
int32_t  imm32 
)

◆ imul() [8/10]

void v8::internal::Assembler::imul ( Register  dst,
Register  src,
int32_t  imm32 
)

◆ imul() [9/10]

void v8::internal::Assembler::imul ( Register  src)

◆ imul() [10/10]

void v8::internal::Assembler::imul ( Register  src)

◆ inc() [1/4]

void v8::internal::Assembler::inc ( const Operand dst)

◆ inc() [2/4]

void v8::internal::Assembler::inc ( const Operand dst)

◆ inc() [3/4]

void v8::internal::Assembler::inc ( Register  dst)

◆ inc() [4/4]

void v8::internal::Assembler::inc ( Register  dst)

◆ INLINE() [1/17]

v8::internal::Assembler::INLINE ( static Address   break_address_from_return_addressAddress pc)

◆ INLINE() [2/17]

v8::internal::Assembler::INLINE ( static Address   constant_pool_entry_addressAddress pc, ConstantPoolArray *constant_pool)

◆ INLINE() [3/17]

v8::internal::Assembler::INLINE ( static Address   return_address_from_call_startAddress pc)

◆ INLINE() [4/17]

v8::internal::Assembler::INLINE ( static Address   target_address_atAddress pc, Code *code)
inline

Definition at line 768 of file assembler-arm.h.

768  {
769  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
770  return target_address_at(pc, constant_pool);
771  }
static Address target_address_at(Address pc, ConstantPoolArray *constant_pool)
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be NULL

References v8::internal::Code::constant_pool(), NULL, pc(), and target_address_at().

+ Here is the call graph for this function:

◆ INLINE() [5/17]

v8::internal::Assembler::INLINE ( static Address   target_address_atAddress pc, Code *code)
inline

Definition at line 512 of file assembler-mips.h.

512  {
513  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
514  return target_address_at(pc, constant_pool);
515  }

References v8::internal::Code::constant_pool(), NULL, pc(), and target_address_at().

+ Here is the call graph for this function:

◆ INLINE() [6/17]

v8::internal::Assembler::INLINE ( static Address   target_address_atAddress pc, Code *code)
inline

Definition at line 502 of file assembler-mips64.h.

502  {
503  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
504  return target_address_at(pc, constant_pool);
505  }

References v8::internal::Code::constant_pool(), NULL, pc(), and target_address_at().

+ Here is the call graph for this function:

◆ INLINE() [7/17]

v8::internal::Assembler::INLINE ( static Address   target_address_atAddress pc, ConstantPoolArray *constant_pool)

◆ INLINE() [8/17]

v8::internal::Assembler::INLINE ( static Address   target_address_atAddress pc, ConstantPoolArray *constant_pool)
inline

Definition at line 501 of file assembler-mips.h.

502  {
503  return target_address_at(pc);
504  }

References pc(), and target_address_at().

+ Here is the call graph for this function:

◆ INLINE() [9/17]

v8::internal::Assembler::INLINE ( static Address   target_address_atAddress pc, ConstantPoolArray *constant_pool)
inline

Definition at line 491 of file assembler-mips64.h.

492  {
493  return target_address_at(pc);
494  }

References pc(), and target_address_at().

+ Here is the call graph for this function:

◆ INLINE() [10/17]

v8::internal::Assembler::INLINE ( static Address   target_address_from_return_addressAddress pc)

◆ INLINE() [11/17]

v8::internal::Assembler::INLINE ( static bool   is_constant_pool_loadAddress pc)

◆ INLINE() [12/17]

v8::internal::Assembler::INLINE ( static void   set_target_address_atAddress pc, Code *code, Address target, ICacheFlushMode icache_flush_mode= FLUSH_ICACHE_IF_NEEDED)
inline

Definition at line 772 of file assembler-arm.h.

776  {
777  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
778  set_target_address_at(pc, constant_pool, target, icache_flush_mode);
779  }

References v8::internal::Code::constant_pool(), NULL, pc(), and set_target_address_at().

+ Here is the call graph for this function:

◆ INLINE() [13/17]

v8::internal::Assembler::INLINE ( static void   set_target_address_atAddress pc, Code *code, Address target, ICacheFlushMode icache_flush_mode= FLUSH_ICACHE_IF_NEEDED)
inline

Definition at line 516 of file assembler-mips.h.

520  {
521  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
522  set_target_address_at(pc, constant_pool, target, icache_flush_mode);
523  }

References v8::internal::Code::constant_pool(), NULL, pc(), and set_target_address_at().

+ Here is the call graph for this function:

◆ INLINE() [14/17]

v8::internal::Assembler::INLINE ( static void   set_target_address_atAddress pc, Code *code, Address target, ICacheFlushMode icache_flush_mode= FLUSH_ICACHE_IF_NEEDED)
inline

Definition at line 506 of file assembler-mips64.h.

510  {
511  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
512  set_target_address_at(pc, constant_pool, target, icache_flush_mode);
513  }

References v8::internal::Code::constant_pool(), NULL, pc(), and set_target_address_at().

+ Here is the call graph for this function:

◆ INLINE() [15/17]

v8::internal::Assembler::INLINE ( static void   set_target_address_atAddress pc, ConstantPoolArray *constant_pool, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)

◆ INLINE() [16/17]

v8::internal::Assembler::INLINE ( static void   set_target_address_atAddress pc, ConstantPoolArray *constant_pool, Address target, ICacheFlushMode icache_flush_mode= FLUSH_ICACHE_IF_NEEDED)
inline

Definition at line 505 of file assembler-mips.h.

509  {
510  set_target_address_at(pc, target, icache_flush_mode);
511  }

References pc(), and set_target_address_at().

+ Here is the call graph for this function:

◆ INLINE() [17/17]

v8::internal::Assembler::INLINE ( static void   set_target_address_atAddress pc, ConstantPoolArray *constant_pool, Address target, ICacheFlushMode icache_flush_mode= FLUSH_ICACHE_IF_NEEDED)
inline

Definition at line 495 of file assembler-mips64.h.

499  {
500  set_target_address_at(pc, target, icache_flush_mode);
501  }

References pc(), and set_target_address_at().

+ Here is the call graph for this function:

◆ ins_() [1/2]

void v8::internal::Assembler::ins_ ( Register  rt,
Register  rs,
uint16_t  pos,
uint16_t  size 
)

◆ ins_() [2/2]

void v8::internal::Assembler::ins_ ( Register  rt,
Register  rs,
uint16_t  pos,
uint16_t  size 
)

◆ instr_at() [1/6]

static Instr v8::internal::Assembler::instr_at ( byte pc)
inlinestatic

Definition at line 1415 of file assembler-arm.h.

1415 { return *reinterpret_cast<Instr*>(pc); }

References pc().

+ Here is the call graph for this function:

◆ instr_at() [2/6]

static Instr v8::internal::Assembler::instr_at ( byte pc)
inlinestatic

Definition at line 1044 of file assembler-mips.h.

1044 { return *reinterpret_cast<Instr*>(pc); }

References pc().

+ Here is the call graph for this function:

◆ instr_at() [3/6]

static Instr v8::internal::Assembler::instr_at ( byte pc)
inlinestatic

Definition at line 1080 of file assembler-mips64.h.

1080 { return *reinterpret_cast<Instr*>(pc); }

References pc().

+ Here is the call graph for this function:

◆ instr_at() [4/6]

Instr v8::internal::Assembler::instr_at ( int  pos)
inline

Definition at line 1411 of file assembler-arm.h.

1411 { return *reinterpret_cast<Instr*>(buffer_ + pos); }

References v8::internal::AssemblerBase::buffer_.

Referenced by v8::internal::RecordWriteStub::GetMode(), v8::internal::RecordWriteStub::PatchBranchIntoNop(), v8::internal::RecordWriteStub::PatchNopIntoBranch(), and target_address_at().

+ Here is the caller graph for this function:

◆ instr_at() [5/6]

Instr v8::internal::Assembler::instr_at ( int  pos)
inline

Definition at line 1048 of file assembler-mips.h.

1048 { return *reinterpret_cast<Instr*>(buffer_ + pos); }

References v8::internal::AssemblerBase::buffer_.

◆ instr_at() [6/6]

Instr v8::internal::Assembler::instr_at ( int  pos)
inline

Definition at line 1084 of file assembler-mips64.h.

1084 { return *reinterpret_cast<Instr*>(buffer_ + pos); }

References v8::internal::AssemblerBase::buffer_.

◆ instr_at_put() [1/6]

static void v8::internal::Assembler::instr_at_put ( byte pc,
Instr  instr 
)
inlinestatic

Definition at line 1416 of file assembler-arm.h.

1416  {
1417  *reinterpret_cast<Instr*>(pc) = instr;
1418  }

References pc().

+ Here is the call graph for this function:

◆ instr_at_put() [2/6]

static void v8::internal::Assembler::instr_at_put ( byte pc,
Instr  instr 
)
inlinestatic

Definition at line 1045 of file assembler-mips.h.

1045  {
1046  *reinterpret_cast<Instr*>(pc) = instr;
1047  }

References pc().

+ Here is the call graph for this function:

◆ instr_at_put() [3/6]

static void v8::internal::Assembler::instr_at_put ( byte pc,
Instr  instr 
)
inlinestatic

Definition at line 1081 of file assembler-mips64.h.

1081  {
1082  *reinterpret_cast<Instr*>(pc) = instr;
1083  }

References pc().

+ Here is the call graph for this function:

◆ instr_at_put() [4/6]

void v8::internal::Assembler::instr_at_put ( int  pos,
Instr  instr 
)
inline

Definition at line 1412 of file assembler-arm.h.

1412  {
1413  *reinterpret_cast<Instr*>(buffer_ + pos) = instr;
1414  }

References v8::internal::AssemblerBase::buffer_.

Referenced by v8::internal::RecordWriteStub::PatchBranchIntoNop(), and v8::internal::RecordWriteStub::PatchNopIntoBranch().

+ Here is the caller graph for this function:

◆ instr_at_put() [5/6]

void v8::internal::Assembler::instr_at_put ( int  pos,
Instr  instr 
)
inline

Definition at line 1049 of file assembler-mips.h.

1049  {
1050  *reinterpret_cast<Instr*>(buffer_ + pos) = instr;
1051  }

References v8::internal::AssemblerBase::buffer_.

◆ instr_at_put() [6/6]

void v8::internal::Assembler::instr_at_put ( int  pos,
Instr  instr 
)
inline

Definition at line 1085 of file assembler-mips64.h.

1085  {
1086  *reinterpret_cast<Instr*>(buffer_ + pos) = instr;
1087  }

References v8::internal::AssemblerBase::buffer_.

◆ InstructionAt()

Instruction* v8::internal::Assembler::InstructionAt ( int  offset) const
inline

Definition at line 1758 of file assembler-arm64.h.

1758  {
1759  return reinterpret_cast<Instruction*>(buffer_ + offset);
1760  }

References v8::internal::AssemblerBase::buffer_.

Referenced by v8::internal::RecordWriteStub::Patch().

+ Here is the caller graph for this function:

◆ InstructionOffset()

ptrdiff_t v8::internal::Assembler::InstructionOffset ( Instruction instr) const
inline

Definition at line 1762 of file assembler-arm64.h.

1762  {
1763  return reinterpret_cast<byte*>(instr) - buffer_;
1764  }

References v8::internal::AssemblerBase::buffer_.

◆ InstructionsGeneratedSince() [1/4]

int v8::internal::Assembler::InstructionsGeneratedSince ( const Label *  label)
inline

Definition at line 948 of file assembler-arm64.h.

948  {
950  }

References v8::internal::kInstructionSize, and SizeOfCodeGeneratedSince().

+ Here is the call graph for this function:

◆ InstructionsGeneratedSince() [2/4]

int v8::internal::Assembler::InstructionsGeneratedSince ( Label *  label)
inline

Definition at line 1327 of file assembler-arm.h.

1327  {
1328  return SizeOfCodeGeneratedSince(label) / kInstrSize;
1329  }

References kInstrSize, and SizeOfCodeGeneratedSince().

+ Here is the call graph for this function:

◆ InstructionsGeneratedSince() [3/4]

int v8::internal::Assembler::InstructionsGeneratedSince ( Label *  label)
inline

Definition at line 954 of file assembler-mips.h.

954  {
955  return SizeOfCodeGeneratedSince(label) / kInstrSize;
956  }

References kInstrSize, and SizeOfCodeGeneratedSince().

+ Here is the call graph for this function:

◆ InstructionsGeneratedSince() [4/4]

int v8::internal::Assembler::InstructionsGeneratedSince ( Label *  label)
inline

Definition at line 990 of file assembler-mips64.h.

990  {
991  return SizeOfCodeGeneratedSince(label) / kInstrSize;
992  }

References kInstrSize, and SizeOfCodeGeneratedSince().

+ Here is the call graph for this function:

◆ int3() [1/3]

void v8::internal::Assembler::int3 ( )

◆ int3() [2/3]

void v8::internal::Assembler::int3 ( )

◆ int3() [3/3]

void v8::internal::Assembler::int3 ( )

◆ is_buffer_growth_blocked() [1/2]

bool v8::internal::Assembler::is_buffer_growth_blocked ( ) const
inlineprotected

Definition at line 1173 of file assembler-mips.h.

1173  {
1174  return block_buffer_growth_;
1175  }

References block_buffer_growth_.

Referenced by emit().

+ Here is the caller graph for this function:

◆ is_buffer_growth_blocked() [2/2]

bool v8::internal::Assembler::is_buffer_growth_blocked ( ) const
inlineprotected

Definition at line 1209 of file assembler-mips64.h.

1209  {
1210  return block_buffer_growth_;
1211  }

References block_buffer_growth_.

◆ is_const_pool_blocked() [1/2]

bool v8::internal::Assembler::is_const_pool_blocked ( ) const
inlineprotected

Definition at line 1547 of file assembler-arm.h.

1547  {
1548  return (const_pool_blocked_nesting_ > 0) ||
1550  }

References const_pool_blocked_nesting_, no_const_pool_before_, and v8::internal::AssemblerBase::pc_offset().

Referenced by v8::internal::PatchingAssembler::~PatchingAssembler().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ is_const_pool_blocked() [2/2]

bool v8::internal::Assembler::is_const_pool_blocked ( ) const

◆ is_constant_pool_available()

bool v8::internal::Assembler::is_constant_pool_available ( ) const
inline

Definition at line 1491 of file assembler-arm.h.

1491 { return constant_pool_available_; }

References constant_pool_available_.

◆ is_near() [1/2]

bool v8::internal::Assembler::is_near ( Label *  L)

◆ is_near() [2/2]

bool v8::internal::Assembler::is_near ( Label *  L)

◆ is_trampoline_emitted() [1/2]

bool v8::internal::Assembler::is_trampoline_emitted ( ) const
inlineprotected

Definition at line 1158 of file assembler-mips.h.

1158  {
1159  return trampoline_emitted_;
1160  }

References trampoline_emitted_.

◆ is_trampoline_emitted() [2/2]

bool v8::internal::Assembler::is_trampoline_emitted ( ) const
inlineprotected

Definition at line 1194 of file assembler-mips64.h.

1194  {
1195  return trampoline_emitted_;
1196  }

References trampoline_emitted_.

◆ is_trampoline_pool_blocked() [1/2]

bool v8::internal::Assembler::is_trampoline_pool_blocked ( ) const
inlineprotected

Definition at line 1148 of file assembler-mips.h.

1148  {
1150  }

References trampoline_pool_blocked_nesting_.

◆ is_trampoline_pool_blocked() [2/2]

bool v8::internal::Assembler::is_trampoline_pool_blocked ( ) const
inlineprotected

Definition at line 1184 of file assembler-mips64.h.

1184  {
1186  }

References trampoline_pool_blocked_nesting_.

◆ is_veneer_pool_blocked()

bool v8::internal::Assembler::is_veneer_pool_blocked ( ) const
inline

Definition at line 993 of file assembler-arm64.h.

993  {
994  return veneer_pool_blocked_nesting_ > 0;
995  }

References veneer_pool_blocked_nesting_.

◆ IsAddImmediate() [1/2]

static bool v8::internal::Assembler::IsAddImmediate ( Instr  instr)
static

◆ IsAddImmediate() [2/2]

static bool v8::internal::Assembler::IsAddImmediate ( Instr  instr)
static

◆ IsAddRegisterImmediate()

static bool v8::internal::Assembler::IsAddRegisterImmediate ( Instr  instr)
static

◆ IsAndImmediate() [1/2]

static bool v8::internal::Assembler::IsAndImmediate ( Instr  instr)
static

◆ IsAndImmediate() [2/2]

static bool v8::internal::Assembler::IsAndImmediate ( Instr  instr)
static

◆ isb()

void v8::internal::Assembler::isb ( )

Referenced by v8::internal::MacroAssembler::Isb().

+ Here is the caller graph for this function:

◆ IsBeq() [1/2]

static bool v8::internal::Assembler::IsBeq ( Instr  instr)
static

Referenced by v8::internal::RecordWriteStub::GetMode(), and v8::internal::RecordWriteStub::PatchNopIntoBranch().

+ Here is the caller graph for this function:

◆ IsBeq() [2/2]

static bool v8::internal::Assembler::IsBeq ( Instr  instr)
static

◆ IsBlxIp()

static bool v8::internal::Assembler::IsBlxIp ( Instr  instr)
static

◆ IsBlxReg()

static bool v8::internal::Assembler::IsBlxReg ( Instr  instr)
static

◆ IsBne() [1/2]

static bool v8::internal::Assembler::IsBne ( Instr  instr)
static

Referenced by v8::internal::RecordWriteStub::GetMode(), and v8::internal::RecordWriteStub::PatchBranchIntoNop().

+ Here is the caller graph for this function:

◆ IsBne() [2/2]

static bool v8::internal::Assembler::IsBne ( Instr  instr)
static

◆ IsBranch() [1/3]

static bool v8::internal::Assembler::IsBranch ( Instr  instr)
static

Referenced by v8::internal::RecordWriteStub::GetMode(), and v8::internal::RecordWriteStub::PatchNopIntoBranch().

+ Here is the caller graph for this function:

◆ IsBranch() [2/3]

static bool v8::internal::Assembler::IsBranch ( Instr  instr)
static

◆ IsBranch() [3/3]

static bool v8::internal::Assembler::IsBranch ( Instr  instr)
static

◆ IsCmpImmediate()

static bool v8::internal::Assembler::IsCmpImmediate ( Instr  instr)
static

◆ IsCmpRegister()

static bool v8::internal::Assembler::IsCmpRegister ( Instr  instr)
static

◆ IsConstantPoolAt()

static bool v8::internal::Assembler::IsConstantPoolAt ( Instruction instr)
static

◆ IsConstPoolEmpty()

bool v8::internal::Assembler::IsConstPoolEmpty ( ) const
inline

Definition at line 1754 of file assembler-arm64.h.

1754 { return constpool_.IsEmpty(); }

References constpool_, and v8::internal::ConstPool::IsEmpty().

Referenced by v8::internal::PatchingAssembler::~PatchingAssembler().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsEmittedConstant() [1/2]

static bool v8::internal::Assembler::IsEmittedConstant ( Instr  instr)
static

◆ IsEmittedConstant() [2/2]

static bool v8::internal::Assembler::IsEmittedConstant ( Instr  instr)
static

◆ IsImmAddSub()

static bool v8::internal::Assembler::IsImmAddSub ( int64_t  immediate)
static

◆ IsImmConditionalCompare()

static bool v8::internal::Assembler::IsImmConditionalCompare ( int64_t  immediate)
staticprotected

◆ IsImmFP32()

static bool v8::internal::Assembler::IsImmFP32 ( float  imm)
staticprotected

Referenced by v8::internal::MacroAssembler::Fmov().

+ Here is the caller graph for this function:

◆ IsImmFP64()

static bool v8::internal::Assembler::IsImmFP64 ( double  imm)
staticprotected

Referenced by v8::internal::MacroAssembler::Fmov().

+ Here is the caller graph for this function:

◆ IsImmLogical()

static bool v8::internal::Assembler::IsImmLogical ( uint64_t  value,
unsigned  width,
unsigned *  n,
unsigned *  imm_s,
unsigned *  imm_r 
)
static

Referenced by v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::CanBeImmediate(), and v8::internal::FINAL< kOperandKind, kNumCachedOperands >::LikelyFitsImmField().

+ Here is the caller graph for this function:

◆ IsImmLSPair()

static bool v8::internal::Assembler::IsImmLSPair ( int64_t  offset,
LSDataSize  size 
)
staticprotected

◆ IsImmLSScaled()

static bool v8::internal::Assembler::IsImmLSScaled ( int64_t  offset,
LSDataSize  size 
)
static

Referenced by v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsLoadStoreImmediate().

+ Here is the caller graph for this function:

◆ IsImmLSUnscaled()

static bool v8::internal::Assembler::IsImmLSUnscaled ( int64_t  offset)
static

Referenced by v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::IsLoadStoreImmediate().

+ Here is the caller graph for this function:

◆ IsJ() [1/2]

static bool v8::internal::Assembler::IsJ ( Instr  instr)
static

◆ IsJ() [2/2]

static bool v8::internal::Assembler::IsJ ( Instr  instr)
static

◆ IsJal() [1/2]

static bool v8::internal::Assembler::IsJal ( Instr  instr)
static

◆ IsJal() [2/2]

static bool v8::internal::Assembler::IsJal ( Instr  instr)
static

◆ IsJalr() [1/2]

static bool v8::internal::Assembler::IsJalr ( Instr  instr)
static

◆ IsJalr() [2/2]

static bool v8::internal::Assembler::IsJalr ( Instr  instr)
static

◆ IsJr() [1/2]

static bool v8::internal::Assembler::IsJr ( Instr  instr)
static

◆ IsJr() [2/2]

static bool v8::internal::Assembler::IsJr ( Instr  instr)
static

◆ IsJump() [1/2]

static bool v8::internal::Assembler::IsJump ( Instr  instr)
static

◆ IsJump() [2/2]

static bool v8::internal::Assembler::IsJump ( Instr  instr)
static

◆ IsLdrPcImmediateOffset()

static bool v8::internal::Assembler::IsLdrPcImmediateOffset ( Instr  instr)
static

Referenced by return_address_from_call_start(), and target_address_from_return_address().

+ Here is the caller graph for this function:

◆ IsLdrPpImmediateOffset()

static bool v8::internal::Assembler::IsLdrPpImmediateOffset ( Instr  instr)
static

Referenced by return_address_from_call_start(), and target_address_from_return_address().

+ Here is the caller graph for this function:

◆ IsLdrPpRegOffset()

static bool v8::internal::Assembler::IsLdrPpRegOffset ( Instr  instr)
static

Referenced by return_address_from_call_start(), and target_address_from_return_address().

+ Here is the caller graph for this function:

◆ IsLdrRegFpNegOffset()

static bool v8::internal::Assembler::IsLdrRegFpNegOffset ( Instr  instr)
static

◆ IsLdrRegFpOffset()

static bool v8::internal::Assembler::IsLdrRegFpOffset ( Instr  instr)
static

◆ IsLdrRegisterImmediate()

static bool v8::internal::Assembler::IsLdrRegisterImmediate ( Instr  instr)
static

◆ IsLui() [1/2]

static bool v8::internal::Assembler::IsLui ( Instr  instr)
static

◆ IsLui() [2/2]

static bool v8::internal::Assembler::IsLui ( Instr  instr)
static

◆ IsLw() [1/2]

static bool v8::internal::Assembler::IsLw ( Instr  instr)
static

◆ IsLw() [2/2]

static bool v8::internal::Assembler::IsLw ( Instr  instr)
static

◆ IsLwRegFpNegOffset() [1/2]

static bool v8::internal::Assembler::IsLwRegFpNegOffset ( Instr  instr)
static

◆ IsLwRegFpNegOffset() [2/2]

static bool v8::internal::Assembler::IsLwRegFpNegOffset ( Instr  instr)
static

◆ IsLwRegFpOffset() [1/2]

static bool v8::internal::Assembler::IsLwRegFpOffset ( Instr  instr)
static

◆ IsLwRegFpOffset() [2/2]

static bool v8::internal::Assembler::IsLwRegFpOffset ( Instr  instr)
static

◆ IsMovImmed()

static bool v8::internal::Assembler::IsMovImmed ( Instr  instr)
static

Referenced by return_address_from_call_start(), set_target_address_at(), target_address_at(), and target_address_from_return_address().

+ Here is the caller graph for this function:

◆ IsMovT()

static bool v8::internal::Assembler::IsMovT ( Instr  instr)
static

Referenced by return_address_from_call_start(), set_target_address_at(), target_address_at(), and target_address_from_return_address().

+ Here is the caller graph for this function:

◆ IsMovW()

static bool v8::internal::Assembler::IsMovW ( Instr  instr)
static

Referenced by return_address_from_call_start(), set_target_address_at(), target_address_at(), and target_address_from_return_address().

+ Here is the caller graph for this function:

◆ IsNop() [1/6]

static bool v8::internal::Assembler::IsNop ( Address  addr)
static

◆ IsNop() [2/6]

static bool v8::internal::Assembler::IsNop ( Address  addr)
static

◆ IsNop() [3/6]

static bool v8::internal::Assembler::IsNop ( Address  addr)
static

◆ IsNop() [4/6]

static bool v8::internal::Assembler::IsNop ( Instr  instr,
int  type = NON_MARKING_NOP 
)
static

Referenced by v8::internal::MacroAssembler::IsMarkedCode().

+ Here is the caller graph for this function:

◆ IsNop() [5/6]

static bool v8::internal::Assembler::IsNop ( Instr  instr,
unsigned int  type 
)
static

◆ IsNop() [6/6]

static bool v8::internal::Assembler::IsNop ( Instr  instr,
unsigned int  type 
)
static

◆ IsOri() [1/2]

static bool v8::internal::Assembler::IsOri ( Instr  instr)
static

◆ IsOri() [2/2]

static bool v8::internal::Assembler::IsOri ( Instr  instr)
static

◆ IsOrrImmed()

static bool v8::internal::Assembler::IsOrrImmed ( Instr  instr)
static

Referenced by return_address_from_call_start(), set_target_address_at(), target_address_at(), and target_address_from_return_address().

+ Here is the caller graph for this function:

◆ IsPop() [1/3]

static bool v8::internal::Assembler::IsPop ( Instr  instr)
static

◆ IsPop() [2/3]

static bool v8::internal::Assembler::IsPop ( Instr  instr)
static

◆ IsPop() [3/3]

static bool v8::internal::Assembler::IsPop ( Instr  instr)
static

◆ IsPush() [1/3]

static bool v8::internal::Assembler::IsPush ( Instr  instr)
static

◆ IsPush() [2/3]

static bool v8::internal::Assembler::IsPush ( Instr  instr)
static

◆ IsPush() [3/3]

static bool v8::internal::Assembler::IsPush ( Instr  instr)
static

◆ IsStrRegFpNegOffset()

static bool v8::internal::Assembler::IsStrRegFpNegOffset ( Instr  instr)
static

◆ IsStrRegFpOffset()

static bool v8::internal::Assembler::IsStrRegFpOffset ( Instr  instr)
static

◆ IsStrRegisterImmediate()

static bool v8::internal::Assembler::IsStrRegisterImmediate ( Instr  instr)
static

◆ IsSw() [1/2]

static bool v8::internal::Assembler::IsSw ( Instr  instr)
static

◆ IsSw() [2/2]

static bool v8::internal::Assembler::IsSw ( Instr  instr)
static

◆ IsSwRegFpNegOffset() [1/2]

static bool v8::internal::Assembler::IsSwRegFpNegOffset ( Instr  instr)
static

◆ IsSwRegFpNegOffset() [2/2]

static bool v8::internal::Assembler::IsSwRegFpNegOffset ( Instr  instr)
static

◆ IsSwRegFpOffset() [1/2]

static bool v8::internal::Assembler::IsSwRegFpOffset ( Instr  instr)
static

◆ IsSwRegFpOffset() [2/2]

static bool v8::internal::Assembler::IsSwRegFpOffset ( Instr  instr)
static

◆ IsTstImmediate()

static bool v8::internal::Assembler::IsTstImmediate ( Instr  instr)
static

Referenced by v8::internal::RecordWriteStub::GetMode(), and v8::internal::RecordWriteStub::PatchBranchIntoNop().

+ Here is the caller graph for this function:

◆ IsVldrDPcImmediateOffset()

static bool v8::internal::Assembler::IsVldrDPcImmediateOffset ( Instr  instr)
static

◆ IsVldrDPpImmediateOffset()

static bool v8::internal::Assembler::IsVldrDPpImmediateOffset ( Instr  instr)
static

◆ IsVldrDRegisterImmediate()

static bool v8::internal::Assembler::IsVldrDRegisterImmediate ( Instr  instr)
static

◆ j() [1/11]

void v8::internal::Assembler::j ( Condition  cc,
Address  entry,
RelocInfo::Mode  rmode 
)

◆ j() [2/11]

void v8::internal::Assembler::j ( Condition  cc,
byte entry,
RelocInfo::Mode  rmode 
)

◆ j() [3/11]

void v8::internal::Assembler::j ( Condition  cc,
byte entry,
RelocInfo::Mode  rmode 
)

◆ j() [4/11]

void v8::internal::Assembler::j ( Condition  cc,
Handle< Code code 
)

◆ j() [5/11]

void v8::internal::Assembler::j ( Condition  cc,
Handle< Code code 
)

◆ j() [6/11]

void v8::internal::Assembler::j ( Condition  cc,
Handle< Code target,
RelocInfo::Mode  rmode 
)

◆ j() [7/11]

void v8::internal::Assembler::j ( Condition  cc,
Label *  L,
Label::Distance  distance = Label::kFar 
)

Referenced by v8::internal::MacroAssembler::JumpIfJSArrayHasAllocationMemento(), v8::internal::MacroAssembler::JumpIfNotSmi(), v8::internal::MacroAssembler::JumpIfSmi(), v8::internal::MacroAssembler::li(), and v8::internal::MacroAssembler::SmiUntag().

+ Here is the caller graph for this function:

◆ j() [8/11]

void v8::internal::Assembler::j ( Condition  cc,
Label *  L,
Label::Distance  distance = Label::kFar 
)

◆ j() [9/11]

void v8::internal::Assembler::j ( Condition  cc,
Label *  L,
Label::Distance  distance = Label::kFar 
)

◆ j() [10/11]

void v8::internal::Assembler::j ( int32_t  target)

◆ j() [11/11]

void v8::internal::Assembler::j ( int64_t  target)

◆ j_or_jr() [1/2]

void v8::internal::Assembler::j_or_jr ( int32_t  target,
Register  rs 
)

◆ j_or_jr() [2/2]

void v8::internal::Assembler::j_or_jr ( int64_t  target,
Register  rs 
)

◆ jal() [1/2]

void v8::internal::Assembler::jal ( int32_t  target)

◆ jal() [2/2]

void v8::internal::Assembler::jal ( int64_t  target)

◆ jal_or_jalr() [1/2]

void v8::internal::Assembler::jal_or_jalr ( int32_t  target,
Register  rs 
)

◆ jal_or_jalr() [2/2]

void v8::internal::Assembler::jal_or_jalr ( int64_t  target,
Register  rs 
)

◆ jalr() [1/2]

void v8::internal::Assembler::jalr ( Register  rs,
Register  rd = ra 
)

◆ jalr() [2/2]

void v8::internal::Assembler::jalr ( Register  rs,
Register  rd = ra 
)

◆ jmp() [1/16]

void v8::internal::Assembler::jmp ( Address  entry,
RelocInfo::Mode  rmode 
)

◆ jmp() [2/16]

void v8::internal::Assembler::jmp ( byte entry,
RelocInfo::Mode  rmode 
)

◆ jmp() [3/16]

void v8::internal::Assembler::jmp ( byte entry,
RelocInfo::Mode  rmode 
)

◆ jmp() [4/16]

void v8::internal::Assembler::jmp ( const Operand adr)

◆ jmp() [5/16]

void v8::internal::Assembler::jmp ( const Operand adr)

◆ jmp() [6/16]

void v8::internal::Assembler::jmp ( const Operand src)
protected

◆ jmp() [7/16]

void v8::internal::Assembler::jmp ( Handle< Code code,
RelocInfo::Mode  rmode 
)

◆ jmp() [8/16]

void v8::internal::Assembler::jmp ( Handle< Code code,
RelocInfo::Mode  rmode 
)

◆ jmp() [9/16]

void v8::internal::Assembler::jmp ( Handle< Code target,
RelocInfo::Mode  rmode 
)

◆ jmp() [10/16]

void v8::internal::Assembler::jmp ( Label *  L)
inline

Definition at line 1319 of file assembler-arm.h.

1319 { b(L, al); }

References v8::internal::al, b(), and v8::internal::L.

+ Here is the call graph for this function:

◆ jmp() [11/16]

void v8::internal::Assembler::jmp ( Label *  L,
Label::Distance  distance = Label::kFar 
)

◆ jmp() [12/16]

void v8::internal::Assembler::jmp ( Label *  L,
Label::Distance  distance = Label::kFar 
)

◆ jmp() [13/16]

void v8::internal::Assembler::jmp ( Label *  L,
Label::Distance  distance = Label::kFar 
)

◆ jmp() [14/16]

void v8::internal::Assembler::jmp ( Register  adr)

◆ jmp() [15/16]

void v8::internal::Assembler::jmp ( Register  reg)
inline

Definition at line 835 of file assembler-ia32.h.

835 { jmp(Operand(reg)); }

References jmp().

Referenced by jmp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ jmp() [16/16]

void v8::internal::Assembler::jmp ( Register  reg)
inline

Definition at line 820 of file assembler-x87.h.

820 { jmp(Operand(reg)); }

References jmp().

Referenced by jmp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ jr() [1/2]

void v8::internal::Assembler::jr ( Register  target)

◆ jr() [2/2]

void v8::internal::Assembler::jr ( Register  target)

◆ jump_address() [1/2]

uint32_t v8::internal::Assembler::jump_address ( Label *  L)

◆ jump_address() [2/2]

uint64_t v8::internal::Assembler::jump_address ( Label *  L)

◆ JumpLabelToJumpRegister() [1/2]

static void v8::internal::Assembler::JumpLabelToJumpRegister ( Address  pc)
static

◆ JumpLabelToJumpRegister() [2/2]

static void v8::internal::Assembler::JumpLabelToJumpRegister ( Address  pc)
static

◆ label_at_put() [1/2]

void v8::internal::Assembler::label_at_put ( Label *  L,
int  at_offset 
)

◆ label_at_put() [2/2]

void v8::internal::Assembler::label_at_put ( Label *  L,
int  at_offset 
)

◆ lb() [1/2]

void v8::internal::Assembler::lb ( Register  rd,
const MemOperand rs 
)

◆ lb() [2/2]

void v8::internal::Assembler::lb ( Register  rd,
const MemOperand rs 
)

◆ lbu() [1/2]

void v8::internal::Assembler::lbu ( Register  rd,
const MemOperand rs 
)

Referenced by v8::internal::MacroAssembler::IsObjectStringType().

+ Here is the caller graph for this function:

◆ lbu() [2/2]

void v8::internal::Assembler::lbu ( Register  rd,
const MemOperand rs 
)

◆ ld()

void v8::internal::Assembler::ld ( Register  rd,
const MemOperand rs 
)

Referenced by v8::internal::MacroAssembler::IsObjectStringType(), v8::internal::MacroAssembler::pop(), and v8::internal::MacroAssembler::Pop().

+ Here is the caller graph for this function:

◆ ldc() [1/2]

void v8::internal::Assembler::ldc ( Coprocessor  coproc,
CRegister  crd,
const MemOperand src,
LFlag  l = Short,
Condition  cond = al 
)

◆ ldc() [2/2]

void v8::internal::Assembler::ldc ( Coprocessor  coproc,
CRegister  crd,
Register  base,
int  option,
LFlag  l = Short,
Condition  cond = al 
)

◆ ldc1() [1/2]

void v8::internal::Assembler::ldc1 ( FPURegister  fd,
const MemOperand src 
)

◆ ldc1() [2/2]

void v8::internal::Assembler::ldc1 ( FPURegister  fd,
const MemOperand src 
)

◆ ldc2() [1/2]

void v8::internal::Assembler::ldc2 ( Coprocessor  coproc,
CRegister  crd,
const MemOperand src,
LFlag  l = Short 
)

◆ ldc2() [2/2]

void v8::internal::Assembler::ldc2 ( Coprocessor  coproc,
CRegister  crd,
Register  base,
int  option,
LFlag  l = Short 
)

◆ ldl()

void v8::internal::Assembler::ldl ( Register  rd,
const MemOperand rs 
)

◆ ldm()

void v8::internal::Assembler::ldm ( BlockAddrMode  am,
Register  base,
RegList  dst,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Pop(), and v8::internal::RecordWriteStub::RegisterAllocation::RestoreCallerSaveRegisters().

+ Here is the caller graph for this function:

◆ ldnp()

void v8::internal::Assembler::ldnp ( const CPURegister rt,
const CPURegister rt2,
const MemOperand src 
)

Referenced by v8::internal::MacroAssembler::Ldnp().

+ Here is the caller graph for this function:

◆ ldp()

void v8::internal::Assembler::ldp ( const CPURegister rt,
const CPURegister rt2,
const MemOperand src 
)

◆ ldpsw()

void v8::internal::Assembler::ldpsw ( const Register rt,
const Register rt2,
const MemOperand src 
)

◆ ldr() [1/4]

void v8::internal::Assembler::ldr ( const CPURegister rt,
const Immediate imm 
)

◆ ldr() [2/4]

void v8::internal::Assembler::ldr ( const CPURegister rt,
const MemOperand src 
)

◆ ldr() [3/4]

void v8::internal::Assembler::ldr ( Register  dst,
const MemOperand src,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::IsObjectStringType(), v8::internal::MacroAssembler::Ldr(), pop(), and v8::internal::MacroAssembler::Pop().

+ Here is the caller graph for this function:

◆ ldr() [4/4]

void v8::internal::Assembler::ldr ( Register  rd,
const MemOperand rs 
)

◆ ldr_pcrel()

void v8::internal::Assembler::ldr_pcrel ( const CPURegister rt,
int  imm19 
)

◆ ldrb() [1/2]

void v8::internal::Assembler::ldrb ( const Register rt,
const MemOperand src 
)

◆ ldrb() [2/2]

void v8::internal::Assembler::ldrb ( Register  dst,
const MemOperand src,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::IsObjectStringType().

+ Here is the caller graph for this function:

◆ ldrd()

void v8::internal::Assembler::ldrd ( Register  dst1,
Register  dst2,
const MemOperand src,
Condition  cond = al 
)

◆ ldrh() [1/2]

void v8::internal::Assembler::ldrh ( const Register rt,
const MemOperand src 
)

◆ ldrh() [2/2]

void v8::internal::Assembler::ldrh ( Register  dst,
const MemOperand src,
Condition  cond = al 
)

◆ ldrsb() [1/2]

void v8::internal::Assembler::ldrsb ( const Register rt,
const MemOperand src 
)

◆ ldrsb() [2/2]

void v8::internal::Assembler::ldrsb ( Register  dst,
const MemOperand src,
Condition  cond = al 
)

◆ ldrsh() [1/2]

void v8::internal::Assembler::ldrsh ( const Register rt,
const MemOperand src 
)

◆ ldrsh() [2/2]

void v8::internal::Assembler::ldrsh ( Register  dst,
const MemOperand src,
Condition  cond = al 
)

◆ ldrsw()

void v8::internal::Assembler::ldrsw ( const Register rt,
const MemOperand src 
)

◆ lea() [1/2]

void v8::internal::Assembler::lea ( Register  dst,
const Operand src 
)

◆ lea() [2/2]

void v8::internal::Assembler::lea ( Register  dst,
const Operand src 
)

◆ leave() [1/3]

void v8::internal::Assembler::leave ( )

◆ leave() [2/3]

void v8::internal::Assembler::leave ( )

◆ leave() [3/3]

void v8::internal::Assembler::leave ( )

◆ lh() [1/2]

void v8::internal::Assembler::lh ( Register  rd,
const MemOperand rs 
)

◆ lh() [2/2]

void v8::internal::Assembler::lh ( Register  rd,
const MemOperand rs 
)

◆ lhu() [1/2]

void v8::internal::Assembler::lhu ( Register  rd,
const MemOperand rs 
)

◆ lhu() [2/2]

void v8::internal::Assembler::lhu ( Register  rd,
const MemOperand rs 
)

◆ LinkAndGetByteOffsetTo()

int v8::internal::Assembler::LinkAndGetByteOffsetTo ( Label *  label)
private

Referenced by LinkAndGetInstructionOffsetTo().

+ Here is the caller graph for this function:

◆ LinkAndGetInstructionOffsetTo()

int v8::internal::Assembler::LinkAndGetInstructionOffsetTo ( Label *  label)
inlineprivate

Definition at line 984 of file assembler-arm64-inl.h.

984  {
986  int offset = LinkAndGetByteOffsetTo(label);
988  return offset >> kInstructionSizeLog2;
989 }
static const int kStartOfLabelLinkChain
int LinkAndGetByteOffsetTo(Label *label)
bool IsAligned(T value, U alignment)
Definition: utils.h:123
const unsigned kInstructionSizeLog2

References DCHECK, v8::internal::IsAligned(), v8::internal::kInstructionSize, v8::internal::kInstructionSizeLog2, kStartOfLabelLinkChain, and LinkAndGetByteOffsetTo().

+ Here is the call graph for this function:

◆ load_rax() [1/2]

void v8::internal::Assembler::load_rax ( ExternalReference  ext)

◆ load_rax() [2/2]

void v8::internal::Assembler::load_rax ( void *  ptr,
RelocInfo::Mode  rmode 
)

◆ LoadLiteralOpFor()

LoadLiteralOp v8::internal::Assembler::LoadLiteralOpFor ( const CPURegister rt)
inlinestaticprotected

Definition at line 974 of file assembler-arm64-inl.h.

974  {
975  if (rt.IsRegister()) {
976  return rt.Is64Bits() ? LDR_x_lit : LDR_w_lit;
977  } else {
978  DCHECK(rt.IsFPRegister());
979  return rt.Is64Bits() ? LDR_d_lit : LDR_s_lit;
980  }
981 }

References DCHECK, v8::internal::CPURegister::Is64Bits(), v8::internal::CPURegister::IsFPRegister(), v8::internal::CPURegister::IsRegister(), v8::internal::LDR_d_lit, v8::internal::LDR_s_lit, v8::internal::LDR_w_lit, and v8::internal::LDR_x_lit.

+ Here is the call graph for this function:

◆ LoadOpFor()

LoadStoreOp v8::internal::Assembler::LoadOpFor ( const CPURegister rt)
inlinestaticprotected

Definition at line 900 of file assembler-arm64-inl.h.

900  {
901  DCHECK(rt.IsValid());
902  if (rt.IsRegister()) {
903  return rt.Is64Bits() ? LDR_x : LDR_w;
904  } else {
905  DCHECK(rt.IsFPRegister());
906  return rt.Is64Bits() ? LDR_d : LDR_s;
907  }
908 }

References DCHECK, v8::internal::CPURegister::Is64Bits(), v8::internal::CPURegister::IsFPRegister(), v8::internal::CPURegister::IsRegister(), and v8::internal::CPURegister::IsValid().

+ Here is the call graph for this function:

◆ LoadPairNonTemporalOpFor()

LoadStorePairNonTemporalOp v8::internal::Assembler::LoadPairNonTemporalOpFor ( const CPURegister rt,
const CPURegister rt2 
)
inlinestaticprotected

Definition at line 948 of file assembler-arm64-inl.h.

949  {
950  DCHECK(AreSameSizeAndType(rt, rt2));
951  USE(rt2);
952  if (rt.IsRegister()) {
953  return rt.Is64Bits() ? LDNP_x : LDNP_w;
954  } else {
955  DCHECK(rt.IsFPRegister());
956  return rt.Is64Bits() ? LDNP_d : LDNP_s;
957  }
958 }
bool AreSameSizeAndType(const CPURegister &reg1, const CPURegister &reg2, const CPURegister &reg3=NoCPUReg, const CPURegister &reg4=NoCPUReg, const CPURegister &reg5=NoCPUReg, const CPURegister &reg6=NoCPUReg, const CPURegister &reg7=NoCPUReg, const CPURegister &reg8=NoCPUReg)

References v8::internal::AreSameSizeAndType(), DCHECK, v8::internal::CPURegister::Is64Bits(), v8::internal::CPURegister::IsFPRegister(), v8::internal::CPURegister::IsRegister(), v8::internal::LDNP_d, v8::internal::LDNP_s, v8::internal::LDNP_w, v8::internal::LDNP_x, and USE().

+ Here is the call graph for this function:

◆ LoadPairOpFor()

LoadStorePairOp v8::internal::Assembler::LoadPairOpFor ( const CPURegister rt,
const CPURegister rt2 
)
inlinestaticprotected

Definition at line 911 of file assembler-arm64-inl.h.

912  {
913  DCHECK(AreSameSizeAndType(rt, rt2));
914  USE(rt2);
915  if (rt.IsRegister()) {
916  return rt.Is64Bits() ? LDP_x : LDP_w;
917  } else {
918  DCHECK(rt.IsFPRegister());
919  return rt.Is64Bits() ? LDP_d : LDP_s;
920  }
921 }

References v8::internal::AreSameSizeAndType(), DCHECK, v8::internal::CPURegister::Is64Bits(), v8::internal::CPURegister::IsFPRegister(), v8::internal::CPURegister::IsRegister(), and USE().

+ Here is the call graph for this function:

◆ LoadRegPlusOffsetToAt() [1/2]

void v8::internal::Assembler::LoadRegPlusOffsetToAt ( const MemOperand src)
private

◆ LoadRegPlusOffsetToAt() [2/2]

void v8::internal::Assembler::LoadRegPlusOffsetToAt ( const MemOperand src)
private

◆ LoadStore()

void v8::internal::Assembler::LoadStore ( const CPURegister rt,
const MemOperand addr,
LoadStoreOp  op 
)
protected

◆ LoadStorePair()

void v8::internal::Assembler::LoadStorePair ( const CPURegister rt,
const CPURegister rt2,
const MemOperand addr,
LoadStorePairOp  op 
)
protected

◆ LoadStorePairNonTemporal()

void v8::internal::Assembler::LoadStorePairNonTemporal ( const CPURegister rt,
const CPURegister rt2,
const MemOperand addr,
LoadStorePairNonTemporalOp  op 
)
private

◆ Logical()

void v8::internal::Assembler::Logical ( const Register rd,
const Register rn,
const Operand operand,
LogicalOp  op 
)
protected

◆ LogicalImmediate()

void v8::internal::Assembler::LogicalImmediate ( const Register rd,
const Register rn,
unsigned  n,
unsigned  imm_s,
unsigned  imm_r,
LogicalOp  op 
)
protected

◆ long_at() [1/3]

uint32_t v8::internal::Assembler::long_at ( int  pos)
inlineprivate

Definition at line 1108 of file assembler-ia32.h.

1108  {
1109  return *reinterpret_cast<uint32_t*>(addr_at(pos));
1110  }

References addr_at().

Referenced by disp_at().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ long_at() [2/3]

uint32_t v8::internal::Assembler::long_at ( int  pos)
inlineprivate

Definition at line 1162 of file assembler-x64.h.

1162  {
1163  return *reinterpret_cast<uint32_t*>(addr_at(pos));
1164  }

References addr_at().

+ Here is the call graph for this function:

◆ long_at() [3/3]

uint32_t v8::internal::Assembler::long_at ( int  pos)
inlineprivate

Definition at line 975 of file assembler-x87.h.

975  {
976  return *reinterpret_cast<uint32_t*>(addr_at(pos));
977  }

References addr_at().

+ Here is the call graph for this function:

◆ long_at_put() [1/3]

void v8::internal::Assembler::long_at_put ( int  pos,
uint32_t  x 
)
inlineprivate

Definition at line 1111 of file assembler-ia32.h.

1111  {
1112  *reinterpret_cast<uint32_t*>(addr_at(pos)) = x;
1113  }

References addr_at().

Referenced by disp_at_put().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ long_at_put() [2/3]

void v8::internal::Assembler::long_at_put ( int  pos,
uint32_t  x 
)
inlineprivate

Definition at line 1165 of file assembler-x64.h.

1165  {
1166  *reinterpret_cast<uint32_t*>(addr_at(pos)) = x;
1167  }

References addr_at().

+ Here is the call graph for this function:

◆ long_at_put() [3/3]

void v8::internal::Assembler::long_at_put ( int  pos,
uint32_t  x 
)
inlineprivate

Definition at line 978 of file assembler-x87.h.

978  {
979  *reinterpret_cast<uint32_t*>(addr_at(pos)) = x;
980  }

References addr_at().

+ Here is the call graph for this function:

◆ lsl() [1/2]

void v8::internal::Assembler::lsl ( const Register rd,
const Register rn,
unsigned  shift 
)
inline

Definition at line 1284 of file assembler-arm64.h.

1284  {
1285  unsigned reg_size = rd.SizeInBits();
1286  DCHECK(shift < reg_size);
1287  ubfm(rd, rn, (reg_size - shift) % reg_size, reg_size - shift - 1);
1288  }
void ubfm(const Register &rd, const Register &rn, unsigned immr, unsigned imms)

References DCHECK, shift(), v8::internal::CPURegister::SizeInBits(), and ubfm().

+ Here is the call graph for this function:

◆ lsl() [2/2]

void v8::internal::Assembler::lsl ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)
inline

Definition at line 944 of file assembler-arm.h.

945  {
946  if (src2.is_reg()) {
947  mov(dst, Operand(src1, LSL, src2.rm()), s, cond);
948  } else {
949  mov(dst, Operand(src1, LSL, src2.immediate()), s, cond);
950  }
951  }

References v8::internal::LSL, and mov().

Referenced by v8::internal::MacroAssembler::Lsl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lslv()

void v8::internal::Assembler::lslv ( const Register rd,
const Register rn,
const Register rm 
)

Referenced by v8::internal::MacroAssembler::Lsl().

+ Here is the caller graph for this function:

◆ lsr() [1/2]

void v8::internal::Assembler::lsr ( const Register rd,
const Register rn,
unsigned  shift 
)
inline

Definition at line 1291 of file assembler-arm64.h.

1291  {
1292  DCHECK(shift < rd.SizeInBits());
1293  ubfm(rd, rn, shift, rd.SizeInBits() - 1);
1294  }

References DCHECK, shift(), v8::internal::CPURegister::SizeInBits(), and ubfm().

+ Here is the call graph for this function:

◆ lsr() [2/2]

void v8::internal::Assembler::lsr ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)
inline

Definition at line 953 of file assembler-arm.h.

954  {
955  if (src2.is_reg()) {
956  mov(dst, Operand(src1, LSR, src2.rm()), s, cond);
957  } else {
958  mov(dst, Operand(src1, LSR, src2.immediate()), s, cond);
959  }
960  }

References v8::internal::LSR, and mov().

Referenced by v8::internal::MacroAssembler::Lsr().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lsrv()

void v8::internal::Assembler::lsrv ( const Register rd,
const Register rn,
const Register rm 
)

Referenced by v8::internal::MacroAssembler::Lsr().

+ Here is the caller graph for this function:

◆ lui() [1/2]

void v8::internal::Assembler::lui ( Register  rd,
int32_t  j 
)

◆ lui() [2/2]

void v8::internal::Assembler::lui ( Register  rd,
int32_t  j 
)

◆ lw() [1/2]

void v8::internal::Assembler::lw ( Register  rd,
const MemOperand rs 
)

Referenced by v8::internal::MacroAssembler::IsObjectStringType(), v8::internal::MacroAssembler::pop(), and v8::internal::MacroAssembler::Pop().

+ Here is the caller graph for this function:

◆ lw() [2/2]

void v8::internal::Assembler::lw ( Register  rd,
const MemOperand rs 
)

◆ lwc1() [1/2]

void v8::internal::Assembler::lwc1 ( FPURegister  fd,
const MemOperand src 
)

◆ lwc1() [2/2]

void v8::internal::Assembler::lwc1 ( FPURegister  fd,
const MemOperand src 
)

◆ lwl() [1/2]

void v8::internal::Assembler::lwl ( Register  rd,
const MemOperand rs 
)

◆ lwl() [2/2]

void v8::internal::Assembler::lwl ( Register  rd,
const MemOperand rs 
)

◆ lwr() [1/2]

void v8::internal::Assembler::lwr ( Register  rd,
const MemOperand rs 
)

◆ lwr() [2/2]

void v8::internal::Assembler::lwr ( Register  rd,
const MemOperand rs 
)

◆ lwu()

void v8::internal::Assembler::lwu ( Register  rd,
const MemOperand rs 
)

◆ madd()

void v8::internal::Assembler::madd ( const Register rd,
const Register rn,
const Register rm,
const Register ra 
)

Referenced by v8::internal::MacroAssembler::Madd().

+ Here is the caller graph for this function:

◆ madd_d() [1/2]

void v8::internal::Assembler::madd_d ( FPURegister  fd,
FPURegister  fr,
FPURegister  fs,
FPURegister  ft 
)

◆ madd_d() [2/2]

void v8::internal::Assembler::madd_d ( FPURegister  fd,
FPURegister  fr,
FPURegister  fs,
FPURegister  ft 
)

◆ max() [1/2]

void v8::internal::Assembler::max ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ max() [2/2]

void v8::internal::Assembler::max ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ maxa() [1/2]

void v8::internal::Assembler::maxa ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ maxa() [2/2]

void v8::internal::Assembler::maxa ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ mcr()

void v8::internal::Assembler::mcr ( Coprocessor  coproc,
int  opcode_1,
Register  rd,
CRegister  crn,
CRegister  crm,
int  opcode_2 = 0,
Condition  cond = al 
)

◆ mcr2()

void v8::internal::Assembler::mcr2 ( Coprocessor  coproc,
int  opcode_1,
Register  rd,
CRegister  crn,
CRegister  crm,
int  opcode_2 = 0 
)

◆ mfc1() [1/2]

void v8::internal::Assembler::mfc1 ( Register  rt,
FPURegister  fs 
)

Referenced by v8::internal::MacroAssembler::FmoveLow(), and v8::internal::MacroAssembler::Move().

+ Here is the caller graph for this function:

◆ mfc1() [2/2]

void v8::internal::Assembler::mfc1 ( Register  rt,
FPURegister  fs 
)

◆ mfhc1() [1/2]

void v8::internal::Assembler::mfhc1 ( Register  rt,
FPURegister  fs 
)

Referenced by v8::internal::MacroAssembler::FmoveHigh(), and v8::internal::MacroAssembler::Move().

+ Here is the caller graph for this function:

◆ mfhc1() [2/2]

void v8::internal::Assembler::mfhc1 ( Register  rt,
FPURegister  fs 
)

◆ mfhi() [1/2]

void v8::internal::Assembler::mfhi ( Register  rd)

◆ mfhi() [2/2]

void v8::internal::Assembler::mfhi ( Register  rd)

◆ mflo() [1/2]

void v8::internal::Assembler::mflo ( Register  rd)

◆ mflo() [2/2]

void v8::internal::Assembler::mflo ( Register  rd)

◆ min() [1/2]

void v8::internal::Assembler::min ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ min() [2/2]

void v8::internal::Assembler::min ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ mina() [1/2]

void v8::internal::Assembler::mina ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ mina() [2/2]

void v8::internal::Assembler::mina ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ mla()

void v8::internal::Assembler::mla ( Register  dst,
Register  src1,
Register  src2,
Register  srcA,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ mls()

void v8::internal::Assembler::mls ( Register  dst,
Register  src1,
Register  src2,
Register  srcA,
Condition  cond = al 
)

◆ mneg()

void v8::internal::Assembler::mneg ( const Register rd,
const Register rn,
const Register rm 
)

Referenced by v8::internal::MacroAssembler::Mneg().

+ Here is the caller graph for this function:

◆ mod() [1/2]

void v8::internal::Assembler::mod ( Register  rd,
Register  rs,
Register  rt 
)

◆ mod() [2/2]

void v8::internal::Assembler::mod ( Register  rd,
Register  rs,
Register  rt 
)

◆ modu() [1/2]

void v8::internal::Assembler::modu ( Register  rd,
Register  rs,
Register  rt 
)

◆ modu() [2/2]

void v8::internal::Assembler::modu ( Register  rd,
Register  rs,
Register  rt 
)

◆ mov() [1/19]

void v8::internal::Assembler::mov ( const Operand dst,
const Immediate x 
)

◆ mov() [2/19]

void v8::internal::Assembler::mov ( const Operand dst,
const Immediate x 
)

◆ mov() [3/19]

void v8::internal::Assembler::mov ( const Operand dst,
Handle< Object handle 
)

◆ mov() [4/19]

void v8::internal::Assembler::mov ( const Operand dst,
Handle< Object handle 
)

◆ mov() [5/19]

void v8::internal::Assembler::mov ( const Operand dst,
Register  src 
)

◆ mov() [6/19]

void v8::internal::Assembler::mov ( const Operand dst,
Register  src 
)

◆ mov() [7/19]

void v8::internal::Assembler::mov ( const Register rd,
const Register rn 
)

◆ mov() [8/19]

void v8::internal::Assembler::mov ( Register  dst,
const Immediate x 
)

◆ mov() [9/19]

void v8::internal::Assembler::mov ( Register  dst,
const Immediate x 
)

◆ mov() [10/19]

void v8::internal::Assembler::mov ( Register  dst,
const Operand src 
)

◆ mov() [11/19]

void v8::internal::Assembler::mov ( Register  dst,
const Operand src 
)

◆ mov() [12/19]

void v8::internal::Assembler::mov ( Register  dst,
const Operand src,
SBit  s = LeaveCC,
Condition  cond = al 
)

Referenced by asr(), lsl(), lsr(), v8::internal::MacroAssembler::Mov(), mov(), and nop().

+ Here is the caller graph for this function:

◆ mov() [13/19]

void v8::internal::Assembler::mov ( Register  dst,
Handle< Object handle 
)

◆ mov() [14/19]

void v8::internal::Assembler::mov ( Register  dst,
Handle< Object handle 
)

◆ mov() [15/19]

void v8::internal::Assembler::mov ( Register  dst,
int32_t  imm32 
)

◆ mov() [16/19]

void v8::internal::Assembler::mov ( Register  dst,
int32_t  imm32 
)

◆ mov() [17/19]

void v8::internal::Assembler::mov ( Register  dst,
Register  src 
)

◆ mov() [18/19]

void v8::internal::Assembler::mov ( Register  dst,
Register  src 
)

◆ mov() [19/19]

void v8::internal::Assembler::mov ( Register  dst,
Register  src,
SBit  s = LeaveCC,
Condition  cond = al 
)
inline

Definition at line 914 of file assembler-arm.h.

914  {
915  mov(dst, Operand(src), s, cond);
916  }

References mov().

+ Here is the call graph for this function:

◆ mov_b() [1/10]

void v8::internal::Assembler::mov_b ( const Operand dst,
int8_t  imm8 
)

◆ mov_b() [2/10]

void v8::internal::Assembler::mov_b ( const Operand dst,
int8_t  imm8 
)

◆ mov_b() [3/10]

void v8::internal::Assembler::mov_b ( const Operand dst,
Register  src 
)

◆ mov_b() [4/10]

void v8::internal::Assembler::mov_b ( const Operand dst,
Register  src 
)

◆ mov_b() [5/10]

void v8::internal::Assembler::mov_b ( Register  dst,
const Operand src 
)

◆ mov_b() [6/10]

void v8::internal::Assembler::mov_b ( Register  dst,
const Operand src 
)

◆ mov_b() [7/10]

void v8::internal::Assembler::mov_b ( Register  dst,
int8_t  imm8 
)
inline

Definition at line 621 of file assembler-ia32.h.

621 { mov_b(Operand(dst), imm8); }
void mov_b(Register dst, Register src)

References mov_b().

Referenced by mov_b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mov_b() [8/10]

void v8::internal::Assembler::mov_b ( Register  dst,
int8_t  imm8 
)
inline

Definition at line 612 of file assembler-x87.h.

612 { mov_b(Operand(dst), imm8); }

References mov_b().

Referenced by mov_b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mov_b() [9/10]

void v8::internal::Assembler::mov_b ( Register  dst,
Register  src 
)
inline

Definition at line 619 of file assembler-ia32.h.

619 { mov_b(dst, Operand(src)); }

References mov_b().

Referenced by mov_b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mov_b() [10/10]

void v8::internal::Assembler::mov_b ( Register  dst,
Register  src 
)
inline

Definition at line 610 of file assembler-x87.h.

610 { mov_b(dst, Operand(src)); }

References mov_b().

Referenced by mov_b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mov_d() [1/2]

void v8::internal::Assembler::mov_d ( FPURegister  fd,
FPURegister  fs 
)

Referenced by v8::internal::MacroAssembler::Move().

+ Here is the caller graph for this function:

◆ mov_d() [2/2]

void v8::internal::Assembler::mov_d ( FPURegister  fd,
FPURegister  fs 
)

◆ mov_label_offset()

void v8::internal::Assembler::mov_label_offset ( Register  dst,
Label *  label 
)

◆ mov_w() [1/6]

void v8::internal::Assembler::mov_w ( const Operand dst,
int16_t  imm16 
)

◆ mov_w() [2/6]

void v8::internal::Assembler::mov_w ( const Operand dst,
int16_t  imm16 
)

◆ mov_w() [3/6]

void v8::internal::Assembler::mov_w ( const Operand dst,
Register  src 
)

◆ mov_w() [4/6]

void v8::internal::Assembler::mov_w ( const Operand dst,
Register  src 
)

◆ mov_w() [5/6]

void v8::internal::Assembler::mov_w ( Register  dst,
const Operand src 
)

◆ mov_w() [6/6]

void v8::internal::Assembler::mov_w ( Register  dst,
const Operand src 
)

◆ movapd()

void v8::internal::Assembler::movapd ( XMMRegister  dst,
XMMRegister  src 
)

◆ movaps() [1/2]

void v8::internal::Assembler::movaps ( XMMRegister  dst,
XMMRegister  src 
)

◆ movaps() [2/2]

void v8::internal::Assembler::movaps ( XMMRegister  dst,
XMMRegister  src 
)

◆ movb() [1/4]

void v8::internal::Assembler::movb ( const Operand dst,
Immediate  imm 
)

◆ movb() [2/4]

void v8::internal::Assembler::movb ( const Operand dst,
Register  src 
)

◆ movb() [3/4]

void v8::internal::Assembler::movb ( Register  dst,
const Operand src 
)

◆ movb() [4/4]

void v8::internal::Assembler::movb ( Register  dst,
Immediate  imm 
)

◆ movd() [1/6]

void v8::internal::Assembler::movd ( const Operand dst,
XMMRegister  src 
)

◆ movd() [2/6]

void v8::internal::Assembler::movd ( Register  dst,
XMMRegister  src 
)
inline

Definition at line 1007 of file assembler-ia32.h.

1007 { movd(Operand(dst), src); }
void movd(XMMRegister dst, Register src)

References movd().

Referenced by movd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movd() [3/6]

void v8::internal::Assembler::movd ( Register  dst,
XMMRegister  src 
)

◆ movd() [4/6]

void v8::internal::Assembler::movd ( XMMRegister  dst,
const Operand src 
)

◆ movd() [5/6]

void v8::internal::Assembler::movd ( XMMRegister  dst,
Register  src 
)
inline

Definition at line 1005 of file assembler-ia32.h.

1005 { movd(dst, Operand(src)); }

References movd().

Referenced by movd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movd() [6/6]

void v8::internal::Assembler::movd ( XMMRegister  dst,
Register  src 
)

◆ movdq()

void v8::internal::Assembler::movdq ( bool  aligned,
XMMRegister  dst,
const Operand src 
)
inline

Definition at line 997 of file assembler-ia32.h.

997  {
998  if (aligned) {
999  movdqa(dst, src);
1000  } else {
1001  movdqu(dst, src);
1002  }
1003  }
void movdqu(XMMRegister dst, const Operand &src)
void movdqa(XMMRegister dst, const Operand &src)
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be aligned(ARM64 only)") DEFINE_STRING(expose_gc_as

References aligned(), movdqa(), and movdqu().

+ Here is the call graph for this function:

◆ movdqa() [1/4]

void v8::internal::Assembler::movdqa ( const Operand dst,
XMMRegister  src 
)

◆ movdqa() [2/4]

void v8::internal::Assembler::movdqa ( const Operand dst,
XMMRegister  src 
)

◆ movdqa() [3/4]

void v8::internal::Assembler::movdqa ( XMMRegister  dst,
const Operand src 
)

Referenced by movdq().

+ Here is the caller graph for this function:

◆ movdqa() [4/4]

void v8::internal::Assembler::movdqa ( XMMRegister  dst,
const Operand src 
)

◆ movdqu() [1/4]

void v8::internal::Assembler::movdqu ( const Operand dst,
XMMRegister  src 
)

◆ movdqu() [2/4]

void v8::internal::Assembler::movdqu ( const Operand dst,
XMMRegister  src 
)

◆ movdqu() [3/4]

void v8::internal::Assembler::movdqu ( XMMRegister  dst,
const Operand src 
)

Referenced by movdq().

+ Here is the caller graph for this function:

◆ movdqu() [4/4]

void v8::internal::Assembler::movdqu ( XMMRegister  dst,
const Operand src 
)

◆ move_32_bit_immediate()

void v8::internal::Assembler::move_32_bit_immediate ( Register  rd,
const Operand x,
Condition  cond = al 
)
private

◆ MoveWide()

void v8::internal::Assembler::MoveWide ( const Register rd,
uint64_t  imm,
int  shift,
MoveWideImmediateOp  mov_op 
)
private

Referenced by movk(), movn(), and movz().

+ Here is the caller graph for this function:

◆ movf() [1/2]

void v8::internal::Assembler::movf ( Register  rd,
Register  rs,
uint16_t  cc = 0 
)

◆ movf() [2/2]

void v8::internal::Assembler::movf ( Register  rd,
Register  rs,
uint16_t  cc = 0 
)

◆ movk()

void v8::internal::Assembler::movk ( const Register rd,
uint64_t  imm,
int  shift = -1 
)
inline

Definition at line 1522 of file assembler-arm64.h.

1522  {
1523  MoveWide(rd, imm, shift, MOVK);
1524  }
void MoveWide(const Register &rd, uint64_t imm, int shift, MoveWideImmediateOp mov_op)

References MoveWide(), v8::internal::MOVK, and shift().

Referenced by v8::internal::MacroAssembler::Movk().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movl()

void v8::internal::Assembler::movl ( const Operand dst,
Label *  src 
)

◆ movmskpd() [1/2]

void v8::internal::Assembler::movmskpd ( Register  dst,
XMMRegister  src 
)

◆ movmskpd() [2/2]

void v8::internal::Assembler::movmskpd ( Register  dst,
XMMRegister  src 
)

◆ movmskps() [1/2]

void v8::internal::Assembler::movmskps ( Register  dst,
XMMRegister  src 
)

◆ movmskps() [2/2]

void v8::internal::Assembler::movmskps ( Register  dst,
XMMRegister  src 
)

◆ movn() [1/3]

void v8::internal::Assembler::movn ( const Register rd,
uint64_t  imm,
int  shift = -1 
)
inline

Definition at line 1527 of file assembler-arm64.h.

1527  {
1528  MoveWide(rd, imm, shift, MOVN);
1529  }

References MoveWide(), v8::internal::MOVN, and shift().

Referenced by v8::internal::MacroAssembler::AnnotateInstrumentation(), v8::internal::MacroAssembler::DisableInstrumentation(), and v8::internal::MacroAssembler::EnableInstrumentation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movn() [2/3]

void v8::internal::Assembler::movn ( Register  rd,
Register  rs,
Register  rt 
)

◆ movn() [3/3]

void v8::internal::Assembler::movn ( Register  rd,
Register  rs,
Register  rt 
)

◆ movntdq()

void v8::internal::Assembler::movntdq ( const Operand dst,
XMMRegister  src 
)

◆ movntdqa()

void v8::internal::Assembler::movntdqa ( XMMRegister  dst,
const Operand src 
)

◆ movp()

void v8::internal::Assembler::movp ( Register  dst,
void *  ptr,
RelocInfo::Mode  rmode 
)

Referenced by v8::internal::MacroAssembler::Move(), v8::internal::RecordWriteStub::RegisterAllocation::Restore(), and v8::internal::RecordWriteStub::RegisterAllocation::Save().

+ Here is the caller graph for this function:

◆ movq() [1/5]

void v8::internal::Assembler::movq ( Register  dst,
int64_t  value 
)

◆ movq() [2/5]

void v8::internal::Assembler::movq ( Register  dst,
uint64_t  value 
)

◆ movq() [3/5]

void v8::internal::Assembler::movq ( Register  dst,
XMMRegister  src 
)

◆ movq() [4/5]

void v8::internal::Assembler::movq ( XMMRegister  dst,
Register  src 
)

◆ movq() [5/5]

void v8::internal::Assembler::movq ( XMMRegister  dst,
XMMRegister  src 
)

◆ movsd() [1/6]

void v8::internal::Assembler::movsd ( const Operand dst,
XMMRegister  src 
)

◆ movsd() [2/6]

void v8::internal::Assembler::movsd ( const Operand dst,
XMMRegister  src 
)

◆ movsd() [3/6]

void v8::internal::Assembler::movsd ( XMMRegister  dst,
const Operand src 
)

◆ movsd() [4/6]

void v8::internal::Assembler::movsd ( XMMRegister  dst,
const Operand src 
)

◆ movsd() [5/6]

void v8::internal::Assembler::movsd ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 1009 of file assembler-ia32.h.

1009 { movsd(dst, Operand(src)); }
void movsd(XMMRegister dst, XMMRegister src)

References movsd().

Referenced by movsd(), v8::internal::RecordWriteStub::RegisterAllocation::RestoreCallerSaveRegisters(), and v8::internal::RecordWriteStub::RegisterAllocation::SaveCallerSaveRegisters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movsd() [6/6]

void v8::internal::Assembler::movsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ movss() [1/5]

void v8::internal::Assembler::movss ( const Operand dst,
XMMRegister  src 
)

◆ movss() [2/5]

void v8::internal::Assembler::movss ( const Operand dst,
XMMRegister  src 
)

◆ movss() [3/5]

void v8::internal::Assembler::movss ( XMMRegister  dst,
const Operand src 
)

◆ movss() [4/5]

void v8::internal::Assembler::movss ( XMMRegister  dst,
const Operand src 
)

◆ movss() [5/5]

void v8::internal::Assembler::movss ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 1016 of file assembler-ia32.h.

1016 { movss(dst, Operand(src)); }
void movss(XMMRegister dst, const Operand &src)

References movss().

Referenced by movss().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movsx_b() [1/4]

void v8::internal::Assembler::movsx_b ( Register  dst,
const Operand src 
)

◆ movsx_b() [2/4]

void v8::internal::Assembler::movsx_b ( Register  dst,
const Operand src 
)

◆ movsx_b() [3/4]

void v8::internal::Assembler::movsx_b ( Register  dst,
Register  src 
)
inline

Definition at line 638 of file assembler-ia32.h.

638 { movsx_b(dst, Operand(src)); }
void movsx_b(Register dst, Register src)

References movsx_b().

Referenced by movsx_b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movsx_b() [4/4]

void v8::internal::Assembler::movsx_b ( Register  dst,
Register  src 
)
inline

Definition at line 629 of file assembler-x87.h.

629 { movsx_b(dst, Operand(src)); }

References movsx_b().

Referenced by movsx_b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movsx_w() [1/4]

void v8::internal::Assembler::movsx_w ( Register  dst,
const Operand src 
)

◆ movsx_w() [2/4]

void v8::internal::Assembler::movsx_w ( Register  dst,
const Operand src 
)

◆ movsx_w() [3/4]

void v8::internal::Assembler::movsx_w ( Register  dst,
Register  src 
)
inline

Definition at line 641 of file assembler-ia32.h.

641 { movsx_w(dst, Operand(src)); }
void movsx_w(Register dst, Register src)

References movsx_w().

Referenced by movsx_w().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movsx_w() [4/4]

void v8::internal::Assembler::movsx_w ( Register  dst,
Register  src 
)
inline

Definition at line 632 of file assembler-x87.h.

632 { movsx_w(dst, Operand(src)); }

References movsx_w().

Referenced by movsx_w().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movsxbl()

void v8::internal::Assembler::movsxbl ( Register  dst,
const Operand src 
)

◆ movsxbq()

void v8::internal::Assembler::movsxbq ( Register  dst,
const Operand src 
)

◆ movsxlq() [1/2]

void v8::internal::Assembler::movsxlq ( Register  dst,
const Operand src 
)

◆ movsxlq() [2/2]

void v8::internal::Assembler::movsxlq ( Register  dst,
Register  src 
)

◆ movsxwl()

void v8::internal::Assembler::movsxwl ( Register  dst,
const Operand src 
)

◆ movsxwq()

void v8::internal::Assembler::movsxwq ( Register  dst,
const Operand src 
)

◆ movt() [1/3]

void v8::internal::Assembler::movt ( Register  rd,
Register  rs,
uint16_t  cc = 0 
)

◆ movt() [2/3]

void v8::internal::Assembler::movt ( Register  rd,
Register  rs,
uint16_t  cc = 0 
)

◆ movt() [3/3]

void v8::internal::Assembler::movt ( Register  reg,
uint32_t  immediate,
Condition  cond = al 
)

◆ movw() [1/4]

void v8::internal::Assembler::movw ( const Operand dst,
Immediate  imm 
)

◆ movw() [2/4]

void v8::internal::Assembler::movw ( const Operand dst,
Register  src 
)

◆ movw() [3/4]

void v8::internal::Assembler::movw ( Register  dst,
const Operand src 
)

◆ movw() [4/4]

void v8::internal::Assembler::movw ( Register  reg,
uint32_t  immediate,
Condition  cond = al 
)

◆ movz() [1/3]

void v8::internal::Assembler::movz ( const Register rd,
uint64_t  imm,
int  shift = -1 
)
inline

Definition at line 1532 of file assembler-arm64.h.

1532  {
1533  MoveWide(rd, imm, shift, MOVZ);
1534  }

References MoveWide(), v8::internal::MOVZ, and shift().

Referenced by v8::internal::MacroAssembler::InlineData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movz() [2/3]

void v8::internal::Assembler::movz ( Register  rd,
Register  rs,
Register  rt 
)

◆ movz() [3/3]

void v8::internal::Assembler::movz ( Register  rd,
Register  rs,
Register  rt 
)

◆ movzx_b() [1/4]

void v8::internal::Assembler::movzx_b ( Register  dst,
const Operand src 
)

◆ movzx_b() [2/4]

void v8::internal::Assembler::movzx_b ( Register  dst,
const Operand src 
)

◆ movzx_b() [3/4]

void v8::internal::Assembler::movzx_b ( Register  dst,
Register  src 
)
inline

Definition at line 644 of file assembler-ia32.h.

644 { movzx_b(dst, Operand(src)); }
void movzx_b(Register dst, Register src)

References movzx_b().

Referenced by movzx_b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movzx_b() [4/4]

void v8::internal::Assembler::movzx_b ( Register  dst,
Register  src 
)
inline

Definition at line 635 of file assembler-x87.h.

635 { movzx_b(dst, Operand(src)); }

References movzx_b().

Referenced by movzx_b().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movzx_w() [1/4]

void v8::internal::Assembler::movzx_w ( Register  dst,
const Operand src 
)

◆ movzx_w() [2/4]

void v8::internal::Assembler::movzx_w ( Register  dst,
const Operand src 
)

◆ movzx_w() [3/4]

void v8::internal::Assembler::movzx_w ( Register  dst,
Register  src 
)
inline

Definition at line 647 of file assembler-ia32.h.

647 { movzx_w(dst, Operand(src)); }
void movzx_w(Register dst, Register src)

References movzx_w().

Referenced by movzx_w().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ movzx_w() [4/4]

void v8::internal::Assembler::movzx_w ( Register  dst,
Register  src 
)
inline

Definition at line 638 of file assembler-x87.h.

638 { movzx_w(dst, Operand(src)); }

References movzx_w().

Referenced by movzx_w().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mrc()

void v8::internal::Assembler::mrc ( Coprocessor  coproc,
int  opcode_1,
Register  rd,
CRegister  crn,
CRegister  crm,
int  opcode_2 = 0,
Condition  cond = al 
)

◆ mrc2()

void v8::internal::Assembler::mrc2 ( Coprocessor  coproc,
int  opcode_1,
Register  rd,
CRegister  crn,
CRegister  crm,
int  opcode_2 = 0 
)

◆ mrs() [1/2]

void v8::internal::Assembler::mrs ( const Register rt,
SystemRegister  sysreg 
)

◆ mrs() [2/2]

void v8::internal::Assembler::mrs ( Register  dst,
SRegister  s,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Mrs().

+ Here is the caller graph for this function:

◆ msr() [1/2]

void v8::internal::Assembler::msr ( SRegisterFieldMask  fields,
const Operand src,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Msr().

+ Here is the caller graph for this function:

◆ msr() [2/2]

void v8::internal::Assembler::msr ( SystemRegister  sysreg,
const Register rt 
)

◆ msub()

void v8::internal::Assembler::msub ( const Register rd,
const Register rn,
const Register rm,
const Register ra 
)

Referenced by v8::internal::MacroAssembler::Msub().

+ Here is the caller graph for this function:

◆ mtc1() [1/2]

void v8::internal::Assembler::mtc1 ( Register  rt,
FPURegister  fs 
)

Referenced by v8::internal::MacroAssembler::Move().

+ Here is the caller graph for this function:

◆ mtc1() [2/2]

void v8::internal::Assembler::mtc1 ( Register  rt,
FPURegister  fs 
)

◆ mthc1() [1/2]

void v8::internal::Assembler::mthc1 ( Register  rt,
FPURegister  fs 
)

Referenced by v8::internal::MacroAssembler::Move().

+ Here is the caller graph for this function:

◆ mthc1() [2/2]

void v8::internal::Assembler::mthc1 ( Register  rt,
FPURegister  fs 
)

◆ muh() [1/2]

void v8::internal::Assembler::muh ( Register  rd,
Register  rs,
Register  rt 
)

◆ muh() [2/2]

void v8::internal::Assembler::muh ( Register  rd,
Register  rs,
Register  rt 
)

◆ muhu() [1/2]

void v8::internal::Assembler::muhu ( Register  rd,
Register  rs,
Register  rt 
)

◆ muhu() [2/2]

void v8::internal::Assembler::muhu ( Register  rd,
Register  rs,
Register  rt 
)

◆ mul() [1/7]

void v8::internal::Assembler::mul ( const Register rd,
const Register rn,
const Register rm 
)

◆ mul() [2/7]

void v8::internal::Assembler::mul ( Register  dst,
Register  src1,
Register  src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Mul().

+ Here is the caller graph for this function:

◆ mul() [3/7]

void v8::internal::Assembler::mul ( Register  rd,
Register  rs,
Register  rt 
)

◆ mul() [4/7]

void v8::internal::Assembler::mul ( Register  rd,
Register  rs,
Register  rt 
)

◆ mul() [5/7]

void v8::internal::Assembler::mul ( Register  src)

◆ mul() [6/7]

void v8::internal::Assembler::mul ( Register  src)

◆ mul() [7/7]

void v8::internal::Assembler::mul ( Register  src)

◆ mul_d() [1/2]

void v8::internal::Assembler::mul_d ( FPURegister  fd,
FPURegister  fs,
FPURegister  ft 
)

◆ mul_d() [2/2]

void v8::internal::Assembler::mul_d ( FPURegister  fd,
FPURegister  fs,
FPURegister  ft 
)

◆ mulps() [1/4]

void v8::internal::Assembler::mulps ( XMMRegister  dst,
const Operand src 
)

◆ mulps() [2/4]

void v8::internal::Assembler::mulps ( XMMRegister  dst,
const Operand src 
)

◆ mulps() [3/4]

void v8::internal::Assembler::mulps ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 941 of file assembler-ia32.h.

941 { mulps(dst, Operand(src)); }
void mulps(XMMRegister dst, const Operand &src)

References mulps().

Referenced by mulps().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mulps() [4/4]

void v8::internal::Assembler::mulps ( XMMRegister  dst,
XMMRegister  src 
)

◆ mulsd() [1/4]

void v8::internal::Assembler::mulsd ( XMMRegister  dst,
const Operand src 
)

◆ mulsd() [2/4]

void v8::internal::Assembler::mulsd ( XMMRegister  dst,
const Operand src 
)

◆ mulsd() [3/4]

void v8::internal::Assembler::mulsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ mulsd() [4/4]

void v8::internal::Assembler::mulsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ mult() [1/2]

void v8::internal::Assembler::mult ( Register  rs,
Register  rt 
)

◆ mult() [2/2]

void v8::internal::Assembler::mult ( Register  rs,
Register  rt 
)

◆ multu() [1/2]

void v8::internal::Assembler::multu ( Register  rs,
Register  rt 
)

◆ multu() [2/2]

void v8::internal::Assembler::multu ( Register  rs,
Register  rt 
)

◆ mulu() [1/2]

void v8::internal::Assembler::mulu ( Register  rd,
Register  rs,
Register  rt 
)

◆ mulu() [2/2]

void v8::internal::Assembler::mulu ( Register  rd,
Register  rs,
Register  rt 
)

◆ MustUseReg() [1/2]

bool v8::internal::Assembler::MustUseReg ( RelocInfo::Mode  rmode)
protected

◆ MustUseReg() [2/2]

bool v8::internal::Assembler::MustUseReg ( RelocInfo::Mode  rmode)
protected

◆ mvn() [1/2]

void v8::internal::Assembler::mvn ( const Register rd,
const Operand operand 
)

◆ mvn() [2/2]

void v8::internal::Assembler::mvn ( Register  dst,
const Operand src,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ neg() [1/5]

void v8::internal::Assembler::neg ( const Operand dst)

◆ neg() [2/5]

void v8::internal::Assembler::neg ( const Operand dst)

◆ neg() [3/5]

void v8::internal::Assembler::neg ( const Register rd,
const Operand operand 
)

◆ neg() [4/5]

void v8::internal::Assembler::neg ( Register  dst)

◆ neg() [5/5]

void v8::internal::Assembler::neg ( Register  dst)

◆ neg_d() [1/2]

void v8::internal::Assembler::neg_d ( FPURegister  fd,
FPURegister  fs 
)

◆ neg_d() [2/2]

void v8::internal::Assembler::neg_d ( FPURegister  fd,
FPURegister  fs 
)

◆ negs()

void v8::internal::Assembler::negs ( const Register rd,
const Operand operand 
)

◆ NewConstantPool() [1/7]

Handle<ConstantPoolArray> v8::internal::Assembler::NewConstantPool ( Isolate isolate)

◆ NewConstantPool() [2/7]

Handle<ConstantPoolArray> v8::internal::Assembler::NewConstantPool ( Isolate isolate)

◆ NewConstantPool() [3/7]

Handle<ConstantPoolArray> v8::internal::Assembler::NewConstantPool ( Isolate isolate)

◆ NewConstantPool() [4/7]

Handle<ConstantPoolArray> v8::internal::Assembler::NewConstantPool ( Isolate isolate)

◆ NewConstantPool() [5/7]

Handle<ConstantPoolArray> v8::internal::Assembler::NewConstantPool ( Isolate isolate)

◆ NewConstantPool() [6/7]

Handle<ConstantPoolArray> v8::internal::Assembler::NewConstantPool ( Isolate isolate)

◆ NewConstantPool() [7/7]

Handle<ConstantPoolArray> v8::internal::Assembler::NewConstantPool ( Isolate isolate)

◆ next() [1/3]

void v8::internal::Assembler::next ( Label *  L)
private

◆ next() [2/3]

void v8::internal::Assembler::next ( Label *  L)
private

◆ next() [3/3]

void v8::internal::Assembler::next ( Label *  L)
private

◆ ngc()

void v8::internal::Assembler::ngc ( const Register rd,
const Operand operand 
)

◆ ngcs()

void v8::internal::Assembler::ngcs ( const Register rd,
const Operand operand 
)

◆ nop() [1/8]

void v8::internal::Assembler::nop ( )
inline

Definition at line 1569 of file assembler-arm64.h.

1569 { hint(NOP); }
void hint(SystemHint code)

References hint(), and v8::internal::NOP.

Referenced by v8::internal::MacroAssembler::MarkCode(), and v8::internal::MacroAssembler::Nop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nop() [2/8]

void v8::internal::Assembler::nop ( )

◆ nop() [3/8]

void v8::internal::Assembler::nop ( )

◆ nop() [4/8]

void v8::internal::Assembler::nop ( )

◆ Nop() [1/3]

void v8::internal::Assembler::Nop ( int  bytes = 1)

◆ Nop() [2/3]

void v8::internal::Assembler::Nop ( int  bytes = 1)

◆ Nop() [3/3]

void v8::internal::Assembler::Nop ( int  bytes = 1)

◆ nop() [5/8]

void v8::internal::Assembler::nop ( int  type = 0)

◆ nop() [6/8]

void v8::internal::Assembler::nop ( NopMarkerTypes  n)
inline

Definition at line 1581 of file assembler-arm64.h.

1581  {
1582  DCHECK((FIRST_NOP_MARKER <= n) && (n <= LAST_NOP_MARKER));
1584  }
static Register XRegFromCode(unsigned code)

References DCHECK, FIRST_NOP_MARKER, LAST_NOP_MARKER, mov(), and v8::internal::Register::XRegFromCode().

+ Here is the call graph for this function:

◆ nop() [7/8]

void v8::internal::Assembler::nop ( unsigned int  type = 0)
inline

Definition at line 626 of file assembler-mips.h.

626  {
627  DCHECK(type < 32);
628  Register nop_rt_reg = (type == 0) ? zero_reg : at;
629  sll(zero_reg, nop_rt_reg, type, true);
630  }
void sll(Register rd, Register rt, uint16_t sa, bool coming_from_nop=false)

References DCHECK, and sll().

+ Here is the call graph for this function:

◆ nop() [8/8]

void v8::internal::Assembler::nop ( unsigned int  type = 0)
inline

Definition at line 617 of file assembler-mips64.h.

617  {
618  DCHECK(type < 32);
619  Register nop_rt_reg = (type == 0) ? zero_reg : at;
620  sll(zero_reg, nop_rt_reg, type, true);
621  }

References DCHECK, and sll().

+ Here is the call graph for this function:

◆ nor() [1/2]

void v8::internal::Assembler::nor ( Register  rd,
Register  rs,
Register  rt 
)

◆ nor() [2/2]

void v8::internal::Assembler::nor ( Register  rd,
Register  rs,
Register  rt 
)

◆ not_() [1/4]

void v8::internal::Assembler::not_ ( const Operand dst)

◆ not_() [2/4]

void v8::internal::Assembler::not_ ( const Operand dst)

◆ not_() [3/4]

void v8::internal::Assembler::not_ ( Register  dst)

◆ not_() [4/4]

void v8::internal::Assembler::not_ ( Register  dst)

◆ Nzcv()

Instr v8::internal::Assembler::Nzcv ( StatusFlags  nzcv)
inlinestatic

Definition at line 1145 of file assembler-arm64-inl.h.

1145  {
1146  return ((nzcv >> Flags_offset) & 0xf) << Nzcv_offset;
1147 }

◆ or_() [1/14]

void v8::internal::Assembler::or_ ( const Operand dst,
const Immediate x 
)

◆ or_() [2/14]

void v8::internal::Assembler::or_ ( const Operand dst,
const Immediate x 
)

◆ or_() [3/14]

void v8::internal::Assembler::or_ ( const Operand dst,
Register  src 
)

◆ or_() [4/14]

void v8::internal::Assembler::or_ ( const Operand dst,
Register  src 
)

◆ or_() [5/14]

void v8::internal::Assembler::or_ ( Register  dst,
const Immediate imm 
)
inline

Definition at line 738 of file assembler-ia32.h.

738 { or_(Operand(dst), imm); }
void or_(Register dst, int32_t imm32)

References or_().

Referenced by or_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ or_() [6/14]

void v8::internal::Assembler::or_ ( Register  dst,
const Immediate imm 
)
inline

Definition at line 723 of file assembler-x87.h.

723 { or_(Operand(dst), imm); }

References or_().

Referenced by or_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ or_() [7/14]

void v8::internal::Assembler::or_ ( Register  dst,
const Operand src 
)

◆ or_() [8/14]

void v8::internal::Assembler::or_ ( Register  dst,
const Operand src 
)

◆ or_() [9/14]

void v8::internal::Assembler::or_ ( Register  dst,
int32_t  imm32 
)

Referenced by v8::internal::MacroAssembler::mov().

+ Here is the caller graph for this function:

◆ or_() [10/14]

void v8::internal::Assembler::or_ ( Register  dst,
int32_t  imm32 
)

◆ or_() [11/14]

void v8::internal::Assembler::or_ ( Register  dst,
Register  src 
)
inline

Definition at line 735 of file assembler-ia32.h.

735 { or_(dst, Operand(src)); }

References or_().

Referenced by or_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ or_() [12/14]

void v8::internal::Assembler::or_ ( Register  dst,
Register  src 
)
inline

Definition at line 720 of file assembler-x87.h.

720 { or_(dst, Operand(src)); }

References or_().

Referenced by or_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ or_() [13/14]

void v8::internal::Assembler::or_ ( Register  rd,
Register  rs,
Register  rt 
)

◆ or_() [14/14]

void v8::internal::Assembler::or_ ( Register  rd,
Register  rs,
Register  rt 
)

◆ ori() [1/2]

void v8::internal::Assembler::ori ( Register  rd,
Register  rs,
int32_t  j 
)

◆ ori() [2/2]

void v8::internal::Assembler::ori ( Register  rd,
Register  rs,
int32_t  j 
)

◆ orn()

void v8::internal::Assembler::orn ( const Register rd,
const Register rn,
const Operand operand 
)

◆ orpd() [1/2]

void v8::internal::Assembler::orpd ( XMMRegister  dst,
XMMRegister  src 
)

◆ orpd() [2/2]

void v8::internal::Assembler::orpd ( XMMRegister  dst,
XMMRegister  src 
)

◆ orps() [1/4]

void v8::internal::Assembler::orps ( XMMRegister  dst,
const Operand src 
)

◆ orps() [2/4]

void v8::internal::Assembler::orps ( XMMRegister  dst,
const Operand src 
)

◆ orps() [3/4]

void v8::internal::Assembler::orps ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 934 of file assembler-ia32.h.

934 { orps(dst, Operand(src)); }
void orps(XMMRegister dst, const Operand &src)

References orps().

Referenced by orps().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ orps() [4/4]

void v8::internal::Assembler::orps ( XMMRegister  dst,
XMMRegister  src 
)

◆ orr() [1/3]

void v8::internal::Assembler::orr ( const Register rd,
const Register rn,
const Operand operand 
)

◆ orr() [2/3]

void v8::internal::Assembler::orr ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

Referenced by orr().

+ Here is the caller graph for this function:

◆ orr() [3/3]

void v8::internal::Assembler::orr ( Register  dst,
Register  src1,
Register  src2,
SBit  s = LeaveCC,
Condition  cond = al 
)
inline

Definition at line 907 of file assembler-arm.h.

908  {
909  orr(dst, src1, Operand(src2), s, cond);
910  }
void orr(Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)

References orr().

+ Here is the call graph for this function:

◆ overflow() [1/2]

bool v8::internal::Assembler::overflow ( ) const
inline

Definition at line 1038 of file assembler-mips.h.

1038 { return pc_ >= reloc_info_writer.pos() - kGap; }

References kGap, v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ overflow() [2/2]

bool v8::internal::Assembler::overflow ( ) const
inline

Definition at line 1074 of file assembler-mips64.h.

1074 { return pc_ >= reloc_info_writer.pos() - kGap; }

References kGap, v8::internal::AssemblerBase::pc_, and reloc_info_writer.

◆ pand()

void v8::internal::Assembler::pand ( XMMRegister  dst,
XMMRegister  src 
)

◆ PatchMovwImmediate()

static Instr v8::internal::Assembler::PatchMovwImmediate ( Instr  instruction,
uint32_t  immediate 
)
static

Referenced by set_target_address_at().

+ Here is the caller graph for this function:

◆ PatchShiftImm()

static Instr v8::internal::Assembler::PatchShiftImm ( Instr  instr,
int  immed 
)
static

Referenced by set_target_address_at().

+ Here is the caller graph for this function:

◆ pc()

Instruction* v8::internal::Assembler::pc ( ) const
inline

Definition at line 1756 of file assembler-arm64.h.

1756 { return Instruction::Cast(pc_); }
static Instruction * Cast(T src)

References v8::internal::Instruction::Cast(), and v8::internal::AssemblerBase::pc_.

Referenced by break_address_from_return_address(), code_target_object_handle_at(), INLINE(), instr_at(), instr_at_put(), return_address_from_call_start(), runtime_entry_at(), set_target_address_at(), target_address_at(), target_address_from_return_address(), and target_pointer_address_at().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pcmpeqd()

void v8::internal::Assembler::pcmpeqd ( XMMRegister  dst,
XMMRegister  src 
)

◆ pextrd() [1/2]

void v8::internal::Assembler::pextrd ( const Operand dst,
XMMRegister  src,
int8_t  offset 
)

◆ pextrd() [2/2]

void v8::internal::Assembler::pextrd ( Register  dst,
XMMRegister  src,
int8_t  offset 
)
inline

Definition at line 1029 of file assembler-ia32.h.

1029  {
1030  pextrd(Operand(dst), src, offset);
1031  }
void pextrd(Register dst, XMMRegister src, int8_t offset)

◆ pinsrd() [1/2]

void v8::internal::Assembler::pinsrd ( XMMRegister  dst,
const Operand src,
int8_t  offset 
)

◆ pinsrd() [2/2]

void v8::internal::Assembler::pinsrd ( XMMRegister  dst,
Register  src,
int8_t  offset 
)
inline

Definition at line 1033 of file assembler-ia32.h.

1033  {
1034  pinsrd(dst, Operand(src), offset);
1035  }
void pinsrd(XMMRegister dst, Register src, int8_t offset)

◆ pkhbt()

void v8::internal::Assembler::pkhbt ( Register  dst,
Register  src1,
const Operand src2,
Condition  cond = al 
)

◆ pkhtb()

void v8::internal::Assembler::pkhtb ( Register  dst,
Register  src1,
const Operand src2,
Condition  cond = al 
)

◆ pld()

void v8::internal::Assembler::pld ( const MemOperand address)

◆ pop() [1/6]

void v8::internal::Assembler::pop ( )
inline

Definition at line 1314 of file assembler-arm.h.

1314  {
1315  add(sp, sp, Operand(kPointerSize));
1316  }
const Register sp

References add(), v8::internal::kPointerSize, and v8::internal::sp.

Referenced by v8::internal::MacroAssembler::Pop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pop() [2/6]

void v8::internal::Assembler::pop ( const Operand dst)

◆ pop() [3/6]

void v8::internal::Assembler::pop ( const Operand dst)

◆ pop() [4/6]

void v8::internal::Assembler::pop ( Register  dst)

◆ pop() [5/6]

void v8::internal::Assembler::pop ( Register  dst)

◆ pop() [6/6]

void v8::internal::Assembler::pop ( Register  dst,
Condition  cond = al 
)
inline

Definition at line 1310 of file assembler-arm.h.

1310  {
1311  ldr(dst, MemOperand(sp, 4, PostIndex), cond);
1312  }
void ldr(Register dst, const MemOperand &src, Condition cond=al)

References ldr(), v8::internal::PostIndex, and v8::internal::sp.

+ Here is the call graph for this function:

◆ popad() [1/2]

void v8::internal::Assembler::popad ( )

Referenced by v8::internal::MacroAssembler::PopSafepointRegisters().

+ Here is the caller graph for this function:

◆ popad() [2/2]

void v8::internal::Assembler::popad ( )

◆ popfd() [1/2]

void v8::internal::Assembler::popfd ( )

◆ popfd() [2/2]

void v8::internal::Assembler::popfd ( )

◆ popfq()

void v8::internal::Assembler::popfq ( )

◆ popq() [1/2]

void v8::internal::Assembler::popq ( const Operand dst)

◆ popq() [2/2]

void v8::internal::Assembler::popq ( Register  dst)

Referenced by v8::internal::MacroAssembler::PopReturnAddressTo().

+ Here is the caller graph for this function:

◆ PopulateConstantPool() [1/7]

void v8::internal::Assembler::PopulateConstantPool ( ConstantPoolArray constant_pool)

◆ PopulateConstantPool() [2/7]

void v8::internal::Assembler::PopulateConstantPool ( ConstantPoolArray constant_pool)

◆ PopulateConstantPool() [3/7]

void v8::internal::Assembler::PopulateConstantPool ( ConstantPoolArray constant_pool)

◆ PopulateConstantPool() [4/7]

void v8::internal::Assembler::PopulateConstantPool ( ConstantPoolArray constant_pool)

◆ PopulateConstantPool() [5/7]

void v8::internal::Assembler::PopulateConstantPool ( ConstantPoolArray constant_pool)

◆ PopulateConstantPool() [6/7]

void v8::internal::Assembler::PopulateConstantPool ( ConstantPoolArray constant_pool)

◆ PopulateConstantPool() [7/7]

void v8::internal::Assembler::PopulateConstantPool ( ConstantPoolArray constant_pool)

◆ por()

void v8::internal::Assembler::por ( XMMRegister  dst,
XMMRegister  src 
)

◆ positions_recorder() [1/7]

PositionsRecorder* v8::internal::Assembler::positions_recorder ( )
inline

Definition at line 1408 of file assembler-arm.h.

1408 { return &positions_recorder_; }
PositionsRecorder positions_recorder_

References positions_recorder_.

Referenced by v8::internal::LChunk::Codegen(), v8::internal::FullCodeGenerator::MakeCode(), v8::internal::CodeGenerator::RecordPositions(), and v8::internal::FullCodeGenerator::SetSourcePosition().

+ Here is the caller graph for this function:

◆ positions_recorder() [2/7]

PositionsRecorder* v8::internal::Assembler::positions_recorder ( )
inline

Definition at line 1008 of file assembler-arm64.h.

1008 { return &positions_recorder_; }

References positions_recorder_.

◆ positions_recorder() [3/7]

PositionsRecorder* v8::internal::Assembler::positions_recorder ( )
inline

Definition at line 1080 of file assembler-ia32.h.

1080 { return &positions_recorder_; }

References positions_recorder_.

◆ positions_recorder() [4/7]

PositionsRecorder* v8::internal::Assembler::positions_recorder ( )
inline

Definition at line 1029 of file assembler-mips.h.

1029 { return &positions_recorder_; }

References positions_recorder_.

◆ positions_recorder() [5/7]

PositionsRecorder* v8::internal::Assembler::positions_recorder ( )
inline

Definition at line 1065 of file assembler-mips64.h.

1065 { return &positions_recorder_; }

References positions_recorder_.

◆ positions_recorder() [6/7]

PositionsRecorder* v8::internal::Assembler::positions_recorder ( )
inline

Definition at line 1131 of file assembler-x64.h.

1131 { return &positions_recorder_; }

References positions_recorder_.

◆ positions_recorder() [7/7]

PositionsRecorder* v8::internal::Assembler::positions_recorder ( )
inline

Definition at line 952 of file assembler-x87.h.

952 { return &positions_recorder_; }

References positions_recorder_.

◆ pref() [1/2]

void v8::internal::Assembler::pref ( int32_t  hint,
const MemOperand rs 
)

◆ pref() [2/2]

void v8::internal::Assembler::pref ( int32_t  hint,
const MemOperand rs 
)

◆ prefetch()

void v8::internal::Assembler::prefetch ( const Operand src,
int  level 
)

◆ Print()

void v8::internal::Assembler::Print ( )

◆ print() [1/5]

void v8::internal::Assembler::print ( Label *  L)
private

◆ print() [2/5]

void v8::internal::Assembler::print ( Label *  L)
private

◆ print() [3/5]

void v8::internal::Assembler::print ( Label *  L)
private

◆ print() [4/5]

void v8::internal::Assembler::print ( Label *  L)
private

◆ print() [5/5]

void v8::internal::Assembler::print ( Label *  L)
private

◆ pshufd()

void v8::internal::Assembler::pshufd ( XMMRegister  dst,
XMMRegister  src,
uint8_t  shuffle 
)

◆ psllq() [1/3]

void v8::internal::Assembler::psllq ( XMMRegister  dst,
XMMRegister  src 
)

◆ psllq() [2/3]

void v8::internal::Assembler::psllq ( XMMRegister  reg,
byte  imm8 
)

◆ psllq() [3/3]

void v8::internal::Assembler::psllq ( XMMRegister  reg,
int8_t  shift 
)

◆ psrlq() [1/2]

void v8::internal::Assembler::psrlq ( XMMRegister  dst,
XMMRegister  src 
)

◆ psrlq() [2/2]

void v8::internal::Assembler::psrlq ( XMMRegister  reg,
int8_t  shift 
)

◆ ptest()

void v8::internal::Assembler::ptest ( XMMRegister  dst,
XMMRegister  src 
)

◆ push() [1/7]

void v8::internal::Assembler::push ( const Immediate x)

◆ push() [2/7]

void v8::internal::Assembler::push ( const Immediate x)

◆ push() [3/7]

void v8::internal::Assembler::push ( const Operand src)

◆ push() [4/7]

void v8::internal::Assembler::push ( const Operand src)

◆ push() [5/7]

void v8::internal::Assembler::push ( Register  src)

◆ push() [6/7]

void v8::internal::Assembler::push ( Register  src)

◆ push() [7/7]

void v8::internal::Assembler::push ( Register  src,
Condition  cond = al 
)
inline

Definition at line 1306 of file assembler-arm.h.

1306  {
1307  str(src, MemOperand(sp, 4, NegPreIndex), cond);
1308  }
void str(Register src, const MemOperand &dst, Condition cond=al)

References v8::internal::NegPreIndex, v8::internal::sp, and str().

+ Here is the call graph for this function:

◆ push_imm32() [1/2]

void v8::internal::Assembler::push_imm32 ( int32_t  imm32)

◆ push_imm32() [2/2]

void v8::internal::Assembler::push_imm32 ( int32_t  imm32)

◆ pushad() [1/2]

void v8::internal::Assembler::pushad ( )

Referenced by v8::internal::MacroAssembler::PushSafepointRegisters().

+ Here is the caller graph for this function:

◆ pushad() [2/2]

void v8::internal::Assembler::pushad ( )

◆ pushfd() [1/2]

void v8::internal::Assembler::pushfd ( )

◆ pushfd() [2/2]

void v8::internal::Assembler::pushfd ( )

◆ pushfq()

void v8::internal::Assembler::pushfq ( )

◆ pushq() [1/3]

void v8::internal::Assembler::pushq ( const Operand src)

◆ pushq() [2/3]

void v8::internal::Assembler::pushq ( Immediate  value)

Referenced by v8::internal::MacroAssembler::PushReturnAddressFrom().

+ Here is the caller graph for this function:

◆ pushq() [3/3]

void v8::internal::Assembler::pushq ( Register  src)

◆ pushq_imm32()

void v8::internal::Assembler::pushq_imm32 ( int32_t  imm32)

◆ pxor()

void v8::internal::Assembler::pxor ( XMMRegister  dst,
XMMRegister  src 
)

◆ QuietNaN() [1/2]

static void v8::internal::Assembler::QuietNaN ( HeapObject nan)
static

Referenced by v8::internal::Isolate::Init().

+ Here is the caller graph for this function:

◆ QuietNaN() [2/2]

static void v8::internal::Assembler::QuietNaN ( HeapObject nan)
static

◆ Ra()

static Instr v8::internal::Assembler::Ra ( CPURegister  ra)
inlinestatic

Definition at line 1782 of file assembler-arm64.h.

1782  {
1783  DCHECK(ra.code() != kSPRegInternalCode);
1784  return ra.code() << Ra_offset;
1785  }
const unsigned kSPRegInternalCode

References v8::internal::CPURegister::code(), DCHECK, and v8::internal::kSPRegInternalCode.

+ Here is the call graph for this function:

◆ rbit()

void v8::internal::Assembler::rbit ( const Register rd,
const Register rn 
)

Referenced by v8::internal::MacroAssembler::Rbit().

+ Here is the caller graph for this function:

◆ rcl() [1/2]

void v8::internal::Assembler::rcl ( Register  dst,
uint8_t  imm8 
)

◆ rcl() [2/2]

void v8::internal::Assembler::rcl ( Register  dst,
uint8_t  imm8 
)

◆ rcr() [1/2]

void v8::internal::Assembler::rcr ( Register  dst,
uint8_t  imm8 
)

◆ rcr() [2/2]

void v8::internal::Assembler::rcr ( Register  dst,
uint8_t  imm8 
)

◆ Rd()

static Instr v8::internal::Assembler::Rd ( CPURegister  rd)
inlinestatic

Definition at line 1767 of file assembler-arm64.h.

1767  {
1768  DCHECK(rd.code() != kSPRegInternalCode);
1769  return rd.code() << Rd_offset;
1770  }

References v8::internal::CPURegister::code(), DCHECK, and v8::internal::kSPRegInternalCode.

+ Here is the call graph for this function:

◆ RdSP()

static Instr v8::internal::Assembler::RdSP ( Register  rd)
inlinestatic

Definition at line 1799 of file assembler-arm64.h.

1799  {
1800  DCHECK(!rd.IsZero());
1801  return (rd.code() & kRegCodeMask) << Rd_offset;
1802  }
const unsigned kRegCodeMask

References v8::internal::Register::code(), DCHECK, v8::internal::CPURegister::IsZero(), and v8::internal::kRegCodeMask.

+ Here is the call graph for this function:

◆ RecordComment() [1/7]

void v8::internal::Assembler::RecordComment ( const char *  msg)

◆ RecordComment() [2/7]

void v8::internal::Assembler::RecordComment ( const char *  msg)

◆ RecordComment() [3/7]

void v8::internal::Assembler::RecordComment ( const char *  msg)

◆ RecordComment() [4/7]

void v8::internal::Assembler::RecordComment ( const char *  msg)

◆ RecordComment() [5/7]

void v8::internal::Assembler::RecordComment ( const char *  msg,
bool  force = false 
)

◆ RecordComment() [6/7]

void v8::internal::Assembler::RecordComment ( const char *  msg,
bool  force = false 
)

◆ RecordComment() [7/7]

void v8::internal::Assembler::RecordComment ( const char *  msg,
bool  force = false 
)

◆ RecordConstPool() [1/2]

void v8::internal::Assembler::RecordConstPool ( int  size)

◆ RecordConstPool() [2/2]

void v8::internal::Assembler::RecordConstPool ( int  size)

◆ RecordDebugBreakSlot() [1/7]

void v8::internal::Assembler::RecordDebugBreakSlot ( )

◆ RecordDebugBreakSlot() [2/7]

void v8::internal::Assembler::RecordDebugBreakSlot ( )

◆ RecordDebugBreakSlot() [3/7]

void v8::internal::Assembler::RecordDebugBreakSlot ( )

◆ RecordDebugBreakSlot() [4/7]

void v8::internal::Assembler::RecordDebugBreakSlot ( )

◆ RecordDebugBreakSlot() [5/7]

void v8::internal::Assembler::RecordDebugBreakSlot ( )

◆ RecordDebugBreakSlot() [6/7]

void v8::internal::Assembler::RecordDebugBreakSlot ( )

◆ RecordDebugBreakSlot() [7/7]

void v8::internal::Assembler::RecordDebugBreakSlot ( )

◆ RecordedAstId() [1/4]

TypeFeedbackId v8::internal::Assembler::RecordedAstId ( )
inline

Definition at line 1368 of file assembler-arm.h.

1368  {
1370  return recorded_ast_id_;
1371  }

References DCHECK, v8::internal::TypeFeedbackId::IsNone(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ RecordedAstId() [2/4]

TypeFeedbackId v8::internal::Assembler::RecordedAstId ( )
inlineprivate

◆ RecordedAstId() [3/4]

TypeFeedbackId v8::internal::Assembler::RecordedAstId ( )
inline

Definition at line 1008 of file assembler-mips.h.

1008  {
1010  return recorded_ast_id_;
1011  }

References DCHECK, v8::internal::TypeFeedbackId::IsNone(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ RecordedAstId() [4/4]

TypeFeedbackId v8::internal::Assembler::RecordedAstId ( )
inline

Definition at line 1044 of file assembler-mips64.h.

1044  {
1046  return recorded_ast_id_;
1047  }

References DCHECK, v8::internal::TypeFeedbackId::IsNone(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ RecordJSReturn() [1/7]

void v8::internal::Assembler::RecordJSReturn ( )

◆ RecordJSReturn() [2/7]

void v8::internal::Assembler::RecordJSReturn ( )

◆ RecordJSReturn() [3/7]

void v8::internal::Assembler::RecordJSReturn ( )

◆ RecordJSReturn() [4/7]

void v8::internal::Assembler::RecordJSReturn ( )

◆ RecordJSReturn() [5/7]

void v8::internal::Assembler::RecordJSReturn ( )

◆ RecordJSReturn() [6/7]

void v8::internal::Assembler::RecordJSReturn ( )

◆ RecordJSReturn() [7/7]

void v8::internal::Assembler::RecordJSReturn ( )

◆ RecordLiteral()

void v8::internal::Assembler::RecordLiteral ( int64_t  imm,
unsigned  size 
)
private

◆ RecordRelocInfo() [1/8]

void v8::internal::Assembler::RecordRelocInfo ( const RelocInfo rinfo)
private

◆ RecordRelocInfo() [2/8]

void v8::internal::Assembler::RecordRelocInfo ( RelocInfo::Mode  rmode,
intptr_t  data = 0 
)
private

Referenced by emit(), emit_code_target(), emit_runtime_entry(), and emitp().

+ Here is the caller graph for this function:

◆ RecordRelocInfo() [3/8]

void v8::internal::Assembler::RecordRelocInfo ( RelocInfo::Mode  rmode,
intptr_t  data = 0 
)

◆ RecordRelocInfo() [4/8]

void v8::internal::Assembler::RecordRelocInfo ( RelocInfo::Mode  rmode,
intptr_t  data = 0 
)
private

◆ RecordRelocInfo() [5/8]

void v8::internal::Assembler::RecordRelocInfo ( RelocInfo::Mode  rmode,
intptr_t  data = 0 
)
protected

◆ RecordRelocInfo() [6/8]

void v8::internal::Assembler::RecordRelocInfo ( RelocInfo::Mode  rmode,
intptr_t  data = 0 
)
protected

◆ RecordRelocInfo() [7/8]

void v8::internal::Assembler::RecordRelocInfo ( RelocInfo::Mode  rmode,
intptr_t  data = 0 
)
private

◆ RecordRelocInfo() [8/8]

void v8::internal::Assembler::RecordRelocInfo ( RelocInfo::Mode  rmode,
intptr_t  data = 0 
)
private

◆ RecordVeneerPool()

void v8::internal::Assembler::RecordVeneerPool ( int  location_offset,
int  size 
)

◆ RelocateInternalReference() [1/2]

static int v8::internal::Assembler::RelocateInternalReference ( byte pc,
intptr_t  pc_delta 
)
static

◆ RelocateInternalReference() [2/2]

static int v8::internal::Assembler::RelocateInternalReference ( byte pc,
intptr_t  pc_delta 
)
static

◆ relocation_writer_size() [1/2]

int v8::internal::Assembler::relocation_writer_size ( )
inline

Definition at line 1082 of file assembler-ia32.h.

1082  {
1083  return (buffer_ + buffer_size_) - reloc_info_writer.pos();
1084  }

References v8::internal::AssemblerBase::buffer_, v8::internal::AssemblerBase::buffer_size_, and reloc_info_writer.

◆ relocation_writer_size() [2/2]

int v8::internal::Assembler::relocation_writer_size ( )
inline

◆ RelocInfoNone()

static RelocInfo::Mode v8::internal::Assembler::RelocInfoNone ( )
inlinestatic

Definition at line 557 of file assembler-x64.h.

557  {
558  if (kPointerSize == kInt64Size) {
559  return RelocInfo::NONE64;
560  } else {
562  return RelocInfo::NONE32;
563  }
564  }

References DCHECK, v8::internal::kInt32Size, v8::internal::kInt64Size, v8::internal::kPointerSize, v8::internal::RelocInfo::NONE32, and v8::internal::RelocInfo::NONE64.

Referenced by v8::internal::MacroAssembler::InitializeSmiConstantRegister().

+ Here is the caller graph for this function:

◆ RemoveBranchFromLabelLinkChain()

void v8::internal::Assembler::RemoveBranchFromLabelLinkChain ( Instruction branch,
Label *  label,
Instruction label_veneer = NULL 
)
protected

◆ rep_movs() [1/2]

void v8::internal::Assembler::rep_movs ( )

◆ rep_movs() [2/2]

void v8::internal::Assembler::rep_movs ( )

◆ rep_stos() [1/2]

void v8::internal::Assembler::rep_stos ( )

◆ rep_stos() [2/2]

void v8::internal::Assembler::rep_stos ( )

◆ repmovsb()

void v8::internal::Assembler::repmovsb ( )

◆ repmovsl()

void v8::internal::Assembler::repmovsl ( )
inline

Definition at line 746 of file assembler-x64.h.

void emit_repmovs(int size)

References emit_repmovs(), and v8::internal::kInt32Size.

+ Here is the call graph for this function:

◆ repmovsp()

void v8::internal::Assembler::repmovsp ( )
inline

Definition at line 745 of file assembler-x64.h.

References emit_repmovs(), and v8::internal::kPointerSize.

+ Here is the call graph for this function:

◆ repmovsq()

void v8::internal::Assembler::repmovsq ( )
inline

Definition at line 747 of file assembler-x64.h.

References emit_repmovs(), and v8::internal::kInt64Size.

+ Here is the call graph for this function:

◆ repmovsw()

void v8::internal::Assembler::repmovsw ( )

◆ Reset()

void v8::internal::Assembler::Reset ( )

◆ ret() [1/4]

void v8::internal::Assembler::ret ( const Register xn = lr)

Referenced by v8::internal::MacroAssembler::Ret(), and target_address_at().

+ Here is the caller graph for this function:

◆ ret() [2/4]

void v8::internal::Assembler::ret ( int  imm16)

◆ ret() [3/4]

void v8::internal::Assembler::ret ( int  imm16)

◆ ret() [4/4]

void v8::internal::Assembler::ret ( int  imm16)

◆ return_address_from_call_start()

Address v8::internal::Assembler::return_address_from_call_start ( Address  pc)
inlinestatic

Definition at line 494 of file assembler-arm-inl.h.

494  {
497  // Load from constant pool, small section.
498  return pc + kInstrSize * 2;
499  } else {
504  // Load from constant pool, extended section.
505  return pc + kInstrSize * 4;
506  } else {
507  // A movw / movt load immediate.
508  return pc + kInstrSize * 3;
509  }
510  } else {
516  // Load from constant pool, extended section.
517  return pc + kInstrSize * 6;
518  } else {
519  // A mov / orr load immediate.
520  return pc + kInstrSize * 5;
521  }
522  }
523  }
524 }
static bool IsMovImmed(Instr instr)
static bool IsMovW(Instr instr)
static bool IsMovT(Instr instr)
static bool IsOrrImmed(Instr instr)
static bool IsLdrPpRegOffset(Instr instr)
static bool IsLdrPcImmediateOffset(Instr instr)
static bool IsLdrPpImmediateOffset(Instr instr)
static bool IsSupported(CpuFeature f)
Definition: assembler.h:184

References v8::internal::ARMv7, DCHECK, v8::internal::Memory::int32_at(), IsLdrPcImmediateOffset(), IsLdrPpImmediateOffset(), IsLdrPpRegOffset(), IsMovImmed(), IsMovT(), IsMovW(), IsOrrImmed(), v8::internal::CpuFeatures::IsSupported(), kInstrSize, and pc().

+ Here is the call graph for this function:

◆ rev()

void v8::internal::Assembler::rev ( const Register rd,
const Register rn 
)

Referenced by v8::internal::MacroAssembler::Rev().

+ Here is the caller graph for this function:

◆ rev16()

void v8::internal::Assembler::rev16 ( const Register rd,
const Register rn 
)

Referenced by v8::internal::MacroAssembler::Rev16().

+ Here is the caller graph for this function:

◆ rev32()

void v8::internal::Assembler::rev32 ( const Register rd,
const Register rn 
)

Referenced by v8::internal::MacroAssembler::Rev32().

+ Here is the caller graph for this function:

◆ Rm()

static Instr v8::internal::Assembler::Rm ( CPURegister  rm)
inlinestatic

Definition at line 1777 of file assembler-arm64.h.

1777  {
1778  DCHECK(rm.code() != kSPRegInternalCode);
1779  return rm.code() << Rm_offset;
1780  }

References v8::internal::CPURegister::code(), DCHECK, and v8::internal::kSPRegInternalCode.

+ Here is the call graph for this function:

◆ Rn()

static Instr v8::internal::Assembler::Rn ( CPURegister  rn)
inlinestatic

Definition at line 1772 of file assembler-arm64.h.

1772  {
1773  DCHECK(rn.code() != kSPRegInternalCode);
1774  return rn.code() << Rn_offset;
1775  }

References v8::internal::CPURegister::code(), DCHECK, and v8::internal::kSPRegInternalCode.

Referenced by Unreachable().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RnSP()

static Instr v8::internal::Assembler::RnSP ( Register  rn)
inlinestatic

Definition at line 1804 of file assembler-arm64.h.

1804  {
1805  DCHECK(!rn.IsZero());
1806  return (rn.code() & kRegCodeMask) << Rn_offset;
1807  }

References v8::internal::Register::code(), DCHECK, v8::internal::CPURegister::IsZero(), and v8::internal::kRegCodeMask.

+ Here is the call graph for this function:

◆ ror() [1/3]

void v8::internal::Assembler::ror ( const Register rd,
const Register rs,
unsigned  shift 
)
inline

Definition at line 1377 of file assembler-arm64.h.

1377  {
1378  extr(rd, rs, rs, shift);
1379  }
void extr(const Register &rd, const Register &rn, const Register &rm, unsigned lsb)

References extr(), and shift().

Referenced by v8::internal::MacroAssembler::Ror().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ror() [2/3]

void v8::internal::Assembler::ror ( Register  dst,
uint8_t  imm8 
)

◆ ror() [3/3]

void v8::internal::Assembler::ror ( Register  dst,
uint8_t  imm8 
)

◆ ror_cl() [1/2]

void v8::internal::Assembler::ror_cl ( Register  dst)

◆ ror_cl() [2/2]

void v8::internal::Assembler::ror_cl ( Register  dst)

◆ rorv()

void v8::internal::Assembler::rorv ( const Register rd,
const Register rn,
const Register rm 
)

Referenced by v8::internal::MacroAssembler::Ror().

+ Here is the caller graph for this function:

◆ rotr() [1/2]

void v8::internal::Assembler::rotr ( Register  rd,
Register  rt,
uint16_t  sa 
)

◆ rotr() [2/2]

void v8::internal::Assembler::rotr ( Register  rd,
Register  rt,
uint16_t  sa 
)

◆ rotrv() [1/2]

void v8::internal::Assembler::rotrv ( Register  rd,
Register  rt,
Register  rs 
)

◆ rotrv() [2/2]

void v8::internal::Assembler::rotrv ( Register  rd,
Register  rt,
Register  rs 
)

◆ round_l_d() [1/2]

void v8::internal::Assembler::round_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ round_l_d() [2/2]

void v8::internal::Assembler::round_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ round_l_s() [1/2]

void v8::internal::Assembler::round_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ round_l_s() [2/2]

void v8::internal::Assembler::round_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ round_w_d() [1/2]

void v8::internal::Assembler::round_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ round_w_d() [2/2]

void v8::internal::Assembler::round_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ round_w_s() [1/2]

void v8::internal::Assembler::round_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ round_w_s() [2/2]

void v8::internal::Assembler::round_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ roundsd() [1/2]

void v8::internal::Assembler::roundsd ( XMMRegister  dst,
XMMRegister  src,
RoundingMode  mode 
)

◆ roundsd() [2/2]

void v8::internal::Assembler::roundsd ( XMMRegister  dst,
XMMRegister  src,
RoundingMode  mode 
)

◆ rsb()

void v8::internal::Assembler::rsb ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ rsc()

void v8::internal::Assembler::rsc ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ Rt()

static Instr v8::internal::Assembler::Rt ( CPURegister  rt)
inlinestatic

Definition at line 1787 of file assembler-arm64.h.

1787  {
1788  DCHECK(rt.code() != kSPRegInternalCode);
1789  return rt.code() << Rt_offset;
1790  }

References v8::internal::CPURegister::code(), DCHECK, and v8::internal::kSPRegInternalCode.

+ Here is the call graph for this function:

◆ Rt2()

static Instr v8::internal::Assembler::Rt2 ( CPURegister  rt2)
inlinestatic

Definition at line 1792 of file assembler-arm64.h.

1792  {
1793  DCHECK(rt2.code() != kSPRegInternalCode);
1794  return rt2.code() << Rt2_offset;
1795  }

References v8::internal::CPURegister::code(), DCHECK, and v8::internal::kSPRegInternalCode.

+ Here is the call graph for this function:

◆ runtime_entry_at()

Address v8::internal::Assembler::runtime_entry_at ( Address  pc)
inline

Definition at line 219 of file assembler-x64-inl.h.

219  {
220  return Memory::int32_at(pc) + isolate()->code_range()->start();
221 }
CodeRange * code_range()
Definition: isolate.h:863

References v8::internal::Isolate::code_range(), v8::internal::Memory::int32_at(), v8::internal::AssemblerBase::isolate(), pc(), and v8::internal::CodeRange::start().

+ Here is the call graph for this function:

◆ sahf() [1/3]

void v8::internal::Assembler::sahf ( )

◆ sahf() [2/3]

void v8::internal::Assembler::sahf ( )

◆ sahf() [3/3]

void v8::internal::Assembler::sahf ( )

◆ sar() [1/4]

void v8::internal::Assembler::sar ( const Operand dst,
uint8_t  imm8 
)

◆ sar() [2/4]

void v8::internal::Assembler::sar ( const Operand dst,
uint8_t  imm8 
)

◆ sar() [3/4]

void v8::internal::Assembler::sar ( Register  dst,
uint8_t  imm8 
)
inline

Definition at line 746 of file assembler-ia32.h.

746 { sar(Operand(dst), imm8); }
void sar(Register dst, uint8_t imm8)

References sar().

Referenced by v8::internal::MacroAssembler::DecodeField(), v8::internal::MacroAssembler::DecodeFieldToSmi(), sar(), and v8::internal::MacroAssembler::SmiUntag().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sar() [4/4]

void v8::internal::Assembler::sar ( Register  dst,
uint8_t  imm8 
)
inline

Definition at line 731 of file assembler-x87.h.

731 { sar(Operand(dst), imm8); }

References sar().

Referenced by sar().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sar_cl() [1/4]

void v8::internal::Assembler::sar_cl ( const Operand dst)

◆ sar_cl() [2/4]

void v8::internal::Assembler::sar_cl ( const Operand dst)

◆ sar_cl() [3/4]

void v8::internal::Assembler::sar_cl ( Register  dst)
inline

Definition at line 748 of file assembler-ia32.h.

748 { sar_cl(Operand(dst)); }
void sar_cl(Register dst)

References sar_cl().

Referenced by sar_cl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sar_cl() [4/4]

void v8::internal::Assembler::sar_cl ( Register  dst)
inline

Definition at line 733 of file assembler-x87.h.

733 { sar_cl(Operand(dst)); }

References sar_cl().

Referenced by sar_cl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sb() [1/2]

void v8::internal::Assembler::sb ( Register  rd,
const MemOperand rs 
)

◆ sb() [2/2]

void v8::internal::Assembler::sb ( Register  rd,
const MemOperand rs 
)

◆ sbb() [1/2]

void v8::internal::Assembler::sbb ( Register  dst,
const Operand src 
)

◆ sbb() [2/2]

void v8::internal::Assembler::sbb ( Register  dst,
const Operand src 
)

◆ sbc() [1/2]

void v8::internal::Assembler::sbc ( const Register rd,
const Register rn,
const Operand operand 
)

◆ sbc() [2/2]

void v8::internal::Assembler::sbc ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ sbcs()

void v8::internal::Assembler::sbcs ( const Register rd,
const Register rn,
const Operand operand 
)

◆ sbfiz()

void v8::internal::Assembler::sbfiz ( const Register rd,
const Register rn,
unsigned  lsb,
unsigned  width 
)
inline

Definition at line 1248 of file assembler-arm64.h.

1251  {
1252  DCHECK(width >= 1);
1253  DCHECK(lsb + width <= rn.SizeInBits());
1254  sbfm(rd, rn, (rd.SizeInBits() - lsb) & (rd.SizeInBits() - 1), width - 1);
1255  }

References DCHECK, sbfm(), and v8::internal::CPURegister::SizeInBits().

Referenced by v8::internal::MacroAssembler::Sbfiz().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sbfm()

void v8::internal::Assembler::sbfm ( const Register rd,
const Register rn,
unsigned  immr,
unsigned  imms 
)

Referenced by asr(), sbfiz(), sbfx(), sxtb(), sxth(), and sxtw().

+ Here is the caller graph for this function:

◆ sbfx() [1/2]

void v8::internal::Assembler::sbfx ( const Register rd,
const Register rn,
unsigned  lsb,
unsigned  width 
)
inline

Definition at line 1258 of file assembler-arm64.h.

1261  {
1262  DCHECK(width >= 1);
1263  DCHECK(lsb + width <= rn.SizeInBits());
1264  sbfm(rd, rn, lsb, lsb + width - 1);
1265  }

References DCHECK, sbfm(), and v8::internal::CPURegister::SizeInBits().

+ Here is the call graph for this function:

◆ sbfx() [2/2]

void v8::internal::Assembler::sbfx ( Register  dst,
Register  src,
int  lsb,
int  width,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Sbfx().

+ Here is the caller graph for this function:

◆ scvtf()

void v8::internal::Assembler::scvtf ( const FPRegister fd,
const Register rn,
unsigned  fbits = 0 
)

Referenced by v8::internal::MacroAssembler::Scvtf().

+ Here is the caller graph for this function:

◆ sd()

void v8::internal::Assembler::sd ( Register  rd,
const MemOperand rs 
)

Referenced by v8::internal::MacroAssembler::push(), and v8::internal::MacroAssembler::Push().

+ Here is the caller graph for this function:

◆ sdc1() [1/2]

void v8::internal::Assembler::sdc1 ( FPURegister  fs,
const MemOperand dst 
)

◆ sdc1() [2/2]

void v8::internal::Assembler::sdc1 ( FPURegister  fs,
const MemOperand dst 
)

◆ sdiv() [1/2]

void v8::internal::Assembler::sdiv ( const Register rd,
const Register rn,
const Register rm 
)

◆ sdiv() [2/2]

void v8::internal::Assembler::sdiv ( Register  dst,
Register  src1,
Register  src2,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Sdiv().

+ Here is the caller graph for this function:

◆ sdl()

void v8::internal::Assembler::sdl ( Register  rd,
const MemOperand rs 
)

◆ sdr()

void v8::internal::Assembler::sdr ( Register  rd,
const MemOperand rs 
)

◆ sel() [1/2]

void v8::internal::Assembler::sel ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs,
uint8_t  sel 
)

◆ sel() [2/2]

void v8::internal::Assembler::sel ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs,
uint8_t  sel 
)

◆ seleqz() [1/4]

void v8::internal::Assembler::seleqz ( Register  rs,
Register  rt,
Register  rd 
)

◆ seleqz() [2/4]

void v8::internal::Assembler::seleqz ( Register  rs,
Register  rt,
Register  rd 
)

◆ seleqz() [3/4]

void v8::internal::Assembler::seleqz ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ seleqz() [4/4]

void v8::internal::Assembler::seleqz ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ selnez() [1/4]

void v8::internal::Assembler::selnez ( Register  rs,
Register  rt,
Register  rd 
)

◆ selnez() [2/4]

void v8::internal::Assembler::selnez ( Register  rs,
Register  rt,
Register  rd 
)

◆ selnez() [3/4]

void v8::internal::Assembler::selnez ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ selnez() [4/4]

void v8::internal::Assembler::selnez ( SecondaryField  fmt,
FPURegister  fd,
FPURegister  ft,
FPURegister  fs 
)

◆ set_byte_at() [1/3]

void v8::internal::Assembler::set_byte_at ( int  pos,
byte  value 
)
inline

Definition at line 1090 of file assembler-ia32.h.

1090 { buffer_[pos] = value; }

References v8::internal::AssemblerBase::buffer_.

◆ set_byte_at() [2/3]

void v8::internal::Assembler::set_byte_at ( int  pos,
byte  value 
)
inline

Definition at line 1151 of file assembler-x64.h.

1151 { buffer_[pos] = value; }

References v8::internal::AssemblerBase::buffer_.

◆ set_byte_at() [3/3]

void v8::internal::Assembler::set_byte_at ( int  pos,
byte  value 
)
inline

Definition at line 962 of file assembler-x87.h.

962 { buffer_[pos] = value; }

References v8::internal::AssemblerBase::buffer_.

◆ set_constant_pool_available()

void v8::internal::Assembler::set_constant_pool_available ( bool  available)
inlineprotected

Definition at line 1552 of file assembler-arm.h.

1552  {
1554  }
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if available(X64 only)") DEFINE_BOOL(enable_vfp3

References available(), and constant_pool_available_.

Referenced by v8::internal::ConstantPoolUnavailableScope::ConstantPoolUnavailableScope(), v8::internal::FrameAndConstantPoolScope::FrameAndConstantPoolScope(), v8::internal::ConstantPoolUnavailableScope::~ConstantPoolUnavailableScope(), and v8::internal::FrameAndConstantPoolScope::~FrameAndConstantPoolScope().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_target_address_at() [1/10]

static void v8::internal::Assembler::set_target_address_at ( Address  pc,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
static

◆ set_target_address_at() [2/10]

static void v8::internal::Assembler::set_target_address_at ( Address  pc,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
static

◆ set_target_address_at() [3/10]

void v8::internal::Assembler::set_target_address_at ( Address  pc,
Code code,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
inlinestatic

Definition at line 673 of file assembler-arm64-inl.h.

676  {
677  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
678  set_target_address_at(pc, constant_pool, target, icache_flush_mode);
679 }

References v8::internal::Code::constant_pool(), NULL, pc(), and set_target_address_at().

+ Here is the call graph for this function:

◆ set_target_address_at() [4/10]

static void v8::internal::Assembler::set_target_address_at ( Address  pc,
Code code,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
inlinestatic

Definition at line 514 of file assembler-ia32.h.

518  {
519  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
520  set_target_address_at(pc, constant_pool, target);
521  }

References v8::internal::Code::constant_pool(), NULL, pc(), and set_target_address_at().

+ Here is the call graph for this function:

◆ set_target_address_at() [5/10]

static void v8::internal::Assembler::set_target_address_at ( Address  pc,
Code code,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
inlinestatic

Definition at line 534 of file assembler-x64.h.

538  {
539  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
540  set_target_address_at(pc, constant_pool, target, icache_flush_mode);
541  }

References v8::internal::Code::constant_pool(), NULL, pc(), and set_target_address_at().

+ Here is the call graph for this function:

◆ set_target_address_at() [6/10]

static void v8::internal::Assembler::set_target_address_at ( Address  pc,
Code code,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
inlinestatic

Definition at line 505 of file assembler-x87.h.

509  {
510  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
511  set_target_address_at(pc, constant_pool, target);
512  }

References v8::internal::Code::constant_pool(), NULL, pc(), and set_target_address_at().

+ Here is the call graph for this function:

◆ set_target_address_at() [7/10]

void v8::internal::Assembler::set_target_address_at ( Address  pc,
ConstantPoolArray constant_pool,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
inlinestatic

Definition at line 623 of file assembler-arm-inl.h.

626  {
627  if (is_constant_pool_load(pc)) {
628  // This is a constant pool lookup. Update the entry in the constant pool.
629  Memory::Address_at(constant_pool_entry_address(pc, constant_pool)) = target;
630  // Intuitively, we would think it is necessary to always flush the
631  // instruction cache after patching a target address in the code as follows:
632  // CpuFeatures::FlushICache(pc, sizeof(target));
633  // However, on ARM, no instruction is actually patched in the case
634  // of embedded constants of the form:
635  // ldr ip, [pp, #...]
636  // since the instruction accessing this address in the constant pool remains
637  // unchanged.
638  } else if (CpuFeatures::IsSupported(ARMv7)) {
639  // This is an movw / movt immediate load. Patch the immediate embedded in
640  // the instructions.
643  uint32_t* instr_ptr = reinterpret_cast<uint32_t*>(pc);
644  uint32_t immediate = reinterpret_cast<uint32_t>(target);
645  instr_ptr[0] = PatchMovwImmediate(instr_ptr[0], immediate & 0xFFFF);
646  instr_ptr[1] = PatchMovwImmediate(instr_ptr[1], immediate >> 16);
649  if (icache_flush_mode != SKIP_ICACHE_FLUSH) {
651  }
652  } else {
653  // This is an mov / orr immediate load. Patch the immediate embedded in
654  // the instructions.
659  uint32_t* instr_ptr = reinterpret_cast<uint32_t*>(pc);
660  uint32_t immediate = reinterpret_cast<uint32_t>(target);
661  instr_ptr[0] = PatchShiftImm(instr_ptr[0], immediate & kImm8Mask);
662  instr_ptr[1] = PatchShiftImm(instr_ptr[1], immediate & (kImm8Mask << 8));
663  instr_ptr[2] = PatchShiftImm(instr_ptr[2], immediate & (kImm8Mask << 16));
664  instr_ptr[3] = PatchShiftImm(instr_ptr[3], immediate & (kImm8Mask << 24));
669  if (icache_flush_mode != SKIP_ICACHE_FLUSH) {
671  }
672  }
673 }
static Instr PatchShiftImm(Instr instr, int immed)
static Instr PatchMovwImmediate(Instr instruction, uint32_t immediate)
static void FlushICache(void *start, size_t size)
@ SKIP_ICACHE_FLUSH
Definition: assembler.h:293

References v8::internal::Memory::Address_at(), v8::internal::ARMv7, DCHECK, v8::internal::CpuFeatures::FlushICache(), v8::internal::Memory::int32_at(), IsMovImmed(), IsMovT(), IsMovW(), IsOrrImmed(), v8::internal::CpuFeatures::IsSupported(), v8::internal::kImm8Mask, kInstrSize, PatchMovwImmediate(), PatchShiftImm(), pc(), and v8::internal::SKIP_ICACHE_FLUSH.

Referenced by deserialization_set_special_target_at(), INLINE(), set_target_address_at(), and v8::internal::IC::SetTargetAtAddress().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_target_address_at() [8/10]

static void v8::internal::Assembler::set_target_address_at ( Address  pc,
ConstantPoolArray constant_pool,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
inlinestatic

◆ set_target_address_at() [9/10]

static void v8::internal::Assembler::set_target_address_at ( Address  pc,
ConstantPoolArray constant_pool,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
inlinestatic

◆ set_target_address_at() [10/10]

static void v8::internal::Assembler::set_target_address_at ( Address  pc,
ConstantPoolArray constant_pool,
Address  target,
ICacheFlushMode  icache_flush_mode = FLUSH_ICACHE_IF_NEEDED 
)
inlinestatic

◆ SetAddImmediateOffset() [1/2]

static Instr v8::internal::Assembler::SetAddImmediateOffset ( Instr  instr,
int16_t  offset 
)
static

◆ SetAddImmediateOffset() [2/2]

static Instr v8::internal::Assembler::SetAddImmediateOffset ( Instr  instr,
int16_t  offset 
)
static

◆ SetAddRegisterImmediateOffset()

static Instr v8::internal::Assembler::SetAddRegisterImmediateOffset ( Instr  instr,
int  offset 
)
static

◆ setcc() [1/3]

void v8::internal::Assembler::setcc ( Condition  cc,
Register  reg 
)

◆ setcc() [2/3]

void v8::internal::Assembler::setcc ( Condition  cc,
Register  reg 
)

◆ setcc() [3/3]

void v8::internal::Assembler::setcc ( Condition  cc,
Register  reg 
)

◆ SetLdrRegisterImmediateOffset()

static Instr v8::internal::Assembler::SetLdrRegisterImmediateOffset ( Instr  instr,
int  offset 
)
static

◆ SetLwOffset() [1/2]

static Instr v8::internal::Assembler::SetLwOffset ( Instr  instr,
int16_t  offset 
)
static

◆ SetLwOffset() [2/2]

static Instr v8::internal::Assembler::SetLwOffset ( Instr  instr,
int16_t  offset 
)
static

◆ SetNextConstPoolCheckIn()

void v8::internal::Assembler::SetNextConstPoolCheckIn ( int  instructions)
inlineprivate

Definition at line 2082 of file assembler-arm64.h.

2082  {
2084  }

References v8::internal::kInstructionSize, next_constant_pool_check_, and v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ SetRecordedAstId() [1/4]

void v8::internal::Assembler::SetRecordedAstId ( TypeFeedbackId  ast_id)
inline

Definition at line 1363 of file assembler-arm.h.

1363  {
1365  recorded_ast_id_ = ast_id;
1366  }

References DCHECK, v8::internal::TypeFeedbackId::IsNone(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ SetRecordedAstId() [2/4]

void v8::internal::Assembler::SetRecordedAstId ( TypeFeedbackId  ast_id)
inlineprotected

Definition at line 2176 of file assembler-arm64.h.

2176  {
2178  recorded_ast_id_ = ast_id;
2179  }

References DCHECK, v8::internal::TypeFeedbackId::IsNone(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ SetRecordedAstId() [3/4]

void v8::internal::Assembler::SetRecordedAstId ( TypeFeedbackId  ast_id)
inline

Definition at line 1003 of file assembler-mips.h.

1003  {
1005  recorded_ast_id_ = ast_id;
1006  }

References DCHECK, v8::internal::TypeFeedbackId::IsNone(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ SetRecordedAstId() [4/4]

void v8::internal::Assembler::SetRecordedAstId ( TypeFeedbackId  ast_id)
inline

Definition at line 1039 of file assembler-mips64.h.

1039  {
1041  recorded_ast_id_ = ast_id;
1042  }

References DCHECK, v8::internal::TypeFeedbackId::IsNone(), and recorded_ast_id_.

+ Here is the call graph for this function:

◆ SetStrRegisterImmediateOffset()

static Instr v8::internal::Assembler::SetStrRegisterImmediateOffset ( Instr  instr,
int  offset 
)
static

◆ SetSwOffset() [1/2]

static Instr v8::internal::Assembler::SetSwOffset ( Instr  instr,
int16_t  offset 
)
static

◆ SetSwOffset() [2/2]

static Instr v8::internal::Assembler::SetSwOffset ( Instr  instr,
int16_t  offset 
)
static

◆ SetVldrDRegisterImmediateOffset()

static Instr v8::internal::Assembler::SetVldrDRegisterImmediateOffset ( Instr  instr,
int  offset 
)
static

◆ SF()

Instr v8::internal::Assembler::SF ( Register  rd)
inlinestatic

Definition at line 1052 of file assembler-arm64-inl.h.

1052  {
1053  return rd.Is64Bits() ? SixtyFourBits : ThirtyTwoBits;
1054 }

References v8::internal::CPURegister::Is64Bits(), v8::internal::SixtyFourBits, and v8::internal::ThirtyTwoBits.

+ Here is the call graph for this function:

◆ sh() [1/2]

void v8::internal::Assembler::sh ( Register  rd,
const MemOperand rs 
)

◆ sh() [2/2]

void v8::internal::Assembler::sh ( Register  rd,
const MemOperand rs 
)

◆ shift() [1/2]

◆ shift() [2/2]

void v8::internal::Assembler::shift ( Register  dst,
int  subcode,
int  size 
)
private

◆ ShiftDP()

Instr v8::internal::Assembler::ShiftDP ( Shift  shift)
inlinestatic

Definition at line 1116 of file assembler-arm64-inl.h.

1116  {
1117  DCHECK(shift == LSL || shift == LSR || shift == ASR || shift == ROR);
1118  return shift << ShiftDP_offset;
1119 }

References v8::internal::ASR, DCHECK, v8::internal::LSL, v8::internal::LSR, v8::internal::ROR, and shift().

+ Here is the call graph for this function:

◆ shifted_branch_offset() [1/2]

int32_t v8::internal::Assembler::shifted_branch_offset ( Label *  L,
bool  jump_elimination_allowed 
)
inline

Definition at line 477 of file assembler-mips.h.

477  {
478  int32_t o = branch_offset(L, jump_elimination_allowed);
479  DCHECK((o & 3) == 0); // Assert the offset is aligned.
480  return o >> 2;
481  }

References branch_offset(), DCHECK, and v8::internal::L.

+ Here is the call graph for this function:

◆ shifted_branch_offset() [2/2]

int32_t v8::internal::Assembler::shifted_branch_offset ( Label *  L,
bool  jump_elimination_allowed 
)
inline

Definition at line 467 of file assembler-mips64.h.

467  {
468  int32_t o = branch_offset(L, jump_elimination_allowed);
469  DCHECK((o & 3) == 0); // Assert the offset is aligned.
470  return o >> 2;
471  }

References branch_offset(), DCHECK, and v8::internal::L.

+ Here is the call graph for this function:

◆ shifted_branch_offset_compact() [1/2]

int32_t v8::internal::Assembler::shifted_branch_offset_compact ( Label *  L,
bool  jump_elimination_allowed 
)
inline

Definition at line 482 of file assembler-mips.h.

483  {
484  int32_t o = branch_offset_compact(L, jump_elimination_allowed);
485  DCHECK((o & 3) == 0); // Assert the offset is aligned.
486  return o >> 2;
487  }

References branch_offset_compact(), DCHECK, and v8::internal::L.

+ Here is the call graph for this function:

◆ shifted_branch_offset_compact() [2/2]

int32_t v8::internal::Assembler::shifted_branch_offset_compact ( Label *  L,
bool  jump_elimination_allowed 
)
inline

Definition at line 472 of file assembler-mips64.h.

473  {
474  int32_t o = branch_offset_compact(L, jump_elimination_allowed);
475  DCHECK((o & 3) == 0); // Assert the offset is aligned.
476  return o >> 2;
477  }

References branch_offset_compact(), DCHECK, and v8::internal::L.

+ Here is the call graph for this function:

◆ ShiftMoveWide()

Instr v8::internal::Assembler::ShiftMoveWide ( int64_t  shift)
inlinestatic

Definition at line 1218 of file assembler-arm64-inl.h.

1218  {
1219  DCHECK(is_uint2(shift));
1220  return shift << ShiftMoveWide_offset;
1221 }

References DCHECK, and shift().

+ Here is the call graph for this function:

◆ shl() [1/4]

void v8::internal::Assembler::shl ( const Operand dst,
uint8_t  imm8 
)

◆ shl() [2/4]

void v8::internal::Assembler::shl ( const Operand dst,
uint8_t  imm8 
)

◆ shl() [3/4]

void v8::internal::Assembler::shl ( Register  dst,
uint8_t  imm8 
)
inline

Definition at line 756 of file assembler-ia32.h.

756 { shl(Operand(dst), imm8); }
void shl(Register dst, uint8_t imm8)

References shl().

Referenced by v8::internal::MacroAssembler::DecodeFieldToSmi(), and shl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shl() [4/4]

void v8::internal::Assembler::shl ( Register  dst,
uint8_t  imm8 
)
inline

Definition at line 741 of file assembler-x87.h.

741 { shl(Operand(dst), imm8); }

References shl().

Referenced by shl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shl_cl() [1/4]

void v8::internal::Assembler::shl_cl ( const Operand dst)

◆ shl_cl() [2/4]

void v8::internal::Assembler::shl_cl ( const Operand dst)

◆ shl_cl() [3/4]

void v8::internal::Assembler::shl_cl ( Register  dst)
inline

Definition at line 758 of file assembler-ia32.h.

758 { shl_cl(Operand(dst)); }
void shl_cl(Register dst)

References shl_cl().

Referenced by shl_cl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shl_cl() [4/4]

void v8::internal::Assembler::shl_cl ( Register  dst)
inline

Definition at line 743 of file assembler-x87.h.

743 { shl_cl(Operand(dst)); }

References shl_cl().

Referenced by shl_cl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shld() [1/5]

void v8::internal::Assembler::shld ( Register  dst,
const Operand src 
)

◆ shld() [2/5]

void v8::internal::Assembler::shld ( Register  dst,
const Operand src 
)

◆ shld() [3/5]

void v8::internal::Assembler::shld ( Register  dst,
Register  src 
)
inline

Definition at line 753 of file assembler-ia32.h.

753 { shld(dst, Operand(src)); }
void shld(Register dst, Register src)

References shld().

Referenced by shld().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shld() [4/5]

void v8::internal::Assembler::shld ( Register  dst,
Register  src 
)

◆ shld() [5/5]

void v8::internal::Assembler::shld ( Register  dst,
Register  src 
)
inline

Definition at line 738 of file assembler-x87.h.

738 { shld(dst, Operand(src)); }

References shld().

Referenced by shld().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ShouldEmitVeneer()

bool v8::internal::Assembler::ShouldEmitVeneer ( int  max_reachable_pc,
int  margin = kVeneerDistanceMargin 
)

Referenced by ShouldEmitVeneers().

+ Here is the caller graph for this function:

◆ ShouldEmitVeneers()

bool v8::internal::Assembler::ShouldEmitVeneers ( int  margin = kVeneerDistanceMargin)
inline

Definition at line 1902 of file assembler-arm64.h.

1902  {
1904  }
int unresolved_branches_first_limit() const
bool ShouldEmitVeneer(int max_reachable_pc, int margin=kVeneerDistanceMargin)

References ShouldEmitVeneer(), and unresolved_branches_first_limit().

+ Here is the call graph for this function:

◆ shr() [1/4]

void v8::internal::Assembler::shr ( const Operand dst,
uint8_t  imm8 
)

◆ shr() [2/4]

void v8::internal::Assembler::shr ( const Operand dst,
uint8_t  imm8 
)

◆ shr() [3/4]

void v8::internal::Assembler::shr ( Register  dst,
uint8_t  imm8 
)
inline

Definition at line 764 of file assembler-ia32.h.

764 { shr(Operand(dst), imm8); }
void shr(Register dst, uint8_t imm8)

References shr().

Referenced by shr().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shr() [4/4]

void v8::internal::Assembler::shr ( Register  dst,
uint8_t  imm8 
)
inline

Definition at line 749 of file assembler-x87.h.

749 { shr(Operand(dst), imm8); }

References shr().

Referenced by shr().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shr_cl() [1/4]

void v8::internal::Assembler::shr_cl ( const Operand dst)

◆ shr_cl() [2/4]

void v8::internal::Assembler::shr_cl ( const Operand dst)

◆ shr_cl() [3/4]

void v8::internal::Assembler::shr_cl ( Register  dst)
inline

Definition at line 766 of file assembler-ia32.h.

766 { shr_cl(Operand(dst)); }
void shr_cl(Register dst)

References shr_cl().

Referenced by shr_cl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shr_cl() [4/4]

void v8::internal::Assembler::shr_cl ( Register  dst)
inline

Definition at line 751 of file assembler-x87.h.

751 { shr_cl(Operand(dst)); }

References shr_cl().

Referenced by shr_cl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shrd() [1/5]

void v8::internal::Assembler::shrd ( Register  dst,
const Operand src 
)

◆ shrd() [2/5]

void v8::internal::Assembler::shrd ( Register  dst,
const Operand src 
)

◆ shrd() [3/5]

void v8::internal::Assembler::shrd ( Register  dst,
Register  src 
)
inline

Definition at line 761 of file assembler-ia32.h.

761 { shrd(dst, Operand(src)); }
void shrd(Register dst, Register src)

References shrd().

Referenced by shrd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shrd() [4/5]

void v8::internal::Assembler::shrd ( Register  dst,
Register  src 
)

◆ shrd() [5/5]

void v8::internal::Assembler::shrd ( Register  dst,
Register  src 
)
inline

Definition at line 746 of file assembler-x87.h.

746 { shrd(dst, Operand(src)); }

References shrd().

Referenced by shrd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shufps() [1/2]

void v8::internal::Assembler::shufps ( XMMRegister  dst,
XMMRegister  src,
byte  imm8 
)

◆ shufps() [2/2]

void v8::internal::Assembler::shufps ( XMMRegister  dst,
XMMRegister  src,
byte  imm8 
)

◆ SizeOfCodeGeneratedSince() [1/7]

uint64_t v8::internal::Assembler::SizeOfCodeGeneratedSince ( const Label *  label)
inline

Definition at line 929 of file assembler-arm64.h.

929  {
930  DCHECK(label->is_bound());
931  DCHECK(pc_offset() >= label->pos());
933  return pc_offset() - label->pos();
934  }

References v8::internal::AssemblerBase::buffer_size_, DCHECK, and v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ SizeOfCodeGeneratedSince() [2/7]

int v8::internal::Assembler::SizeOfCodeGeneratedSince ( Label *  label)
inline

Definition at line 1322 of file assembler-arm.h.

1322  {
1323  return pc_offset() - label->pos();
1324  }

References v8::internal::AssemblerBase::pc_offset().

Referenced by AssertSizeOfCodeGeneratedSince(), and InstructionsGeneratedSince().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SizeOfCodeGeneratedSince() [3/7]

int v8::internal::Assembler::SizeOfCodeGeneratedSince ( Label *  label)
inline

Definition at line 1048 of file assembler-ia32.h.

1048  {
1049  return pc_offset() - label->pos();
1050  }

References v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ SizeOfCodeGeneratedSince() [4/7]

int v8::internal::Assembler::SizeOfCodeGeneratedSince ( Label *  label)
inline

Definition at line 949 of file assembler-mips.h.

949  {
950  return pc_offset() - label->pos();
951  }

References v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ SizeOfCodeGeneratedSince() [5/7]

int v8::internal::Assembler::SizeOfCodeGeneratedSince ( Label *  label)
inline

Definition at line 985 of file assembler-mips64.h.

985  {
986  return pc_offset() - label->pos();
987  }

References v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ SizeOfCodeGeneratedSince() [6/7]

int v8::internal::Assembler::SizeOfCodeGeneratedSince ( Label *  label)
inline

Definition at line 1106 of file assembler-x64.h.

1106  {
1107  return pc_offset() - label->pos();
1108  }

References v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ SizeOfCodeGeneratedSince() [7/7]

int v8::internal::Assembler::SizeOfCodeGeneratedSince ( Label *  label)
inline

Definition at line 920 of file assembler-x87.h.

920  {
921  return pc_offset() - label->pos();
922  }

References v8::internal::AssemblerBase::pc_offset().

+ Here is the call graph for this function:

◆ SizeOfGeneratedCode()

uint64_t v8::internal::Assembler::SizeOfGeneratedCode ( ) const
inline

◆ sll() [1/2]

void v8::internal::Assembler::sll ( Register  rd,
Register  rt,
uint16_t  sa,
bool  coming_from_nop = false 
)

Referenced by v8::internal::MacroAssembler::DecodeFieldToSmi(), nop(), and v8::internal::MacroAssembler::SmiScale().

+ Here is the caller graph for this function:

◆ sll() [2/2]

void v8::internal::Assembler::sll ( Register  rd,
Register  rt,
uint16_t  sa,
bool  coming_from_nop = false 
)

◆ sllv() [1/2]

void v8::internal::Assembler::sllv ( Register  rd,
Register  rt,
Register  rs 
)

◆ sllv() [2/2]

void v8::internal::Assembler::sllv ( Register  rd,
Register  rt,
Register  rs 
)

◆ slt() [1/2]

void v8::internal::Assembler::slt ( Register  rd,
Register  rs,
Register  rt 
)

◆ slt() [2/2]

void v8::internal::Assembler::slt ( Register  rd,
Register  rs,
Register  rt 
)

◆ slti() [1/2]

void v8::internal::Assembler::slti ( Register  rd,
Register  rs,
int32_t  j 
)

◆ slti() [2/2]

void v8::internal::Assembler::slti ( Register  rd,
Register  rs,
int32_t  j 
)

◆ sltiu() [1/2]

void v8::internal::Assembler::sltiu ( Register  rd,
Register  rs,
int32_t  j 
)

◆ sltiu() [2/2]

void v8::internal::Assembler::sltiu ( Register  rd,
Register  rs,
int32_t  j 
)

◆ sltu() [1/2]

void v8::internal::Assembler::sltu ( Register  rd,
Register  rs,
Register  rt 
)

◆ sltu() [2/2]

void v8::internal::Assembler::sltu ( Register  rd,
Register  rs,
Register  rt 
)

◆ smaddl()

void v8::internal::Assembler::smaddl ( const Register rd,
const Register rn,
const Register rm,
const Register ra 
)

Referenced by v8::internal::MacroAssembler::Smaddl().

+ Here is the caller graph for this function:

◆ smlal()

void v8::internal::Assembler::smlal ( Register  dstL,
Register  dstH,
Register  src1,
Register  src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ smsubl()

void v8::internal::Assembler::smsubl ( const Register rd,
const Register rn,
const Register rm,
const Register ra 
)

Referenced by v8::internal::MacroAssembler::Smsubl().

+ Here is the caller graph for this function:

◆ smulh()

void v8::internal::Assembler::smulh ( const Register rd,
const Register rn,
const Register rm 
)

Referenced by v8::internal::MacroAssembler::Smulh().

+ Here is the caller graph for this function:

◆ smull() [1/2]

void v8::internal::Assembler::smull ( const Register rd,
const Register rn,
const Register rm 
)

◆ smull() [2/2]

void v8::internal::Assembler::smull ( Register  dstL,
Register  dstH,
Register  src1,
Register  src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Smull().

+ Here is the caller graph for this function:

◆ sqrt_d() [1/2]

void v8::internal::Assembler::sqrt_d ( FPURegister  fd,
FPURegister  fs 
)

◆ sqrt_d() [2/2]

void v8::internal::Assembler::sqrt_d ( FPURegister  fd,
FPURegister  fs 
)

◆ sqrtsd() [1/4]

void v8::internal::Assembler::sqrtsd ( XMMRegister  dst,
const Operand src 
)

◆ sqrtsd() [2/4]

void v8::internal::Assembler::sqrtsd ( XMMRegister  dst,
const Operand src 
)

◆ sqrtsd() [3/4]

void v8::internal::Assembler::sqrtsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ sqrtsd() [4/4]

void v8::internal::Assembler::sqrtsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ sra() [1/2]

void v8::internal::Assembler::sra ( Register  rt,
Register  rd,
uint16_t  sa 
)

Referenced by v8::internal::MacroAssembler::SmiUntag().

+ Here is the caller graph for this function:

◆ sra() [2/2]

void v8::internal::Assembler::sra ( Register  rt,
Register  rd,
uint16_t  sa 
)

◆ srav() [1/2]

void v8::internal::Assembler::srav ( Register  rt,
Register  rd,
Register  rs 
)

◆ srav() [2/2]

void v8::internal::Assembler::srav ( Register  rt,
Register  rd,
Register  rs 
)

◆ srl() [1/2]

void v8::internal::Assembler::srl ( Register  rd,
Register  rt,
uint16_t  sa 
)

Referenced by v8::internal::MacroAssembler::DecodeFieldToSmi().

+ Here is the caller graph for this function:

◆ srl() [2/2]

void v8::internal::Assembler::srl ( Register  rd,
Register  rt,
uint16_t  sa 
)

◆ srlv() [1/2]

void v8::internal::Assembler::srlv ( Register  rd,
Register  rt,
Register  rs 
)

◆ srlv() [2/2]

void v8::internal::Assembler::srlv ( Register  rd,
Register  rt,
Register  rs 
)

◆ StartBlockConstPool() [1/2]

void v8::internal::Assembler::StartBlockConstPool ( )
inlineprotected

Definition at line 1516 of file assembler-arm.h.

1516  {
1517  if (const_pool_blocked_nesting_++ == 0) {
1518  // Prevent constant pool checks happening by setting the next check to
1519  // the biggest possible offset.
1521  }
1522  }
const int kMaxInt
Definition: globals.h:109

References const_pool_blocked_nesting_, v8::internal::kMaxInt, and next_buffer_check_.

Referenced by v8::internal::Assembler::BlockConstPoolScope::BlockConstPoolScope(), and StartBlockPools().

+ Here is the caller graph for this function:

◆ StartBlockConstPool() [2/2]

void v8::internal::Assembler::StartBlockConstPool ( )

◆ StartBlockGrowBuffer() [1/2]

void v8::internal::Assembler::StartBlockGrowBuffer ( )
inlineprotected

Definition at line 1163 of file assembler-mips.h.

1163  {
1165  block_buffer_growth_ = true;
1166  }

References block_buffer_growth_, and DCHECK.

Referenced by v8::internal::Assembler::BlockGrowBufferScope::BlockGrowBufferScope().

+ Here is the caller graph for this function:

◆ StartBlockGrowBuffer() [2/2]

void v8::internal::Assembler::StartBlockGrowBuffer ( )
inlineprotected

Definition at line 1199 of file assembler-mips64.h.

1199  {
1201  block_buffer_growth_ = true;
1202  }

References block_buffer_growth_, and DCHECK.

◆ StartBlockPools()

void v8::internal::Assembler::StartBlockPools ( )
inline

Definition at line 998 of file assembler-arm64.h.

998  {
1001  }

References StartBlockConstPool(), and StartBlockVeneerPool().

Referenced by v8::internal::Assembler::BlockPoolsScope::BlockPoolsScope(), and v8::internal::PatchingAssembler::PatchingAssembler().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ StartBlockTrampolinePool() [1/2]

void v8::internal::Assembler::StartBlockTrampolinePool ( )
inlineprotected

Definition at line 1140 of file assembler-mips.h.

1140  {
1142  }

References trampoline_pool_blocked_nesting_.

Referenced by v8::internal::Assembler::BlockTrampolinePoolScope::BlockTrampolinePoolScope().

+ Here is the caller graph for this function:

◆ StartBlockTrampolinePool() [2/2]

void v8::internal::Assembler::StartBlockTrampolinePool ( )
inlineprotected

Definition at line 1176 of file assembler-mips64.h.

1176  {
1178  }

References trampoline_pool_blocked_nesting_.

◆ StartBlockVeneerPool()

void v8::internal::Assembler::StartBlockVeneerPool ( )

Referenced by StartBlockPools().

+ Here is the caller graph for this function:

◆ STATIC_ASSERT()

v8::internal::Assembler::STATIC_ASSERT ( kPointerSize  = =kInt64Size||kPointerSize==kInt32Size)

Referenced by Emit().

+ Here is the caller graph for this function:

◆ stm()

void v8::internal::Assembler::stm ( BlockAddrMode  am,
Register  base,
RegList  src,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Push(), and v8::internal::RecordWriteStub::RegisterAllocation::SaveCallerSaveRegisters().

+ Here is the caller graph for this function:

◆ stnp()

void v8::internal::Assembler::stnp ( const CPURegister rt,
const CPURegister rt2,
const MemOperand dst 
)

Referenced by v8::internal::MacroAssembler::Stnp().

+ Here is the caller graph for this function:

◆ stop() [1/3]

void v8::internal::Assembler::stop ( const char *  msg,
Condition  cond = al,
int32_t  code = kDefaultStopCode 
)

◆ stop() [2/3]

void v8::internal::Assembler::stop ( const char *  msg,
uint32_t  code = kMaxStopCode 
)

◆ stop() [3/3]

void v8::internal::Assembler::stop ( const char *  msg,
uint32_t  code = kMaxStopCode 
)

◆ store_rax() [1/2]

void v8::internal::Assembler::store_rax ( ExternalReference  ref)

◆ store_rax() [2/2]

void v8::internal::Assembler::store_rax ( void *  dst,
RelocInfo::Mode  mode 
)

◆ StoreOpFor()

LoadStoreOp v8::internal::Assembler::StoreOpFor ( const CPURegister rt)
inlinestaticprotected

Definition at line 924 of file assembler-arm64-inl.h.

924  {
925  DCHECK(rt.IsValid());
926  if (rt.IsRegister()) {
927  return rt.Is64Bits() ? STR_x : STR_w;
928  } else {
929  DCHECK(rt.IsFPRegister());
930  return rt.Is64Bits() ? STR_d : STR_s;
931  }
932 }

References DCHECK, v8::internal::CPURegister::Is64Bits(), v8::internal::CPURegister::IsFPRegister(), v8::internal::CPURegister::IsRegister(), and v8::internal::CPURegister::IsValid().

+ Here is the call graph for this function:

◆ StorePairNonTemporalOpFor()

LoadStorePairNonTemporalOp v8::internal::Assembler::StorePairNonTemporalOpFor ( const CPURegister rt,
const CPURegister rt2 
)
inlinestaticprotected

Definition at line 961 of file assembler-arm64-inl.h.

962  {
963  DCHECK(AreSameSizeAndType(rt, rt2));
964  USE(rt2);
965  if (rt.IsRegister()) {
966  return rt.Is64Bits() ? STNP_x : STNP_w;
967  } else {
968  DCHECK(rt.IsFPRegister());
969  return rt.Is64Bits() ? STNP_d : STNP_s;
970  }
971 }

References v8::internal::AreSameSizeAndType(), DCHECK, v8::internal::CPURegister::Is64Bits(), v8::internal::CPURegister::IsFPRegister(), v8::internal::CPURegister::IsRegister(), v8::internal::STNP_d, v8::internal::STNP_s, v8::internal::STNP_w, v8::internal::STNP_x, and USE().

+ Here is the call graph for this function:

◆ StorePairOpFor()

LoadStorePairOp v8::internal::Assembler::StorePairOpFor ( const CPURegister rt,
const CPURegister rt2 
)
inlinestaticprotected

Definition at line 935 of file assembler-arm64-inl.h.

936  {
937  DCHECK(AreSameSizeAndType(rt, rt2));
938  USE(rt2);
939  if (rt.IsRegister()) {
940  return rt.Is64Bits() ? STP_x : STP_w;
941  } else {
942  DCHECK(rt.IsFPRegister());
943  return rt.Is64Bits() ? STP_d : STP_s;
944  }
945 }

References v8::internal::AreSameSizeAndType(), DCHECK, v8::internal::CPURegister::Is64Bits(), v8::internal::CPURegister::IsFPRegister(), v8::internal::CPURegister::IsRegister(), and USE().

+ Here is the call graph for this function:

◆ stos() [1/2]

void v8::internal::Assembler::stos ( )

◆ stos() [2/2]

void v8::internal::Assembler::stos ( )

◆ stp()

void v8::internal::Assembler::stp ( const CPURegister rt,
const CPURegister rt2,
const MemOperand dst 
)

◆ str() [1/2]

void v8::internal::Assembler::str ( const CPURegister rt,
const MemOperand dst 
)

◆ str() [2/2]

void v8::internal::Assembler::str ( Register  src,
const MemOperand dst,
Condition  cond = al 
)

Referenced by push(), and v8::internal::MacroAssembler::Push().

+ Here is the caller graph for this function:

◆ strb() [1/2]

void v8::internal::Assembler::strb ( const Register rt,
const MemOperand dst 
)

◆ strb() [2/2]

void v8::internal::Assembler::strb ( Register  src,
const MemOperand dst,
Condition  cond = al 
)

◆ strd()

void v8::internal::Assembler::strd ( Register  src1,
Register  src2,
const MemOperand dst,
Condition  cond = al 
)

◆ strh() [1/2]

void v8::internal::Assembler::strh ( const Register rt,
const MemOperand dst 
)

◆ strh() [2/2]

void v8::internal::Assembler::strh ( Register  src,
const MemOperand dst,
Condition  cond = al 
)

◆ sub() [1/13]

void v8::internal::Assembler::sub ( const Operand dst,
const Immediate x 
)

◆ sub() [2/13]

void v8::internal::Assembler::sub ( const Operand dst,
const Immediate x 
)

◆ sub() [3/13]

void v8::internal::Assembler::sub ( const Operand dst,
Register  src 
)

◆ sub() [4/13]

void v8::internal::Assembler::sub ( const Operand dst,
Register  src 
)

◆ sub() [5/13]

void v8::internal::Assembler::sub ( const Register rd,
const Register rn,
const Operand operand 
)

◆ sub() [6/13]

void v8::internal::Assembler::sub ( Register  dst,
const Immediate imm 
)
inline

Definition at line 769 of file assembler-ia32.h.

769 { sub(Operand(dst), imm); }
void sub(Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)

References sub().

Referenced by sub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sub() [7/13]

void v8::internal::Assembler::sub ( Register  dst,
const Immediate imm 
)
inline

Definition at line 754 of file assembler-x87.h.

754 { sub(Operand(dst), imm); }

References sub().

Referenced by sub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sub() [8/13]

void v8::internal::Assembler::sub ( Register  dst,
const Operand src 
)

◆ sub() [9/13]

void v8::internal::Assembler::sub ( Register  dst,
const Operand src 
)

◆ sub() [10/13]

void v8::internal::Assembler::sub ( Register  dst,
Register  src 
)
inline

Definition at line 771 of file assembler-ia32.h.

771 { sub(dst, Operand(src)); }

References sub().

Referenced by sub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sub() [11/13]

void v8::internal::Assembler::sub ( Register  dst,
Register  src 
)
inline

Definition at line 756 of file assembler-x87.h.

756 { sub(dst, Operand(src)); }

References sub().

Referenced by sub().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sub() [12/13]

void v8::internal::Assembler::sub ( Register  dst,
Register  src1,
const Operand src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::BumpSystemStackPointer(), v8::internal::RecordWriteStub::RegisterAllocation::SaveCallerSaveRegisters(), and sub().

+ Here is the caller graph for this function:

◆ sub() [13/13]

void v8::internal::Assembler::sub ( Register  dst,
Register  src1,
Register  src2,
SBit  s = LeaveCC,
Condition  cond = al 
)
inline

Definition at line 866 of file assembler-arm.h.

867  {
868  sub(dst, src1, Operand(src2), s, cond);
869  }

References sub().

+ Here is the call graph for this function:

◆ sub_d() [1/2]

void v8::internal::Assembler::sub_d ( FPURegister  fd,
FPURegister  fs,
FPURegister  ft 
)

◆ sub_d() [2/2]

void v8::internal::Assembler::sub_d ( FPURegister  fd,
FPURegister  fs,
FPURegister  ft 
)

◆ subb()

void v8::internal::Assembler::subb ( Register  dst,
Immediate  src 
)
inline

Definition at line 852 of file assembler-x64.h.

852  {
853  immediate_arithmetic_op_8(0x5, dst, src);
854  }

References immediate_arithmetic_op_8().

+ Here is the call graph for this function:

◆ subps() [1/4]

void v8::internal::Assembler::subps ( XMMRegister  dst,
const Operand src 
)

◆ subps() [2/4]

void v8::internal::Assembler::subps ( XMMRegister  dst,
const Operand src 
)

◆ subps() [3/4]

void v8::internal::Assembler::subps ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 939 of file assembler-ia32.h.

939 { subps(dst, Operand(src)); }
void subps(XMMRegister dst, const Operand &src)

References subps().

Referenced by subps().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ subps() [4/4]

void v8::internal::Assembler::subps ( XMMRegister  dst,
XMMRegister  src 
)

◆ subs()

void v8::internal::Assembler::subs ( const Register rd,
const Register rn,
const Operand operand 
)

◆ subsd() [1/3]

void v8::internal::Assembler::subsd ( XMMRegister  dst,
const Operand src 
)

◆ subsd() [2/3]

void v8::internal::Assembler::subsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ subsd() [3/3]

void v8::internal::Assembler::subsd ( XMMRegister  dst,
XMMRegister  src 
)

◆ subu() [1/2]

void v8::internal::Assembler::subu ( Register  rd,
Register  rs,
Register  rt 
)

◆ subu() [2/2]

void v8::internal::Assembler::subu ( Register  rd,
Register  rs,
Register  rt 
)

◆ svc()

void v8::internal::Assembler::svc ( uint32_t  imm24,
Condition  cond = al 
)

◆ sw() [1/2]

void v8::internal::Assembler::sw ( Register  rd,
const MemOperand rs 
)

Referenced by v8::internal::MacroAssembler::push(), and v8::internal::MacroAssembler::Push().

+ Here is the caller graph for this function:

◆ sw() [2/2]

void v8::internal::Assembler::sw ( Register  rd,
const MemOperand rs 
)

◆ swc1() [1/2]

void v8::internal::Assembler::swc1 ( FPURegister  fs,
const MemOperand dst 
)

◆ swc1() [2/2]

void v8::internal::Assembler::swc1 ( FPURegister  fs,
const MemOperand dst 
)

◆ swl() [1/2]

void v8::internal::Assembler::swl ( Register  rd,
const MemOperand rs 
)

◆ swl() [2/2]

void v8::internal::Assembler::swl ( Register  rd,
const MemOperand rs 
)

◆ swr() [1/2]

void v8::internal::Assembler::swr ( Register  rd,
const MemOperand rs 
)

◆ swr() [2/2]

void v8::internal::Assembler::swr ( Register  rd,
const MemOperand rs 
)

◆ sxtb()

void v8::internal::Assembler::sxtb ( const Register rd,
const Register rn 
)
inline

Definition at line 1268 of file assembler-arm64.h.

1268  {
1269  sbfm(rd, rn, 0, 7);
1270  }

References sbfm().

Referenced by v8::internal::MacroAssembler::Sxtb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sxth()

void v8::internal::Assembler::sxth ( const Register rd,
const Register rn 
)
inline

Definition at line 1273 of file assembler-arm64.h.

1273  {
1274  sbfm(rd, rn, 0, 15);
1275  }

References sbfm().

Referenced by v8::internal::MacroAssembler::Sxth().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sxtw()

void v8::internal::Assembler::sxtw ( const Register rd,
const Register rn 
)
inline

Definition at line 1278 of file assembler-arm64.h.

1278  {
1279  sbfm(rd, rn, 0, 31);
1280  }

References sbfm().

Referenced by v8::internal::MacroAssembler::Sxtw().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ target_address_at() [1/10]

static Address v8::internal::Assembler::target_address_at ( Address  pc)
static

◆ target_address_at() [2/10]

static Address v8::internal::Assembler::target_address_at ( Address  pc)
static

◆ target_address_at() [3/10]

Address v8::internal::Assembler::target_address_at ( Address  pc,
Code code 
)
inlinestatic

Definition at line 590 of file assembler-arm64-inl.h.

590  {
591  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
592  return target_address_at(pc, constant_pool);
593 }

References v8::internal::Code::constant_pool(), NULL, pc(), and target_address_at().

+ Here is the call graph for this function:

◆ target_address_at() [4/10]

static Address v8::internal::Assembler::target_address_at ( Address  pc,
Code code 
)
inlinestatic

Definition at line 510 of file assembler-ia32.h.

510  {
511  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
512  return target_address_at(pc, constant_pool);
513  }

References v8::internal::Code::constant_pool(), NULL, pc(), and target_address_at().

+ Here is the call graph for this function:

◆ target_address_at() [5/10]

static Address v8::internal::Assembler::target_address_at ( Address  pc,
Code code 
)
inlinestatic

Definition at line 530 of file assembler-x64.h.

530  {
531  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
532  return target_address_at(pc, constant_pool);
533  }

References v8::internal::Code::constant_pool(), NULL, pc(), and target_address_at().

+ Here is the call graph for this function:

◆ target_address_at() [6/10]

static Address v8::internal::Assembler::target_address_at ( Address  pc,
Code code 
)
inlinestatic

Definition at line 501 of file assembler-x87.h.

501  {
502  ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL;
503  return target_address_at(pc, constant_pool);
504  }

References v8::internal::Code::constant_pool(), NULL, pc(), and target_address_at().

+ Here is the call graph for this function:

◆ target_address_at() [7/10]

Address v8::internal::Assembler::target_address_at ( Address  pc,
ConstantPoolArray constant_pool 
)
inlinestatic

Definition at line 591 of file assembler-arm-inl.h.

592  {
593  if (is_constant_pool_load(pc)) {
594  // This is a constant pool lookup. Return the value in the constant pool.
595  return Memory::Address_at(constant_pool_entry_address(pc, constant_pool));
596  } else if (CpuFeatures::IsSupported(ARMv7)) {
597  // This is an movw / movt immediate load. Return the immediate.
600  Instruction* movw_instr = Instruction::At(pc);
601  Instruction* movt_instr = Instruction::At(pc + kInstrSize);
602  return reinterpret_cast<Address>(
603  (movt_instr->ImmedMovwMovtValue() << 16) |
604  movw_instr->ImmedMovwMovtValue());
605  } else {
606  // This is an mov / orr immediate load. Return the immediate.
611  Instr mov_instr = instr_at(pc);
612  Instr orr_instr_1 = instr_at(pc + kInstrSize);
613  Instr orr_instr_2 = instr_at(pc + 2 * kInstrSize);
614  Instr orr_instr_3 = instr_at(pc + 3 * kInstrSize);
615  Address ret = reinterpret_cast<Address>(
616  DecodeShiftImm(mov_instr) | DecodeShiftImm(orr_instr_1) |
617  DecodeShiftImm(orr_instr_2) | DecodeShiftImm(orr_instr_3));
618  return ret;
619  }
620 }
static int DecodeShiftImm(Instr instr)
void ret(const Register &xn=lr)
static Instruction * At(byte *pc)
byte * Address
Definition: globals.h:101

References v8::internal::Memory::Address_at(), v8::internal::ARMv7, v8::internal::Instruction::At(), DCHECK, DecodeShiftImm(), v8::internal::Instruction::ImmedMovwMovtValue(), instr_at(), v8::internal::Memory::int32_at(), IsMovImmed(), IsMovT(), IsMovW(), IsOrrImmed(), v8::internal::CpuFeatures::IsSupported(), kInstrSize, pc(), and ret().

Referenced by v8::internal::IC::address(), v8::internal::IC::constant_pool(), v8::internal::IC::GetTargetAtAddress(), INLINE(), v8::internal::Debug::SetAfterBreakTarget(), and target_address_at().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ target_address_at() [8/10]

static Address v8::internal::Assembler::target_address_at ( Address  pc,
ConstantPoolArray constant_pool 
)
inlinestatic

◆ target_address_at() [9/10]

static Address v8::internal::Assembler::target_address_at ( Address  pc,
ConstantPoolArray constant_pool 
)
inlinestatic

◆ target_address_at() [10/10]

static Address v8::internal::Assembler::target_address_at ( Address  pc,
ConstantPoolArray constant_pool 
)
inlinestatic

◆ target_address_from_return_address() [1/6]

Address v8::internal::Assembler::target_address_from_return_address ( Address  pc)
inlinestatic

Definition at line 429 of file assembler-arm-inl.h.

429  {
430  // Returns the address of the call target from the return address that will
431  // be returned to after a call.
432  // Call sequence on V7 or later is:
433  // movw ip, #... @ call address low 16
434  // movt ip, #... @ call address high 16
435  // blx ip
436  // @ return address
437  // For V6 when the constant pool is unavailable, it is:
438  // mov ip, #... @ call address low 8
439  // orr ip, ip, #... @ call address 2nd 8
440  // orr ip, ip, #... @ call address 3rd 8
441  // orr ip, ip, #... @ call address high 8
442  // blx ip
443  // @ return address
444  // In cases that need frequent patching, the address is in the
445  // constant pool. It could be a small constant pool load:
446  // ldr ip, [pc / pp, #...] @ call address
447  // blx ip
448  // @ return address
449  // Or an extended constant pool load (ARMv7):
450  // movw ip, #...
451  // movt ip, #...
452  // ldr ip, [pc, ip] @ call address
453  // blx ip
454  // @ return address
455  // Or an extended constant pool load (ARMv6):
456  // mov ip, #...
457  // orr ip, ip, #...
458  // orr ip, ip, #...
459  // orr ip, ip, #...
460  // ldr ip, [pc, ip] @ call address
461  // blx ip
462  // @ return address
463  Address candidate = pc - 2 * Assembler::kInstrSize;
464  Instr candidate_instr(Memory::int32_at(candidate));
465  if (IsLdrPcImmediateOffset(candidate_instr) |
466  IsLdrPpImmediateOffset(candidate_instr)) {
467  return candidate;
468  } else {
469  if (IsLdrPpRegOffset(candidate_instr)) {
470  candidate -= Assembler::kInstrSize;
471  }
473  candidate -= 1 * Assembler::kInstrSize;
474  DCHECK(IsMovW(Memory::int32_at(candidate)) &&
476  } else {
477  candidate -= 3 * Assembler::kInstrSize;
478  DCHECK(
479  IsMovImmed(Memory::int32_at(candidate)) &&
483  }
484  return candidate;
485  }
486 }

References v8::internal::ARMv7, DCHECK, v8::internal::Memory::int32_at(), IsLdrPcImmediateOffset(), IsLdrPpImmediateOffset(), IsLdrPpRegOffset(), IsMovImmed(), IsMovT(), IsMovW(), IsOrrImmed(), v8::internal::CpuFeatures::IsSupported(), kInstrSize, and pc().

Referenced by v8::internal::IC::address(), v8::internal::IC::constant_pool(), and v8::internal::Debug::SetAfterBreakTarget().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ target_address_from_return_address() [2/6]

static Address v8::internal::Assembler::target_address_from_return_address ( Address  pc)
inlinestatic

◆ target_address_from_return_address() [3/6]

static Address v8::internal::Assembler::target_address_from_return_address ( Address  pc)
inlinestatic

◆ target_address_from_return_address() [4/6]

static Address v8::internal::Assembler::target_address_from_return_address ( Address  pc)
inlinestatic

◆ target_address_from_return_address() [5/6]

static Address v8::internal::Assembler::target_address_from_return_address ( Address  pc)
inlinestatic

◆ target_address_from_return_address() [6/6]

static Address v8::internal::Assembler::target_address_from_return_address ( Address  pc)
inlinestatic

◆ target_at() [1/3]

int v8::internal::Assembler::target_at ( int  pos)
protected

◆ target_at() [2/3]

int v8::internal::Assembler::target_at ( int32_t  pos)
protected

◆ target_at() [3/3]

int64_t v8::internal::Assembler::target_at ( int64_t  pos)
protected

◆ target_at_put() [1/3]

void v8::internal::Assembler::target_at_put ( int  pos,
int  target_pos 
)
protected

◆ target_at_put() [2/3]

void v8::internal::Assembler::target_at_put ( int32_t  pos,
int32_t  target_pos 
)
protected

◆ target_at_put() [3/3]

void v8::internal::Assembler::target_at_put ( int64_t  pos,
int64_t  target_pos 
)
protected

◆ target_pointer_address_at()

Address v8::internal::Assembler::target_pointer_address_at ( Address  pc)
inlinestatic

Definition at line 576 of file assembler-arm64-inl.h.

576  {
577  Instruction* instr = reinterpret_cast<Instruction*>(pc);
578  DCHECK(instr->IsLdrLiteralX());
579  return reinterpret_cast<Address>(instr->ImmPCOffsetTarget());
580 }

References DCHECK, v8::internal::Instruction::ImmPCOffsetTarget(), v8::internal::Instruction::IsLdrLiteralX(), and pc().

+ Here is the call graph for this function:

◆ tbnz() [1/2]

void v8::internal::Assembler::tbnz ( const Register rt,
unsigned  bit_pos,
int  imm14 
)

◆ tbnz() [2/2]

void v8::internal::Assembler::tbnz ( const Register rt,
unsigned  bit_pos,
Label *  label 
)

◆ tbz() [1/2]

void v8::internal::Assembler::tbz ( const Register rt,
unsigned  bit_pos,
int  imm14 
)

◆ tbz() [2/2]

void v8::internal::Assembler::tbz ( const Register rt,
unsigned  bit_pos,
Label *  label 
)

◆ teq() [1/3]

void v8::internal::Assembler::teq ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ teq() [2/3]

void v8::internal::Assembler::teq ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ teq() [3/3]

void v8::internal::Assembler::teq ( Register  src1,
const Operand src2,
Condition  cond = al 
)

◆ test() [1/8]

void v8::internal::Assembler::test ( const Operand op,
const Immediate imm 
)

◆ test() [2/8]

void v8::internal::Assembler::test ( const Operand op,
const Immediate imm 
)

◆ test() [3/8]

void v8::internal::Assembler::test ( Register  reg,
const Immediate imm 
)

Referenced by v8::internal::MacroAssembler::JumpIfNotSmi(), and v8::internal::MacroAssembler::JumpIfSmi().

+ Here is the caller graph for this function:

◆ test() [4/8]

void v8::internal::Assembler::test ( Register  reg,
const Immediate imm 
)

◆ test() [5/8]

void v8::internal::Assembler::test ( Register  reg,
const Operand op 
)

◆ test() [6/8]

void v8::internal::Assembler::test ( Register  reg,
const Operand op 
)

◆ test() [7/8]

void v8::internal::Assembler::test ( Register  reg0,
Register  reg1 
)
inline

Definition at line 776 of file assembler-ia32.h.

776 { test(reg0, Operand(reg1)); }
void test(Register reg, const Immediate &imm)

References test().

Referenced by test().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ test() [8/8]

void v8::internal::Assembler::test ( Register  reg0,
Register  reg1 
)
inline

Definition at line 761 of file assembler-x87.h.

761 { test(reg0, Operand(reg1)); }

References test().

Referenced by test().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ test_b() [1/6]

void v8::internal::Assembler::test_b ( const Operand op,
uint8_t  imm8 
)

◆ test_b() [2/6]

void v8::internal::Assembler::test_b ( const Operand op,
uint8_t  imm8 
)

◆ test_b() [3/6]

void v8::internal::Assembler::test_b ( Register  reg,
const Operand op 
)

◆ test_b() [4/6]

void v8::internal::Assembler::test_b ( Register  reg,
const Operand op 
)

◆ test_b() [5/6]

void v8::internal::Assembler::test_b ( Register  reg,
uint8_t  imm8 
)

◆ test_b() [6/6]

void v8::internal::Assembler::test_b ( Register  reg,
uint8_t  imm8 
)

◆ testb() [1/4]

void v8::internal::Assembler::testb ( const Operand op,
Immediate  mask 
)

◆ testb() [2/4]

void v8::internal::Assembler::testb ( const Operand op,
Register  reg 
)

◆ testb() [3/4]

void v8::internal::Assembler::testb ( Register  dst,
Register  src 
)

◆ testb() [4/4]

void v8::internal::Assembler::testb ( Register  reg,
Immediate  mask 
)

◆ tge() [1/2]

void v8::internal::Assembler::tge ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ tge() [2/2]

void v8::internal::Assembler::tge ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ tgeu() [1/2]

void v8::internal::Assembler::tgeu ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ tgeu() [2/2]

void v8::internal::Assembler::tgeu ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ tlt() [1/2]

void v8::internal::Assembler::tlt ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ tlt() [2/2]

void v8::internal::Assembler::tlt ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ tltu() [1/2]

void v8::internal::Assembler::tltu ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ tltu() [2/2]

void v8::internal::Assembler::tltu ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ tne() [1/2]

void v8::internal::Assembler::tne ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ tne() [2/2]

void v8::internal::Assembler::tne ( Register  rs,
Register  rt,
uint16_t  code 
)

◆ trunc_l_d() [1/2]

void v8::internal::Assembler::trunc_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ trunc_l_d() [2/2]

void v8::internal::Assembler::trunc_l_d ( FPURegister  fd,
FPURegister  fs 
)

◆ trunc_l_s() [1/2]

void v8::internal::Assembler::trunc_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ trunc_l_s() [2/2]

void v8::internal::Assembler::trunc_l_s ( FPURegister  fd,
FPURegister  fs 
)

◆ trunc_w_d() [1/2]

void v8::internal::Assembler::trunc_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ trunc_w_d() [2/2]

void v8::internal::Assembler::trunc_w_d ( FPURegister  fd,
FPURegister  fs 
)

◆ trunc_w_s() [1/2]

void v8::internal::Assembler::trunc_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ trunc_w_s() [2/2]

void v8::internal::Assembler::trunc_w_s ( FPURegister  fd,
FPURegister  fs 
)

◆ tst() [1/3]

void v8::internal::Assembler::tst ( const Register rn,
const Operand operand 
)

◆ tst() [2/3]

void v8::internal::Assembler::tst ( Register  src1,
const Operand src2,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::IsObjectStringType(), v8::internal::MacroAssembler::JumpIfNotSmi(), v8::internal::MacroAssembler::JumpIfSmi(), v8::internal::MacroAssembler::NonNegativeSmiTst(), v8::internal::MacroAssembler::SmiTst(), and tst().

+ Here is the caller graph for this function:

◆ tst() [3/3]

void v8::internal::Assembler::tst ( Register  src1,
Register  src2,
Condition  cond = al 
)
inline

Definition at line 891 of file assembler-arm.h.

891  {
892  tst(src1, Operand(src2), cond);
893  }
void tst(Register src1, const Operand &src2, Condition cond=al)

References tst().

+ Here is the call graph for this function:

◆ ubfiz()

void v8::internal::Assembler::ubfiz ( const Register rd,
const Register rn,
unsigned  lsb,
unsigned  width 
)
inline

Definition at line 1297 of file assembler-arm64.h.

1300  {
1301  DCHECK(width >= 1);
1302  DCHECK(lsb + width <= rn.SizeInBits());
1303  ubfm(rd, rn, (rd.SizeInBits() - lsb) & (rd.SizeInBits() - 1), width - 1);
1304  }

References DCHECK, v8::internal::CPURegister::SizeInBits(), and ubfm().

Referenced by v8::internal::MacroAssembler::Ubfiz().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ubfm()

void v8::internal::Assembler::ubfm ( const Register rd,
const Register rn,
unsigned  immr,
unsigned  imms 
)

Referenced by lsl(), lsr(), ubfiz(), ubfx(), uxtb(), uxth(), and uxtw().

+ Here is the caller graph for this function:

◆ ubfx() [1/2]

void v8::internal::Assembler::ubfx ( const Register rd,
const Register rn,
unsigned  lsb,
unsigned  width 
)
inline

Definition at line 1307 of file assembler-arm64.h.

1310  {
1311  DCHECK(width >= 1);
1312  DCHECK(lsb + width <= rn.SizeInBits());
1313  ubfm(rd, rn, lsb, lsb + width - 1);
1314  }

References DCHECK, v8::internal::CPURegister::SizeInBits(), and ubfm().

+ Here is the call graph for this function:

◆ ubfx() [2/2]

void v8::internal::Assembler::ubfx ( Register  dst,
Register  src,
int  lsb,
int  width,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Ubfx().

+ Here is the caller graph for this function:

◆ ucomisd() [1/4]

void v8::internal::Assembler::ucomisd ( XMMRegister  dst,
const Operand src 
)

◆ ucomisd() [2/4]

void v8::internal::Assembler::ucomisd ( XMMRegister  dst,
const Operand src 
)

◆ ucomisd() [3/4]

void v8::internal::Assembler::ucomisd ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 975 of file assembler-ia32.h.

975 { ucomisd(dst, Operand(src)); }
void ucomisd(XMMRegister dst, XMMRegister src)

References ucomisd().

Referenced by ucomisd().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ucomisd() [4/4]

void v8::internal::Assembler::ucomisd ( XMMRegister  dst,
XMMRegister  src 
)

◆ ucvtf()

void v8::internal::Assembler::ucvtf ( const FPRegister fd,
const Register rn,
unsigned  fbits = 0 
)

Referenced by v8::internal::MacroAssembler::Ucvtf().

+ Here is the caller graph for this function:

◆ udiv() [1/2]

void v8::internal::Assembler::udiv ( const Register rd,
const Register rn,
const Register rm 
)

◆ udiv() [2/2]

void v8::internal::Assembler::udiv ( Register  dst,
Register  src1,
Register  src2,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Udiv().

+ Here is the caller graph for this function:

◆ umaddl()

void v8::internal::Assembler::umaddl ( const Register rd,
const Register rn,
const Register rm,
const Register ra 
)

Referenced by v8::internal::MacroAssembler::Umaddl().

+ Here is the caller graph for this function:

◆ umlal()

void v8::internal::Assembler::umlal ( Register  dstL,
Register  dstH,
Register  src1,
Register  src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ umsubl()

void v8::internal::Assembler::umsubl ( const Register rd,
const Register rn,
const Register rm,
const Register ra 
)

Referenced by v8::internal::MacroAssembler::Umsubl().

+ Here is the caller graph for this function:

◆ umull()

void v8::internal::Assembler::umull ( Register  dstL,
Register  dstH,
Register  src1,
Register  src2,
SBit  s = LeaveCC,
Condition  cond = al 
)

◆ Unreachable()

void v8::internal::Assembler::Unreachable ( )
inline

Definition at line 566 of file assembler-arm64-inl.h.

566  {
567 #ifdef USE_SIMULATOR
568  debug("UNREACHABLE", __LINE__, BREAK);
569 #else
570  // Crash by branching to 0. lr now points near the fault.
571  Emit(BLR | Rn(xzr));
572 #endif
573 }
static Instr Rn(CPURegister rn)
void debug(const char *message, uint32_t code, Instr params=BREAK)

References v8::internal::BLR, v8::internal::BREAK, debug(), Emit(), and Rn().

+ Here is the call graph for this function:

◆ unresolved_branches_first_limit()

int v8::internal::Assembler::unresolved_branches_first_limit ( ) const
inlineprotected

Definition at line 2224 of file assembler-arm64.h.

2224  {
2225  DCHECK(!unresolved_branches_.empty());
2226  return unresolved_branches_.begin()->first;
2227  }
std::multimap< int, FarBranchInfo > unresolved_branches_

References DCHECK, and unresolved_branches_.

Referenced by ShouldEmitVeneers().

+ Here is the caller graph for this function:

◆ usat()

void v8::internal::Assembler::usat ( Register  dst,
int  satpos,
const Operand src,
Condition  cond = al 
)

◆ use_extended_constant_pool()

bool v8::internal::Assembler::use_extended_constant_pool ( ) const
inline

Definition at line 1493 of file assembler-arm.h.

1493  {
1494  return constant_pool_builder_.current_section() ==
1496  }
ConstantPoolBuilder constant_pool_builder_

References constant_pool_builder_, and v8::internal::ConstantPoolArray::EXTENDED_SECTION.

◆ uxtab()

void v8::internal::Assembler::uxtab ( Register  dst,
Register  src1,
const Operand src2,
Condition  cond = al 
)

◆ uxtb() [1/2]

void v8::internal::Assembler::uxtb ( const Register rd,
const Register rn 
)
inline

Definition at line 1317 of file assembler-arm64.h.

1317  {
1318  ubfm(rd, rn, 0, 7);
1319  }

References ubfm().

+ Here is the call graph for this function:

◆ uxtb() [2/2]

void v8::internal::Assembler::uxtb ( Register  dst,
const Operand src,
Condition  cond = al 
)

Referenced by v8::internal::MacroAssembler::Uxtb().

+ Here is the caller graph for this function:

◆ uxtb16()

void v8::internal::Assembler::uxtb16 ( Register  dst,
const Operand src,
Condition  cond = al 
)

◆ uxth()

void v8::internal::Assembler::uxth ( const Register rd,
const Register rn 
)
inline

Definition at line 1322 of file assembler-arm64.h.

1322  {
1323  ubfm(rd, rn, 0, 15);
1324  }

References ubfm().

Referenced by v8::internal::MacroAssembler::Uxth().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ uxtw()

void v8::internal::Assembler::uxtw ( const Register rd,
const Register rn 
)
inline

Definition at line 1327 of file assembler-arm64.h.

1327  {
1328  ubfm(rd, rn, 0, 31);
1329  }

References ubfm().

Referenced by v8::internal::MacroAssembler::Uxtw().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vabs()

void v8::internal::Assembler::vabs ( const DwVfpRegister  dst,
const DwVfpRegister  src,
const Condition  cond = al 
)

◆ vadd()

void v8::internal::Assembler::vadd ( const DwVfpRegister  dst,
const DwVfpRegister  src1,
const DwVfpRegister  src2,
const Condition  cond = al 
)

◆ vcmp() [1/2]

void v8::internal::Assembler::vcmp ( const DwVfpRegister  src1,
const double  src2,
const Condition  cond = al 
)

◆ vcmp() [2/2]

void v8::internal::Assembler::vcmp ( const DwVfpRegister  src1,
const DwVfpRegister  src2,
const Condition  cond = al 
)

◆ vcvt_f32_f64()

void v8::internal::Assembler::vcvt_f32_f64 ( const SwVfpRegister  dst,
const DwVfpRegister  src,
VFPConversionMode  mode = kDefaultRoundToZero,
const Condition  cond = al 
)

◆ vcvt_f32_s32()

void v8::internal::Assembler::vcvt_f32_s32 ( const SwVfpRegister  dst,
const SwVfpRegister  src,
VFPConversionMode  mode = kDefaultRoundToZero,
const Condition  cond = al 
)

◆ vcvt_f64_f32()

void v8::internal::Assembler::vcvt_f64_f32 ( const DwVfpRegister  dst,
const SwVfpRegister  src,
VFPConversionMode  mode = kDefaultRoundToZero,
const Condition  cond = al 
)

◆ vcvt_f64_s32() [1/2]

void v8::internal::Assembler::vcvt_f64_s32 ( const DwVfpRegister  dst,
const SwVfpRegister  src,
VFPConversionMode  mode = kDefaultRoundToZero,
const Condition  cond = al 
)

◆ vcvt_f64_s32() [2/2]

void v8::internal::Assembler::vcvt_f64_s32 ( const DwVfpRegister  dst,
int  fraction_bits,
const Condition  cond = al 
)

◆ vcvt_f64_u32()

void v8::internal::Assembler::vcvt_f64_u32 ( const DwVfpRegister  dst,
const SwVfpRegister  src,
VFPConversionMode  mode = kDefaultRoundToZero,
const Condition  cond = al 
)

◆ vcvt_s32_f64()

void v8::internal::Assembler::vcvt_s32_f64 ( const SwVfpRegister  dst,
const DwVfpRegister  src,
VFPConversionMode  mode = kDefaultRoundToZero,
const Condition  cond = al 
)

◆ vcvt_u32_f64()

void v8::internal::Assembler::vcvt_u32_f64 ( const SwVfpRegister  dst,
const DwVfpRegister  src,
VFPConversionMode  mode = kDefaultRoundToZero,
const Condition  cond = al 
)

◆ vdiv()

void v8::internal::Assembler::vdiv ( const DwVfpRegister  dst,
const DwVfpRegister  src1,
const DwVfpRegister  src2,
const Condition  cond = al 
)

◆ vld1()

void v8::internal::Assembler::vld1 ( NeonSize  size,
const NeonListOperand &  dst,
const NeonMemOperand &  src 
)

◆ vldm() [1/2]

void v8::internal::Assembler::vldm ( BlockAddrMode  am,
Register  base,
DwVfpRegister  first,
DwVfpRegister  last,
Condition  cond = al 
)

◆ vldm() [2/2]

void v8::internal::Assembler::vldm ( BlockAddrMode  am,
Register  base,
SwVfpRegister  first,
SwVfpRegister  last,
Condition  cond = al 
)

◆ vldr() [1/4]

void v8::internal::Assembler::vldr ( const DwVfpRegister  dst,
const MemOperand src,
const Condition  cond = al 
)

◆ vldr() [2/4]

void v8::internal::Assembler::vldr ( const DwVfpRegister  dst,
const Register  base,
int  offset,
const Condition  cond = al 
)

◆ vldr() [3/4]

void v8::internal::Assembler::vldr ( const SwVfpRegister  dst,
const MemOperand src,
const Condition  cond = al 
)

◆ vldr() [4/4]

void v8::internal::Assembler::vldr ( const SwVfpRegister  dst,
const Register  base,
int  offset,
const Condition  cond = al 
)

◆ vmla()

void v8::internal::Assembler::vmla ( const DwVfpRegister  dst,
const DwVfpRegister  src1,
const DwVfpRegister  src2,
const Condition  cond = al 
)

◆ vmls()

void v8::internal::Assembler::vmls ( const DwVfpRegister  dst,
const DwVfpRegister  src1,
const DwVfpRegister  src2,
const Condition  cond = al 
)

◆ vmov() [1/9]

void v8::internal::Assembler::vmov ( const DwVfpRegister  dst,
const DwVfpRegister  src,
const Condition  cond = al 
)

◆ vmov() [2/9]

void v8::internal::Assembler::vmov ( const DwVfpRegister  dst,
const Register  src1,
const Register  src2,
const Condition  cond = al 
)

◆ vmov() [3/9]

void v8::internal::Assembler::vmov ( const DwVfpRegister  dst,
const VmovIndex  index,
const Register  src,
const Condition  cond = al 
)

◆ vmov() [4/9]

void v8::internal::Assembler::vmov ( const DwVfpRegister  dst,
double  imm,
const Register  scratch = no_reg 
)

◆ vmov() [5/9]

void v8::internal::Assembler::vmov ( const Register  dst,
const SwVfpRegister  src,
const Condition  cond = al 
)

◆ vmov() [6/9]

void v8::internal::Assembler::vmov ( const Register  dst,
const VmovIndex  index,
const DwVfpRegister  src,
const Condition  cond = al 
)

◆ vmov() [7/9]

void v8::internal::Assembler::vmov ( const Register  dst1,
const Register  dst2,
const DwVfpRegister  src,
const Condition  cond = al 
)

◆ vmov() [8/9]

void v8::internal::Assembler::vmov ( const SwVfpRegister  dst,
const Register  src,
const Condition  cond = al 
)

◆ vmov() [9/9]

void v8::internal::Assembler::vmov ( const SwVfpRegister  dst,
const SwVfpRegister  src,
const Condition  cond = al 
)

◆ vmovl()

void v8::internal::Assembler::vmovl ( NeonDataType  dt,
QwNeonRegister  dst,
DwVfpRegister  src 
)

◆ vmrs()

void v8::internal::Assembler::vmrs ( const Register  dst,
const Condition  cond = al 
)

◆ vmsr()

void v8::internal::Assembler::vmsr ( const Register  dst,
const Condition  cond = al 
)

◆ vmul()

void v8::internal::Assembler::vmul ( const DwVfpRegister  dst,
const DwVfpRegister  src1,
const DwVfpRegister  src2,
const Condition  cond = al 
)

◆ vneg()

void v8::internal::Assembler::vneg ( const DwVfpRegister  dst,
const DwVfpRegister  src,
const Condition  cond = al 
)

◆ vsqrt()

void v8::internal::Assembler::vsqrt ( const DwVfpRegister  dst,
const DwVfpRegister  src,
const Condition  cond = al 
)

◆ vst1()

void v8::internal::Assembler::vst1 ( NeonSize  size,
const NeonListOperand &  src,
const NeonMemOperand &  dst 
)

◆ vstm() [1/2]

void v8::internal::Assembler::vstm ( BlockAddrMode  am,
Register  base,
DwVfpRegister  first,
DwVfpRegister  last,
Condition  cond = al 
)

◆ vstm() [2/2]

void v8::internal::Assembler::vstm ( BlockAddrMode  am,
Register  base,
SwVfpRegister  first,
SwVfpRegister  last,
Condition  cond = al 
)

◆ vstr() [1/4]

void v8::internal::Assembler::vstr ( const DwVfpRegister  src,
const MemOperand dst,
const Condition  cond = al 
)

◆ vstr() [2/4]

void v8::internal::Assembler::vstr ( const DwVfpRegister  src,
const Register  base,
int  offset,
const Condition  cond = al 
)

◆ vstr() [3/4]

void v8::internal::Assembler::vstr ( const SwVfpRegister  src,
const MemOperand dst,
const Condition  cond = al 
)

◆ vstr() [4/4]

void v8::internal::Assembler::vstr ( const SwVfpRegister  src,
const Register  base,
int  offset,
const Condition  cond = al 
)

◆ vsub()

void v8::internal::Assembler::vsub ( const DwVfpRegister  dst,
const DwVfpRegister  src1,
const DwVfpRegister  src2,
const Condition  cond = al 
)

◆ xchg() [1/4]

void v8::internal::Assembler::xchg ( Register  dst,
const Operand src 
)

◆ xchg() [2/4]

void v8::internal::Assembler::xchg ( Register  dst,
const Operand src 
)

◆ xchg() [3/4]

void v8::internal::Assembler::xchg ( Register  dst,
Register  src 
)

◆ xchg() [4/4]

void v8::internal::Assembler::xchg ( Register  dst,
Register  src 
)

◆ xor_() [1/14]

void v8::internal::Assembler::xor_ ( const Operand dst,
const Immediate x 
)

◆ xor_() [2/14]

void v8::internal::Assembler::xor_ ( const Operand dst,
const Immediate x 
)

◆ xor_() [3/14]

void v8::internal::Assembler::xor_ ( const Operand dst,
Register  src 
)

◆ xor_() [4/14]

void v8::internal::Assembler::xor_ ( const Operand dst,
Register  src 
)

◆ xor_() [5/14]

void v8::internal::Assembler::xor_ ( Register  dst,
const Immediate imm 
)
inline

Definition at line 787 of file assembler-ia32.h.

787 { xor_(Operand(dst), imm); }
void xor_(Register dst, int32_t imm32)

References xor_().

Referenced by xor_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xor_() [6/14]

void v8::internal::Assembler::xor_ ( Register  dst,
const Immediate imm 
)
inline

Definition at line 772 of file assembler-x87.h.

772 { xor_(Operand(dst), imm); }

References xor_().

Referenced by xor_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xor_() [7/14]

void v8::internal::Assembler::xor_ ( Register  dst,
const Operand src 
)

◆ xor_() [8/14]

void v8::internal::Assembler::xor_ ( Register  dst,
const Operand src 
)

◆ xor_() [9/14]

void v8::internal::Assembler::xor_ ( Register  dst,
int32_t  imm32 
)

◆ xor_() [10/14]

void v8::internal::Assembler::xor_ ( Register  dst,
int32_t  imm32 
)

◆ xor_() [11/14]

void v8::internal::Assembler::xor_ ( Register  dst,
Register  src 
)
inline

Definition at line 784 of file assembler-ia32.h.

784 { xor_(dst, Operand(src)); }

References xor_().

Referenced by xor_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xor_() [12/14]

void v8::internal::Assembler::xor_ ( Register  dst,
Register  src 
)
inline

Definition at line 769 of file assembler-x87.h.

769 { xor_(dst, Operand(src)); }

References xor_().

Referenced by xor_().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xor_() [13/14]

void v8::internal::Assembler::xor_ ( Register  rd,
Register  rs,
Register  rt 
)

◆ xor_() [14/14]

void v8::internal::Assembler::xor_ ( Register  rd,
Register  rs,
Register  rt 
)

◆ xori() [1/2]

void v8::internal::Assembler::xori ( Register  rd,
Register  rs,
int32_t  j 
)

◆ xori() [2/2]

void v8::internal::Assembler::xori ( Register  rd,
Register  rs,
int32_t  j 
)

◆ xorpd() [1/2]

void v8::internal::Assembler::xorpd ( XMMRegister  dst,
XMMRegister  src 
)

◆ xorpd() [2/2]

void v8::internal::Assembler::xorpd ( XMMRegister  dst,
XMMRegister  src 
)

◆ xorps() [1/4]

void v8::internal::Assembler::xorps ( XMMRegister  dst,
const Operand src 
)

◆ xorps() [2/4]

void v8::internal::Assembler::xorps ( XMMRegister  dst,
const Operand src 
)

◆ xorps() [3/4]

void v8::internal::Assembler::xorps ( XMMRegister  dst,
XMMRegister  src 
)
inline

Definition at line 932 of file assembler-ia32.h.

932 { xorps(dst, Operand(src)); }
void xorps(XMMRegister dst, const Operand &src)

References xorps().

Referenced by xorps().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xorps() [4/4]

void v8::internal::Assembler::xorps ( XMMRegister  dst,
XMMRegister  src 
)

Friends And Related Function Documentation

◆ BlockConstPoolScope

friend class BlockConstPoolScope
friend

Definition at line 1656 of file assembler-arm.h.

◆ BlockTrampolinePoolScope

Definition at line 1366 of file assembler-mips.h.

◆ CodePatcher

CodePatcher
friend

Definition at line 1655 of file assembler-arm.h.

◆ ConstantPoolUnavailableScope

friend class ConstantPoolUnavailableScope
friend

Definition at line 1658 of file assembler-arm.h.

◆ ConstPool

friend class ConstPool
friend

Definition at line 2250 of file assembler-arm64.h.

◆ EnsureSpace

EnsureSpace
friend

Definition at line 1662 of file assembler-arm.h.

◆ FrameAndConstantPoolScope

friend class FrameAndConstantPoolScope
friend

Definition at line 1657 of file assembler-arm.h.

◆ PositionsRecorder

PositionsRecorder
friend

Definition at line 1661 of file assembler-arm.h.

◆ RegExpMacroAssemblerMIPS

Definition at line 1363 of file assembler-mips.h.

◆ RegExpMacroAssemblerX64

friend class RegExpMacroAssemblerX64
friend

Definition at line 1566 of file assembler-x64.h.

◆ RelocInfo

RelocInfo
friend

Definition at line 1654 of file assembler-arm.h.

Member Data Documentation

◆ block_buffer_growth_

bool v8::internal::Assembler::block_buffer_growth_
private

◆ code_targets_

List< Handle<Code> > v8::internal::Assembler::code_targets_
private

Definition at line 1571 of file assembler-x64.h.

Referenced by code_target_object_handle_at(), and emit_code_target().

◆ const_pool_blocked_nesting_

int v8::internal::Assembler::const_pool_blocked_nesting_
private

Definition at line 1585 of file assembler-arm.h.

Referenced by EndBlockConstPool(), is_const_pool_blocked(), and StartBlockConstPool().

◆ constant_pool_available_

bool v8::internal::Assembler::constant_pool_available_
private

Definition at line 1620 of file assembler-arm.h.

Referenced by is_constant_pool_available(), and set_constant_pool_available().

◆ constant_pool_builder_

ConstantPoolBuilder v8::internal::Assembler::constant_pool_builder_
private

Definition at line 1613 of file assembler-arm.h.

Referenced by use_extended_constant_pool().

◆ constpool_

ConstPool v8::internal::Assembler::constpool_
private

Definition at line 2163 of file assembler-arm64.h.

Referenced by AbortedCodeGeneration(), and IsConstPoolEmpty().

◆ first_const_pool_32_use_

int v8::internal::Assembler::first_const_pool_32_use_
private

Definition at line 1590 of file assembler-arm.h.

Referenced by EndBlockConstPool().

◆ first_const_pool_64_use_

int v8::internal::Assembler::first_const_pool_64_use_
private

Definition at line 1591 of file assembler-arm.h.

Referenced by EndBlockConstPool().

◆ internal_trampoline_exception_

bool v8::internal::Assembler::internal_trampoline_exception_
private

Definition at line 1361 of file assembler-mips.h.

Referenced by has_exception().

◆ kApproxMaxDistToConstPool

const int v8::internal::Assembler::kApproxMaxDistToConstPool = 64 * KB
staticprivate

Definition at line 2137 of file assembler-arm64.h.

◆ kApproxMaxPoolEntryCount

const int v8::internal::Assembler::kApproxMaxPoolEntryCount = 512
staticprivate

Definition at line 2141 of file assembler-arm64.h.

◆ kBranchPCOffset

static const int v8::internal::Assembler::kBranchPCOffset = 4
static

Definition at line 551 of file assembler-mips.h.

◆ kBufferCheckInterval

static const int v8::internal::Assembler::kBufferCheckInterval = 1*KB/2
staticprivate

Definition at line 1180 of file assembler-mips.h.

◆ kCallInstructionLength

static const int v8::internal::Assembler::kCallInstructionLength = 5
static

Definition at line 550 of file assembler-ia32.h.

◆ kCallScratchRegisterInstructionLength

const int v8::internal::Assembler::kCallScratchRegisterInstructionLength = 3
static

Definition at line 574 of file assembler-x64.h.

◆ kCallSequenceLength

const int v8::internal::Assembler::kCallSequenceLength
static
Initial value:

Definition at line 581 of file assembler-x64.h.

Referenced by v8::internal::MacroAssembler::CallSize().

◆ kCallSizeWithoutRelocation

const int v8::internal::Assembler::kCallSizeWithoutRelocation = 4 * kInstructionSize
static

Definition at line 919 of file assembler-arm64.h.

◆ kCallSizeWithRelocation

const int v8::internal::Assembler::kCallSizeWithRelocation = 2 * kInstructionSize
static

Definition at line 920 of file assembler-arm64.h.

◆ kCallTargetAddressOffset

static const int v8::internal::Assembler::kCallTargetAddressOffset = kPointerSize
static

Definition at line 541 of file assembler-ia32.h.

◆ kCheckConstInterval

static const int v8::internal::Assembler::kCheckConstInterval = kCheckConstIntervalInst * kInstrSize
staticprivate

Definition at line 1194 of file assembler-mips.h.

◆ kCheckConstIntervalInst

static const int v8::internal::Assembler::kCheckConstIntervalInst = 32
staticprivate

Definition at line 1193 of file assembler-mips.h.

◆ kCheckConstPoolInterval

const int v8::internal::Assembler::kCheckConstPoolInterval = 128
staticprivate

Definition at line 2131 of file assembler-arm64.h.

◆ kCheckPoolInterval

const int v8::internal::Assembler::kCheckPoolInterval = kCheckPoolIntervalInst * kInstrSize
staticprivate

Definition at line 1581 of file assembler-arm.h.

◆ kCheckPoolIntervalInst

const int v8::internal::Assembler::kCheckPoolIntervalInst = 32
staticprivate

Definition at line 1580 of file assembler-arm.h.

◆ kDebugBreakSlotInstructions

static const int v8::internal::Assembler::kDebugBreakSlotInstructions = 3
static

Definition at line 826 of file assembler-arm.h.

◆ kDebugBreakSlotLength

static const int v8::internal::Assembler::kDebugBreakSlotLength
static

◆ kGap

static const int v8::internal::Assembler::kGap = 32
staticprivate

◆ kInstrSize

◆ kInstructionsFor32BitConstant

static const int v8::internal::Assembler::kInstructionsFor32BitConstant = 3
static

Definition at line 568 of file assembler-mips.h.

Referenced by deserialization_set_special_target_at().

◆ kInstructionsFor64BitConstant

const int v8::internal::Assembler::kInstructionsFor64BitConstant = 5
static

Definition at line 559 of file assembler-mips64.h.

Referenced by deserialization_set_special_target_at().

◆ kInvalidSlotPos

static const int v8::internal::Assembler::kInvalidSlotPos = -1
staticprivate

Definition at line 1358 of file assembler-mips.h.

Referenced by v8::internal::Assembler::Trampoline::take_slot().

◆ kJccShortPrefix

static const byte v8::internal::Assembler::kJccShortPrefix = 0x70
static

Definition at line 565 of file assembler-ia32.h.

◆ kJcShortOpcode

static const byte v8::internal::Assembler::kJcShortOpcode = kJccShortPrefix | carry
static

Definition at line 567 of file assembler-ia32.h.

◆ kJmpShortOpcode

static const byte v8::internal::Assembler::kJmpShortOpcode = 0xEB
static

Definition at line 563 of file assembler-ia32.h.

◆ kJncShortOpcode

static const byte v8::internal::Assembler::kJncShortOpcode = kJccShortPrefix | not_carry
static

Definition at line 566 of file assembler-ia32.h.

◆ kJnzShortOpcode

static const byte v8::internal::Assembler::kJnzShortOpcode = kJccShortPrefix | not_zero
static

Definition at line 568 of file assembler-ia32.h.

◆ kJSRetSequenceInstructions

const int v8::internal::Assembler::kJSRetSequenceInstructions = 7
static

Definition at line 954 of file assembler-arm64.h.

◆ kJSReturnSequenceInstructions

static const int v8::internal::Assembler::kJSReturnSequenceInstructions = 4
static

Definition at line 825 of file assembler-arm.h.

◆ kJSReturnSequenceLength

static const int v8::internal::Assembler::kJSReturnSequenceLength = 6
static

Definition at line 552 of file assembler-ia32.h.

◆ kJzShortOpcode

static const byte v8::internal::Assembler::kJzShortOpcode = kJccShortPrefix | zero
static

Definition at line 569 of file assembler-ia32.h.

◆ kMaxBranchOffset

static const int v8::internal::Assembler::kMaxBranchOffset = (1 << (18 - 1)) - 1
staticprivate

Definition at line 1357 of file assembler-mips.h.

◆ kMaxDistToFPPool

const int v8::internal::Assembler::kMaxDistToFPPool = 1*KB
static

Definition at line 1473 of file assembler-arm.h.

Referenced by EndBlockConstPool().

◆ kMaxDistToIntPool

const int v8::internal::Assembler::kMaxDistToIntPool = 4*KB
static

Definition at line 1472 of file assembler-arm.h.

Referenced by EndBlockConstPool().

◆ kMaximalBufferSize

static const int v8::internal::Assembler::kMaximalBufferSize = 512*MB
static

Definition at line 1087 of file assembler-ia32.h.

◆ kMaxNumPending32RelocInfo

const int v8::internal::Assembler::kMaxNumPending32RelocInfo = kMaxDistToIntPool/kInstrSize
static

Definition at line 1475 of file assembler-arm.h.

◆ kMaxNumPending64RelocInfo

const int v8::internal::Assembler::kMaxNumPending64RelocInfo = kMaxDistToFPPool/kInstrSize
static

Definition at line 1476 of file assembler-arm.h.

◆ kMaxRelocSize

static const int v8::internal::Assembler::kMaxRelocSize = RelocInfoWriter::kMaxSize
staticprivate

Definition at line 1595 of file assembler-arm.h.

◆ kMaxVeneerCodeSize

const int v8::internal::Assembler::kMaxVeneerCodeSize = 1 * kInstructionSize
static

Definition at line 1909 of file assembler-arm64.h.

◆ kMoveAddressIntoScratchRegisterInstructionLength

const int v8::internal::Assembler::kMoveAddressIntoScratchRegisterInstructionLength
static
Initial value:

Definition at line 578 of file assembler-x64.h.

◆ kNopByte

static const byte v8::internal::Assembler::kNopByte = 0x90
static

Definition at line 560 of file assembler-ia32.h.

◆ kPatchDebugBreakSlotAddressOffset

static const int v8::internal::Assembler::kPatchDebugBreakSlotAddressOffset = 0 * kInstrSize
static

Definition at line 817 of file assembler-arm.h.

Referenced by v8::internal::Debug::SetAfterBreakTarget().

◆ kPatchDebugBreakSlotReturnOffset

static const int v8::internal::Assembler::kPatchDebugBreakSlotReturnOffset = 2 * kInstrSize
static

Definition at line 819 of file assembler-arm.h.

Referenced by break_address_from_return_address().

◆ kPatchReturnSequenceAddressOffset

static const int v8::internal::Assembler::kPatchReturnSequenceAddressOffset = 0 * kInstrSize
static

◆ kPcLoadDelta

static const int v8::internal::Assembler::kPcLoadDelta = 8
static

Definition at line 823 of file assembler-arm.h.

◆ kRealPatchReturnSequenceAddressOffset

const int v8::internal::Assembler::kRealPatchReturnSequenceAddressOffset
static

◆ kShortCallInstructionLength

const int v8::internal::Assembler::kShortCallInstructionLength = 5
static

Definition at line 576 of file assembler-x64.h.

Referenced by v8::internal::MacroAssembler::CallSize().

◆ kSpecialTargetSize

static const int v8::internal::Assembler::kSpecialTargetSize = kPointerSize
static

Definition at line 800 of file assembler-arm.h.

◆ kStartOfLabelLinkChain

const int v8::internal::Assembler::kStartOfLabelLinkChain = 0
staticprivate

Definition at line 2070 of file assembler-arm64.h.

Referenced by LinkAndGetInstructionOffsetTo().

◆ kTestAlByte

static const byte v8::internal::Assembler::kTestAlByte = 0xA8
static

Definition at line 558 of file assembler-ia32.h.

◆ kTestEaxByte

const byte v8::internal::Assembler::kTestEaxByte = 0xA9
static

Definition at line 605 of file assembler-x64.h.

◆ kTrampolineSlotsSize

static const int v8::internal::Assembler::kTrampolineSlotsSize = 4 * kInstrSize
staticprivate

◆ kVeneerDistanceCheckMargin

const int v8::internal::Assembler::kVeneerDistanceCheckMargin
staticprotected
Initial value:

Definition at line 2222 of file assembler-arm64.h.

◆ kVeneerDistanceMargin

const int v8::internal::Assembler::kVeneerDistanceMargin = 1 * KB
staticprotected

Definition at line 2217 of file assembler-arm64.h.

◆ kVeneerNoProtectionFactor

const int v8::internal::Assembler::kVeneerNoProtectionFactor = 2
staticprotected

Definition at line 2221 of file assembler-arm64.h.

◆ last_bound_pos_

int v8::internal::Assembler::last_bound_pos_
private

Definition at line 1616 of file assembler-arm.h.

◆ last_trampoline_pool_end_

int v8::internal::Assembler::last_trampoline_pool_end_
private

Definition at line 1203 of file assembler-mips.h.

◆ next_buffer_check_

int v8::internal::Assembler::next_buffer_check_
private

◆ next_constant_pool_check_

int v8::internal::Assembler::next_constant_pool_check_
private

Definition at line 2114 of file assembler-arm64.h.

Referenced by SetNextConstPoolCheckIn().

◆ next_veneer_pool_check_

int v8::internal::Assembler::next_veneer_pool_check_
protected

Definition at line 2232 of file assembler-arm64.h.

◆ no_const_pool_before_

int v8::internal::Assembler::no_const_pool_before_
private

Definition at line 1586 of file assembler-arm.h.

Referenced by EndBlockConstPool(), and is_const_pool_blocked().

◆ no_trampoline_pool_before_

int v8::internal::Assembler::no_trampoline_pool_before_
private

Definition at line 1200 of file assembler-mips.h.

Referenced by BlockTrampolinePoolBefore().

◆ num_pending_32_bit_reloc_info_

int v8::internal::Assembler::num_pending_32_bit_reloc_info_
private

Definition at line 1609 of file assembler-arm.h.

Referenced by EndBlockConstPool().

◆ num_pending_64_bit_reloc_info_

int v8::internal::Assembler::num_pending_64_bit_reloc_info_
private

Definition at line 1611 of file assembler-arm.h.

Referenced by EndBlockConstPool().

◆ pending_32_bit_reloc_info_

RelocInfo v8::internal::Assembler::pending_32_bit_reloc_info_[kMaxNumPending32RelocInfo]
private

Definition at line 1606 of file assembler-arm.h.

◆ pending_64_bit_reloc_info_

RelocInfo v8::internal::Assembler::pending_64_bit_reloc_info_[kMaxNumPending64RelocInfo]
private

Definition at line 1607 of file assembler-arm.h.

◆ positions_recorder_

PositionsRecorder v8::internal::Assembler::positions_recorder_
private

Definition at line 1660 of file assembler-arm.h.

Referenced by positions_recorder().

◆ recorded_ast_id_

TypeFeedbackId v8::internal::Assembler::recorded_ast_id_
protected

Definition at line 1503 of file assembler-arm.h.

Referenced by ClearRecordedAstId(), RecordedAstId(), and SetRecordedAstId().

◆ reloc_info_writer

RelocInfoWriter v8::internal::Assembler::reloc_info_writer
private

◆ trampoline_

Trampoline v8::internal::Assembler::trampoline_
private

Definition at line 1360 of file assembler-mips.h.

◆ trampoline_emitted_

bool v8::internal::Assembler::trampoline_emitted_
private

Definition at line 1355 of file assembler-mips.h.

Referenced by is_trampoline_emitted().

◆ trampoline_pool_blocked_nesting_

int v8::internal::Assembler::trampoline_pool_blocked_nesting_
private

◆ unbound_labels_count_

int v8::internal::Assembler::unbound_labels_count_
private

Definition at line 1349 of file assembler-mips.h.

◆ unresolved_branches_

std::multimap<int, FarBranchInfo> v8::internal::Assembler::unresolved_branches_
protected

Definition at line 2213 of file assembler-arm64.h.

Referenced by unresolved_branches_first_limit().

◆ veneer_pool_blocked_nesting_

int v8::internal::Assembler::veneer_pool_blocked_nesting_
private

Definition at line 2148 of file assembler-arm64.h.

Referenced by is_veneer_pool_blocked().


The documentation for this class was generated from the following files: