Home | History | Annotate | Download | only in dex

Lines Matching refs:RegStorage

68  * one view will affect the other views.  The RegStorage class does not concern itself
70 * Distinct RegStorage elements should be created for each view of a physical register
75 class RegStorage {
107 constexpr RegStorage(RegStorageKind rs_kind, int reg)
113 constexpr RegStorage(RegStorageKind rs_kind, int low_reg, int high_reg)
123 constexpr explicit RegStorage(uint16_t val) : reg_(val) {}
124 RegStorage() : reg_(kInvalid) {}
133 bool ExactlyEquals(const RegStorage& rhs) const {
137 bool NotExactlyEquals(const RegStorage& rhs) const {
232 // Create a stand-alone RegStorage from the low reg of a pair.
233 RegStorage GetLow() const {
235 return RegStorage(k32BitSolo, reg_ & kRegTypeMask);
244 // Create a stand-alone RegStorage from the high reg of a pair.
245 RegStorage GetHigh() const {
247 return RegStorage(kValid | GetHighReg());
271 static RegStorage MakeRegPair(RegStorage low, RegStorage high) {
276 return RegStorage(k64BitPair, low.GetReg(), high.GetReg());
279 static constexpr bool SameRegType(RegStorage reg1, RegStorage reg2) {
288 static RegStorage Solo32(int reg_num) {
289 return RegStorage(k32BitSolo, reg_num & kRegTypeMask);
293 static constexpr RegStorage FloatSolo32(int reg_num) {
294 return RegStorage(k32BitSolo, (reg_num & kRegNumMask) | kFloatingPoint);
298 static constexpr RegStorage Solo128(int reg_num) {
299 return RegStorage(k128BitSolo, reg_num & kRegTypeMask);
303 static constexpr RegStorage Solo64(int reg_num) {
304 return RegStorage(k64BitSolo, reg_num & kRegTypeMask);
308 static RegStorage FloatSolo64(int reg_num) {
309 return RegStorage(k64BitSolo, (reg_num & kRegNumMask) | kFloatingPoint);
312 static constexpr RegStorage InvalidReg() {
313 return RegStorage(kInvalid);