#include <instructions_arm64.h>
Definition at line 193 of file instructions_arm64.h.
◆ PcRelativePatternBase() [1/2]
dart::PcRelativePatternBase::PcRelativePatternBase |
( |
uword |
pc | ) |
|
|
inlineexplicit |
◆ PcRelativePatternBase() [2/2]
dart::PcRelativePatternBase::PcRelativePatternBase |
( |
uword |
pc | ) |
|
|
inlineexplicit |
◆ distance() [1/2]
int32_t dart::PcRelativePatternBase::distance |
( |
| ) |
|
|
inline |
Definition at line 203 of file instructions_arm64.h.
203 {
204#if !defined(DART_PRECOMPILED_RUNTIME)
206 *
reinterpret_cast<int32_t*
>(
pc_));
207#else
209 return 0;
210#endif
211 }
static int64_t DecodeImm26BranchOffset(int32_t instr)
◆ distance() [2/2]
int32_t dart::PcRelativePatternBase::distance |
( |
| ) |
|
|
inline |
Definition at line 190 of file instructions_riscv.h.
190 {
193 return auipc.utype_imm() + jalr.itype_imm();
194 }
static T LoadUnaligned(const T *ptr)
◆ IsValid() [1/2]
bool dart::PcRelativePatternBase::IsValid |
( |
| ) |
const |
◆ IsValid() [2/2]
bool dart::PcRelativePatternBase::IsValid |
( |
| ) |
const |
◆ set_distance() [1/2]
void dart::PcRelativePatternBase::set_distance |
( |
int32_t |
distance | ) |
|
|
inline |
Definition at line 213 of file instructions_arm64.h.
213 {
214#if !defined(DART_PRECOMPILED_RUNTIME)
215 int32_t*
word =
reinterpret_cast<int32_t*
>(
pc_);
217#else
219#endif
220 }
static int32_t EncodeImm26BranchOffset(int64_t imm, int32_t instr)
◆ set_distance() [2/2]
void dart::PcRelativePatternBase::set_distance |
( |
int32_t |
distance | ) |
|
|
inline |
Definition at line 196 of file instructions_riscv.h.
196 {
200 intx_t lo =
ImmLo(imm);
201 intx_t hi =
ImmHi(imm);
203 EncodeRd(auipc.rd()) |
204 EncodeOpcode(
AUIPC));
207 EncodeFunct3(
F3_0) | EncodeRd(jalr.rd()) |
209 }
uint32_t EncodeUTypeImm(intptr_t imm)
static void StoreUnaligned(T *ptr, T value)
uint32_t EncodeITypeImm(intptr_t imm)
◆ kLengthInBytes [1/2]
◆ kLengthInBytes [2/2]
constexpr intptr_t dart::PcRelativePatternBase::kLengthInBytes = 8 |
|
staticconstexpr |
◆ kLowerCallingRange
static constexpr intptr_t dart::PcRelativePatternBase::kLowerCallingRange = -(1 << 27) |
|
staticconstexpr |
◆ kUpperCallingRange
static constexpr intptr_t dart::PcRelativePatternBase::kUpperCallingRange = (1 << 27) - Instr::kInstrSize |
|
staticconstexpr |
◆ pc_
uword dart::PcRelativePatternBase::pc_ |
|
protected |
The documentation for this class was generated from the following files: