Home | History | Annotate | Download | only in quick

Lines Matching refs:ResourceMask

29 constexpr ResourceMask kNoRegMasks[] = {
34 ResourceMask::Bit(ResourceMask::kFPStatus),
35 ResourceMask::Bit(ResourceMask::kCCode),
37 // The 127-bit is the same as CLZ(masks_[1]) for a ResourceMask with only that bit set.
38 static_assert(kNoRegMasks[127-ResourceMask::kHeapRef].Equals(
40 static_assert(kNoRegMasks[127-ResourceMask::kLiteral].Equals(
42 static_assert(kNoRegMasks[127-ResourceMask::kDalvikReg].Equals(
44 static_assert(kNoRegMasks[127-ResourceMask::kFPStatus].Equals(
45 ResourceMask::Bit(ResourceMask::kFPStatus)), "kNoRegMasks fp status index unexpected");
46 static_assert(kNoRegMasks[127-ResourceMask::kCCode].Equals(
47 ResourceMask::Bit(ResourceMask::kCCode)), "kNoRegMasks ccode index unexpected");
50 constexpr ResourceMask OneRegOneSpecial(size_t reg) {
51 return ResourceMask::Bit(reg).Union(ResourceMask::Bit(special_bit));
58 constexpr ResourceMask kSingleRegMasks[] = {
65 DEFINE_LIST_32(ResourceMask::Bit),
66 DEFINE_LIST_32(OneRegOneSpecial<ResourceMask::kHeapRef>),
67 DEFINE_LIST_32(OneRegOneSpecial<ResourceMask::kLiteral>),
68 DEFINE_LIST_32(OneRegOneSpecial<ResourceMask::kDalvikReg>),
69 DEFINE_LIST_32(OneRegOneSpecial<ResourceMask::kFPStatus>),
70 DEFINE_LIST_32(OneRegOneSpecial<ResourceMask::kCCode>),
78 // The 127-bit is the same as CLZ(masks_[1]) for a ResourceMask with only that bit set.
79 static_assert(kSingleRegMasks[SingleRegMaskIndex(127-ResourceMask::kHeapRef, 0)].Equals(
80 OneRegOneSpecial<ResourceMask::kHeapRef>(0)), "kSingleRegMasks heap ref index unexpected");
81 static_assert(kSingleRegMasks[SingleRegMaskIndex(127-ResourceMask::kLiteral, 0)].Equals(
82 OneRegOneSpecial<ResourceMask::kLiteral>(0)), "kSingleRegMasks literal index unexpected");
83 static_assert(kSingleRegMasks[SingleRegMaskIndex(127-ResourceMask::kDalvikReg, 0)].Equals(
84 OneRegOneSpecial<ResourceMask::kDalvikReg>(0)), "kSingleRegMasks dalvik reg index unexpected");
85 static_assert(kSingleRegMasks[SingleRegMaskIndex(127-ResourceMask::kFPStatus, 0)].Equals(
86 OneRegOneSpecial<ResourceMask::kFPStatus>(0)), "kSingleRegMasks fp status index unexpected");
87 static_assert(kSingleRegMasks[SingleRegMaskIndex(127-ResourceMask::kCCode, 0)].Equals(
88 OneRegOneSpecial<ResourceMask::kCCode>(0)), "kSingleRegMasks ccode index unexpected");
93 constexpr ResourceMask kTwoRegsMasks[] = {
94 #define TWO(a, b) ResourceMask::Bit(a).Union(ResourceMask::Bit(b))
127 return ResourceMask::Bit(lower).Union(ResourceMask::Bit(higher)).Equals(
145 const ResourceMask* ResourceMaskCache::GetMask(const ResourceMask& mask) {
148 constexpr ResourceMask kAllowedSpecialBits = ResourceMask::Bit(ResourceMask::kFPStatus)
149 .Union(ResourceMask::Bit(ResourceMask::kCCode))
151 const ResourceMask* res = nullptr;
182 void* mem = allocator_->Alloc(sizeof(ResourceMask), kArenaAllocLIRResourceMask);
183 return new (mem) ResourceMask(mask);