|
| AssemblerBase (ObjectPoolBuilder *object_pool_builder) |
|
virtual | ~AssemblerBase () |
|
intptr_t | CodeSize () const |
|
uword | CodeAddress (intptr_t offset) |
|
bool | HasObjectPoolBuilder () const |
|
ObjectPoolBuilder & | object_pool_builder () |
|
intptr_t | prologue_offset () const |
|
bool | has_monomorphic_entry () const |
|
void | mark_should_be_aligned () |
|
bool | should_be_aligned () const |
|
void | Comment (const char *format,...) PRINTF_ATTRIBUTE(2 |
|
virtual void | Breakpoint ()=0 |
|
virtual void | SmiTag (Register r)=0 |
|
virtual void | Bind (Label *label)=0 |
|
void | ExtendNonNegativeSmi (Register dst) |
|
virtual void | ExtendValue (Register dst, Register src, OperandSize sz)=0 |
|
virtual void | ExtendAndSmiTagValue (Register dst, Register src, OperandSize sz) |
|
virtual void | MoveRegister (Register dst, Register src) |
|
virtual void | MoveAndSmiTagRegister (Register dst, Register src) |
|
virtual void | TryAllocateObject (intptr_t cid, intptr_t instance_size, Label *failure, JumpDistance distance, Register instance_reg, Register temp)=0 |
|
void | TryAllocate (const Class &cls, Label *failure, JumpDistance distance, Register instance_reg, Register temp) |
|
virtual void | BranchIfSmi (Register reg, Label *label, JumpDistance distance=kFarJump)=0 |
|
virtual void | ArithmeticShiftRightImmediate (Register reg, intptr_t shift)=0 |
|
virtual void | CompareWords (Register reg1, Register reg2, intptr_t offset, Register count, Register temp, Label *equals)=0 |
|
void | UnrolledMemCopy (Register dst_base, intptr_t dst_offset, Register src_base, intptr_t src_offset, intptr_t size, Register temp) |
|
virtual void | LoadFieldAddressForOffset (Register reg, Register base, int32_t offset)=0 |
|
virtual void | LoadFieldAddressForRegOffset (Register address, Register instance, Register offset_in_words_as_smi)=0 |
|
virtual void | LoadAcquire (Register dst, const Address &address, OperandSize size=kWordBytes)=0 |
|
virtual void | StoreRelease (Register src, const Address &address, OperandSize size=kWordBytes)=0 |
|
virtual void | Load (Register dst, const Address &address, OperandSize sz=kWordBytes)=0 |
|
virtual void | Store (Register src, const Address &address, OperandSize sz=kWordBytes)=0 |
|
void | StoreIntoObject (Register object, const Address &address, Register value, CanBeSmi can_be_smi=kValueCanBeSmi, MemoryOrder memory_order=kRelaxedNonAtomic, Register scratch=TMP, OperandSize size=kWordBytes) |
|
void | StoreIntoObjectNoBarrier (Register object, const Address &address, Register value, MemoryOrder memory_order=kRelaxedNonAtomic, OperandSize size=kWordBytes) |
|
virtual void | StoreObjectIntoObjectNoBarrier (Register object, const Address &address, const Object &value, MemoryOrder memory_order=kRelaxedNonAtomic, OperandSize size=kWordBytes)=0 |
|
virtual void | LoadIndexedPayload (Register dst, Register base, int32_t offset, Register index, ScaleFactor scale, OperandSize sz=kWordBytes)=0 |
|
void | LoadAcquireFromOffset (Register dst, Register base, int32_t offset=0, OperandSize size=kWordBytes) |
|
void | StoreReleaseToOffset (Register src, Register base, int32_t offset=0, OperandSize size=kWordBytes) |
|
virtual void | LoadFromOffset (Register dst, Register base, int32_t offset, OperandSize sz=kWordBytes) |
|
virtual void | StoreToOffset (Register src, Register base, int32_t offset, OperandSize sz=kWordBytes) |
|
virtual void | StoreIntoObjectOffset (Register object, int32_t offset, Register value, CanBeSmi can_be_smi=kValueCanBeSmi, MemoryOrder memory_order=kRelaxedNonAtomic, Register scratch=TMP, OperandSize size=kWordBytes) |
|
virtual void | StoreIntoObjectOffsetNoBarrier (Register object, int32_t offset, Register value, MemoryOrder memory_order=kRelaxedNonAtomic, OperandSize size=kWordBytes) |
|
void | StoreObjectIntoObjectOffsetNoBarrier (Register object, int32_t offset, const Object &value, MemoryOrder memory_order=kRelaxedNonAtomic, OperandSize size=kWordBytes) |
|
void | LoadField (Register dst, const FieldAddress &address, OperandSize sz=kWordBytes) |
|
virtual void | LoadFieldFromOffset (Register dst, Register base, int32_t offset, OperandSize sz=kWordBytes) |
|
virtual void | StoreFieldToOffset (Register src, Register base, int32_t offset, OperandSize sz=kWordBytes) |
|
void | LoadSmi (Register dst, const Address &address) |
|
void | LoadSmiField (Register dst, const FieldAddress &address) |
|
void | LoadSmiFromOffset (Register dst, Register base, int32_t offset) |
|
void | LoadSmiFieldFromOffset (Register dst, Register base, int32_t offset) |
|
void | LoadCompressedFieldAddressForRegOffset (Register address, Register instance, Register offset_in_words_as_smi) |
|
void | LoadAcquireCompressed (Register dst, const Address &address) |
|
void | LoadCompressed (Register dst, const Address &address) |
|
void | LoadIndexedCompressed (Register dst, Register base, int32_t offset, Register index) |
|
void | LoadCompressedSmi (Register dst, const Address &address) |
|
void | StoreReleaseCompressed (Register src, const Address &address) |
|
void | StoreReleaseCompressedToOffset (Register src, Register base, int32_t offset=0) |
|
void | StoreCompressedIntoObject (Register object, const Address &address, Register value, CanBeSmi can_be_smi=kValueCanBeSmi, MemoryOrder memory_order=kRelaxedNonAtomic, Register scratch=TMP) |
|
void | StoreCompressedIntoObjectNoBarrier (Register object, const Address &address, Register value, MemoryOrder memory_order=kRelaxedNonAtomic) |
|
virtual void | StoreCompressedObjectIntoObjectNoBarrier (Register object, const Address &address, const Object &value, MemoryOrder memory_order=kRelaxedNonAtomic) |
|
void | StoreCompressedIntoObjectOffset (Register object, int32_t offset, Register value, CanBeSmi can_be_smi=kValueCanBeSmi, MemoryOrder memory_order=kRelaxedNonAtomic, Register scratch=TMP) |
|
void | StoreCompressedIntoObjectOffsetNoBarrier (Register object, int32_t offset, Register value, MemoryOrder memory_order=kRelaxedNonAtomic) |
|
void | StoreCompressedObjectIntoObjectOffsetNoBarrier (Register object, int32_t offset, const Object &value, MemoryOrder memory_order=kRelaxedNonAtomic) |
|
void | StoreIntoArray (Register object, Register slot, Register value, CanBeSmi can_value_be_smi=kValueCanBeSmi, Register scratch=TMP, OperandSize size=kWordBytes) |
|
void | StoreCompressedIntoArray (Register object, Register slot, Register value, CanBeSmi can_value_be_smi=kValueCanBeSmi, Register scratch=TMP) |
|
void | LoadAcquireCompressedFromOffset (Register dst, Register base, int32_t offset) |
|
void | LoadCompressedField (Register dst, const FieldAddress &address) |
|
void | LoadCompressedFromOffset (Register dst, Register base, int32_t offset) |
|
void | LoadCompressedFieldFromOffset (Register dst, Register base, int32_t offset) |
|
void | LoadCompressedSmiField (Register dst, const FieldAddress &address) |
|
void | LoadCompressedSmiFromOffset (Register dst, Register base, int32_t offset) |
|
void | LoadCompressedSmiFieldFromOffset (Register dst, Register base, int32_t offset) |
|
void | LoadFromSlot (Register dst, Register base, const Slot &slot) |
|
void | StoreToSlot (Register src, Register base, const Slot &slot, CanBeSmi can_be_smi, MemoryOrder memory_order=kRelaxedNonAtomic, Register scratch=TMP) |
|
void | StoreToSlotNoBarrier (Register src, Register base, const Slot &slot, MemoryOrder memory_order=kRelaxedNonAtomic) |
|
void | StoreToSlot (Register src, Register base, const Slot &slot, MemoryOrder memory_order=kRelaxedNonAtomic, Register scratch=TMP) |
|
virtual void | LoadInt32FromBoxOrSmi (Register result, Register value)=0 |
|
virtual void | LoadInt64FromBoxOrSmi (Register result, Register value)=0 |
|
void | LoadWordFromBoxOrSmi (Register result, Register value) |
|
void | LoadAbstractTypeNullability (Register dst, Register type) |
|
void | CompareAbstractTypeNullabilityWith (Register type, int8_t value, Register scratch) |
|
virtual void | AddScaled (Register dst, Register base, Register index, ScaleFactor scale, int32_t disp)=0 |
|
virtual void | LoadImmediate (Register dst, target::word imm)=0 |
|
virtual void | CompareImmediate (Register reg, target::word imm, OperandSize width=kWordBytes)=0 |
|
virtual void | CompareWithMemoryValue (Register value, Address address, OperandSize size=kWordBytes)=0 |
|
virtual void | AndImmediate (Register dst, target::word imm)=0 |
|
virtual void | LsrImmediate (Register dst, int32_t shift)=0 |
|
virtual void | MulImmediate (Register dst, target::word imm, OperandSize=kWordBytes)=0 |
|
virtual void | AndRegisters (Register dst, Register src1, Register src2=kNoRegister)=0 |
|
virtual void | LslRegister (Register dst, Register shift)=0 |
|
virtual void | CombineHashes (Register dst, Register other)=0 |
|
void | FinalizeHash (Register hash, Register scratch=TMP) |
|
virtual void | FinalizeHashForSize (intptr_t bit_size, Register hash, Register scratch=TMP)=0 |
|
void | LoadTypeClassId (Register dst, Register src) |
|
virtual void | EnsureHasClassIdInDEBUG (intptr_t cid, Register src, Register scratch, bool can_be_null=false)=0 |
|
intptr_t | InsertAlignedRelocation (BSS::Relocation reloc) |
|
void | MsanUnpoison (Register base, intptr_t length_in_bytes) |
|
void | MsanUnpoison (Register base, Register length_in_bytes) |
|
void | Unimplemented (const char *message) |
|
void | Untested (const char *message) |
|
void | Unreachable (const char *message) |
|
void | Stop (const char *message) |
|
void | FinalizeInstructions (const MemoryRegion ®ion) |
|
intptr_t | CountPointerOffsets () const |
|
const ZoneGrowableArray< intptr_t > & | GetPointerOffsets () const |
|
const GrowableArray< CodeComment * > & | comments () const |
|
void | BindUncheckedEntryPoint () |
|
intptr_t | UncheckedEntryOffset () const |
|
virtual void | RangeCheck (Register value, Register temp, intptr_t low, intptr_t high, RangeCheckCondition condition, Label *target)=0 |
|
void | VerifySmi (Register dst) |
|
| StackResource (ThreadState *thread) |
|
virtual | ~StackResource () |
|
ThreadState * | thread () const |
|