Home
last modified time | relevance | path

Searched refs:ResourceMask (Results 1 – 25 of 28) sorted by relevance

12

/art/compiler/dex/quick/
Dresource_mask.h35 class ResourceMask {
37 constexpr ResourceMask(uint64_t mask1, uint64_t mask2) in ResourceMask() function
59 constexpr ResourceMask() in ResourceMask() function
64 ResourceMask(const ResourceMask& other) = default;
65 ResourceMask& operator=(const ResourceMask& other) = default;
68 bool operator==(const ResourceMask& other) {
72 static constexpr ResourceMask RawMask(uint64_t mask1, uint64_t mask2) { in RawMask()
73 return ResourceMask(mask1, mask2); in RawMask()
76 static constexpr ResourceMask Bit(size_t bit) { in Bit()
77 return ResourceMask(bit >= 64u ? 0u : UINT64_C(1) << bit, in Bit()
[all …]
Dresource_mask.cc29 constexpr ResourceMask kNoRegMasks[] = {
34 ResourceMask::Bit(ResourceMask::kFPStatus),
35 ResourceMask::Bit(ResourceMask::kCCode),
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");
[all …]
Dlocal_optimizations.cc178 ResourceMask this_mem_mask = kEncodeMem.Intersection(this_lir->u.m.use_mask->Union( in ApplyLoadStoreElimination()
192 ResourceMask stop_def_reg_mask = this_lir->u.m.def_mask->Without(kEncodeMem); in ApplyLoadStoreElimination()
193 ResourceMask stop_use_reg_mask = this_lir->u.m.use_mask->Without(kEncodeMem); in ApplyLoadStoreElimination()
196 ResourceMask uses_pc = GetPCUseDefEncoding(); in ApplyLoadStoreElimination()
203 ResourceMask alias_reg_list_mask = kEncodeNone; in ApplyLoadStoreElimination()
219 ResourceMask check_mem_mask = kEncodeMem.Intersection(check_lir->u.m.use_mask->Union( in ApplyLoadStoreElimination()
221 ResourceMask alias_mem_mask = this_mem_mask.Intersection(check_mem_mask); in ApplyLoadStoreElimination()
292 ResourceMask alias_reg_mask = kEncodeNone; in ApplyLoadStoreElimination()
302 ResourceMask stop_search_mask = stop_def_reg_mask.Union(stop_use_reg_mask); in ApplyLoadStoreElimination()
347 ResourceMask stop_use_all_mask = *this_lir->u.m.use_mask; in ApplyLoadHoisting()
[all …]
Dmir_to_lir-inl.h145 inline void Mir2Lir::SetupRegMask(ResourceMask* mask, int reg) { in SetupRegMask()
155 inline void Mir2Lir::ClearRegMask(ResourceMask* mask, int reg) { in ClearRegMask()
188 ResourceMask use_mask; in SetupResourceMasks()
189 ResourceMask def_mask; in SetupResourceMasks()
197 DCHECK(mem_ref_type_ != ResourceMask::kMustNotAlias); in SetupResourceMasks()
201 DCHECK(mem_ref_type_ != ResourceMask::kLiteral); in SetupResourceMasks()
248 def_mask.SetBit(ResourceMask::kCCode); in SetupResourceMasks()
252 use_mask.SetBit(ResourceMask::kCCode); in SetupResourceMasks()
Dgen_loadstore.cc55 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in LoadValueDirect()
93 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in LoadValueDirectWide()
178 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreValue()
270 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreValueWide()
298 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreFinalValue()
334 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreFinalValueWide()
Dmir_to_lir.h159 const ResourceMask* use_mask; // Resource mask for use.
160 const ResourceMask* def_mask; // Resource mask for def.
323 RegisterInfo(RegStorage r, const ResourceMask& mask = kEncodeAll);
371 const ResourceMask& DefUseMask() { return def_use_mask_; } in DefUseMask()
372 void SetDefUseMask(const ResourceMask& def_use_mask) { def_use_mask_ = def_use_mask; } in SetDefUseMask()
410 ResourceMask def_use_mask_; // Resources for this element.
532 ScopedMemRefType(Mir2Lir* m2l, ResourceMask::ResourceBit new_mem_ref_type) in ScopedMemRefType()
544 ResourceMask::ResourceBit old_mem_ref_type_;
646 void SetupRegMask(ResourceMask* mask, int reg);
647 void ClearRegMask(ResourceMask* mask, int reg);
[all …]
Dcodegen_util.cc145 const ResourceMask** mask_ptr; in SetMemRefType()
146 ResourceMask mask; in SetMemRefType()
157 case ResourceMask::kLiteral: in SetMemRefType()
159 mask.SetBit(ResourceMask::kLiteral); in SetMemRefType()
161 case ResourceMask::kDalvikReg: in SetMemRefType()
162 mask.SetBit(ResourceMask::kDalvikReg); in SetMemRefType()
164 case ResourceMask::kHeapRef: in SetMemRefType()
165 mask.SetBit(ResourceMask::kHeapRef); in SetMemRefType()
167 case ResourceMask::kMustNotAlias: in SetMemRefType()
170 mask.SetBit(ResourceMask::kMustNotAlias); in SetMemRefType()
[all …]
Dgen_invoke.cc438 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushIns()
699 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsFlushPromoted()
802 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgs()
846 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgs()
965 if (or_inst->u.m.def_mask->HasBit(ResourceMask::kCCode)) { in GenInlinedReferenceGetReferent()
Dralloc_util.cc45 Mir2Lir::RegisterInfo::RegisterInfo(RegStorage r, const ResourceMask& mask) in RegisterInfo()
745 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushRegWide()
753 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushRegWide()
765 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushReg()
/art/compiler/dex/quick/arm/
Dtarget_arm.cc139 ResourceMask ArmMir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon()
143 constexpr ResourceMask ArmMir2Lir::GetRegMaskArm(RegStorage reg) { in GetRegMaskArm()
146 ? ResourceMask::TwoBits(reg.GetRegNum() * 2 + kArmFPReg0) in GetRegMaskArm()
147 : ResourceMask::Bit(reg.IsSingle() ? reg.GetRegNum() + kArmFPReg0 : reg.GetRegNum()); in GetRegMaskArm()
150 constexpr ResourceMask ArmMir2Lir::EncodeArmRegList(int reg_list) { in EncodeArmRegList()
151 return ResourceMask::RawMask(static_cast<uint64_t >(reg_list), 0u); in EncodeArmRegList()
154 constexpr ResourceMask ArmMir2Lir::EncodeArmRegFpcsList(int reg_list) { in EncodeArmRegFpcsList()
155 return ResourceMask::RawMask(static_cast<uint64_t >(reg_list) << kArmFPReg16, 0u); in EncodeArmRegFpcsList()
158 ResourceMask ArmMir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding()
159 return ResourceMask::Bit(kArmRegPC); in GetPCUseDefEncoding()
[all …]
Dcodegen_arm.h113 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE;
128 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE;
130 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE;
134 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
304 static constexpr ResourceMask GetRegMaskArm(RegStorage reg);
305 static constexpr ResourceMask EncodeArmRegList(int reg_list);
306 static constexpr ResourceMask EncodeArmRegFpcsList(int reg_list);
Dint_arm.cc228 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelectConst32()
265 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelect()
271 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelect()
952 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
959 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
980 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
1090 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad()
1185 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in OpDecAndBranch()
Dutility_arm.cc96 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValue()
730 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide()
1023 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody()
1165 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
/art/compiler/dex/quick/mips/
Dtarget_mips.cc294 ResourceMask MipsMir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon()
296 return ResourceMask::Bit((reg.IsFloat() ? kMipsFPReg0 : 0) + reg.GetRegNum()); in GetRegMaskCommon()
299 return ResourceMask::TwoBits((reg.GetRegNum() & ~1) + kMipsFPReg0); in GetRegMaskCommon()
301 return ResourceMask::Bit(reg.GetRegNum() + kMipsFPReg0); in GetRegMaskCommon()
303 return ResourceMask::Bit(reg.GetRegNum()); in GetRegMaskCommon()
308 ResourceMask MipsMir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding()
309 return cu_->target64 ? ResourceMask::Bit(kMips64RegPC) : ResourceMask::Bit(kMipsRegPC); in GetPCUseDefEncoding()
312 void MipsMir2Lir::SetupTargetResourceMasks(LIR* lir, uint64_t flags, ResourceMask* use_mask, in SetupTargetResourceMasks()
313 ResourceMask* def_mask) { in SetupTargetResourceMasks()
465 void MipsMir2Lir::DumpResourceMask(LIR *mips_lir, const ResourceMask& mask, const char *prefix) { in DumpResourceMask()
[all …]
Dcodegen_mips.h115 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE;
127 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE;
128 void SetupTargetResourceMasks(LIR* lir, uint64_t flags, ResourceMask* use_mask,
129 ResourceMask* def_mask) OVERRIDE;
133 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
Dutility_mips.cc770 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody()
823 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody()
941 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
991 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
/art/compiler/dex/quick/arm64/
Dtarget_arm64.cc146 ResourceMask Arm64Mir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon()
155 return ResourceMask::Bit( in GetRegMaskCommon()
160 ResourceMask Arm64Mir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding()
169 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks()
546 void Arm64Mir2Lir::DumpResourceMask(LIR* arm_lir, const ResourceMask& mask, const char* prefix) { in DumpResourceMask()
563 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask()
566 if (mask.HasBit(ResourceMask::kFPStatus)) { in DumpResourceMask()
571 if (arm_lir && (mask.HasBit(ResourceMask::kDalvikReg))) { in DumpResourceMask()
576 if (mask.HasBit(ResourceMask::kLiteral)) { in DumpResourceMask()
580 if (mask.HasBit(ResourceMask::kHeapRef)) { in DumpResourceMask()
[all …]
Dcodegen_arm64.h107 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE;
116 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE;
118 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE;
122 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
Dutility_arm64.cc129 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValue()
155 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValueWide()
532 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide()
1265 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody()
1355 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
Dint_arm64.cc805 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
809 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
941 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad()
1031 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in OpDecAndBranch()
/art/compiler/dex/quick/x86/
Dtarget_x86.cc266 ResourceMask X86Mir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon()
268 return ResourceMask::Bit( in GetRegMaskCommon()
273 ResourceMask X86Mir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding()
278 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks()
422 void X86Mir2Lir::DumpResourceMask(LIR *x86LIR, const ResourceMask& mask, const char *prefix) { in DumpResourceMask()
439 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask()
443 if (x86LIR && (mask.HasBit(ResourceMask::kDalvikReg))) { in DumpResourceMask()
448 if (mask.HasBit(ResourceMask::kLiteral)) { in DumpResourceMask()
452 if (mask.HasBit(ResourceMask::kHeapRef)) { in DumpResourceMask()
455 if (mask.HasBit(ResourceMask::kMustNotAlias)) { in DumpResourceMask()
[all …]
Dutility_x86.cc391 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpRegMem()
419 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpMemReg()
445 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpRegMem()
589 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide()
715 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseIndexedDisp()
880 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseIndexedDisp()
Dcodegen_x86.h148 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE;
160 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE;
162 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE;
166 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
Dfp_x86.cc150 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongToFP()
372 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenRemFP()
652 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedAbsFloat()
716 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedAbsDouble()
Dint_x86.cc255 DCHECK(!last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelectConst32()
1181 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedCas()
1377 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad()
1389 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad()
1640 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenImulMemImm()
1736 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenMulLongConst()
1825 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenMulLong()
1979 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongRegOrMemOp()
2022 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongArith()
2256 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDivRemLongLit()
[all …]

12