Lines Matching refs:Position
42 /// - Linked, unplaced and tracking the position of branches to the label.
43 /// - Bound, placed and tracking its position.
57 /// Returns the encoded position stored in the label.
58 intptr_t getEncodedPosition() const { return Position; }
60 /// Returns the position for bound labels (branches that come after this are
64 return -Position - kWordSize;
67 /// Returns the position of an earlier branch instruction that was linked to
74 return Position - kWordSize;
77 void setPosition(intptr_t NewValue) { Position = NewValue; }
79 bool isBound() const { return Position < 0; }
80 bool isLinked() const { return Position > 0; }
82 virtual bool isUnused() const { return Position == 0; }
84 void bindTo(intptr_t position) {
86 Position = -position - kWordSize;
90 void linkTo(const Assembler &Asm, intptr_t position);
93 intptr_t Position = 0;
119 template <typename T> T load(intptr_t Position) const {
120 assert(Position >= 0 &&
121 Position <= (size() - static_cast<intptr_t>(sizeof(T))));
123 memcpy(&Value, reinterpret_cast<void *>(Contents + Position), sizeof(T));
127 template <typename T> void store(intptr_t Position, T Value) {
128 assert(Position >= 0 &&
129 Position <= (size() - static_cast<intptr_t>(sizeof(T))));
130 memcpy(reinterpret_cast<void *>(Contents + Position), &Value, sizeof(T));
177 /// Returns the position in the instruction stream.
295 template <typename T> T load(intptr_t Position) const {
296 return Buffer.load<T>(Position);
299 template <typename T> void store(intptr_t Position, T Value) {
300 Buffer.store(Position, Value);