Home
last modified time | relevance | path

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

12

/art/compiler/dex/quick/
Dresource_mask.h34 class ResourceMask {
36 constexpr ResourceMask(uint64_t mask1, uint64_t mask2) in ResourceMask() function
58 constexpr ResourceMask() in ResourceMask() function
63 ResourceMask(const ResourceMask& other) = default;
64 ResourceMask& operator=(const ResourceMask& other) = default;
67 bool operator==(const ResourceMask& other) {
71 static constexpr ResourceMask RawMask(uint64_t mask1, uint64_t mask2) { in RawMask()
72 return ResourceMask(mask1, mask2); in RawMask()
75 static constexpr ResourceMask Bit(size_t bit) { in Bit()
76 return ResourceMask(bit >= 64u ? 0u : UINT64_C(1) << bit, in Bit()
[all …]
Dresource_mask.cc27 constexpr ResourceMask kNoRegMasks[] = {
32 ResourceMask::Bit(ResourceMask::kFPStatus),
33 ResourceMask::Bit(ResourceMask::kCCode),
36 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kHeapRef].Equals(
38 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kLiteral].Equals(
40 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kDalvikReg].Equals(
42 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kFPStatus].Equals(
43 ResourceMask::Bit(ResourceMask::kFPStatus)), check_kNoRegMasks_fp_status_index);
44 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kCCode].Equals(
45 ResourceMask::Bit(ResourceMask::kCCode)), check_kNoRegMasks_ccode_index);
[all …]
Dlocal_optimizations.cc177 ResourceMask this_mem_mask = kEncodeMem.Intersection(this_lir->u.m.use_mask->Union( in ApplyLoadStoreElimination()
191 ResourceMask stop_def_reg_mask = this_lir->u.m.def_mask->Without(kEncodeMem); in ApplyLoadStoreElimination()
192 ResourceMask stop_use_reg_mask = this_lir->u.m.use_mask->Without(kEncodeMem); in ApplyLoadStoreElimination()
195 ResourceMask uses_pc = GetPCUseDefEncoding(); in ApplyLoadStoreElimination()
202 ResourceMask alias_reg_list_mask = kEncodeNone; in ApplyLoadStoreElimination()
218 ResourceMask check_mem_mask = kEncodeMem.Intersection(check_lir->u.m.use_mask->Union( in ApplyLoadStoreElimination()
220 ResourceMask alias_mem_mask = this_mem_mask.Intersection(check_mem_mask); in ApplyLoadStoreElimination()
291 ResourceMask alias_reg_mask = kEncodeNone; in ApplyLoadStoreElimination()
301 ResourceMask stop_search_mask = stop_def_reg_mask.Union(stop_use_reg_mask); in ApplyLoadStoreElimination()
346 ResourceMask stop_use_all_mask = *this_lir->u.m.use_mask; in ApplyLoadHoisting()
[all …]
Dmir_to_lir-inl.h143 inline void Mir2Lir::SetupRegMask(ResourceMask* mask, int reg) { in SetupRegMask()
152 inline void Mir2Lir::ClearRegMask(ResourceMask* mask, int reg) { in ClearRegMask()
184 ResourceMask use_mask; in SetupResourceMasks()
185 ResourceMask def_mask; in SetupResourceMasks()
193 DCHECK(mem_ref_type_ != ResourceMask::kMustNotAlias); in SetupResourceMasks()
197 DCHECK(mem_ref_type_ != ResourceMask::kLiteral); in SetupResourceMasks()
244 def_mask.SetBit(ResourceMask::kCCode); in SetupResourceMasks()
248 use_mask.SetBit(ResourceMask::kCCode); in SetupResourceMasks()
Dgen_loadstore.cc68 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in Workaround7250540()
94 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in LoadValueDirect()
128 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in LoadValueDirectWide()
216 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreValue()
307 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreValueWide()
335 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreFinalValue()
371 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreFinalValueWide()
Dmir_to_lir.h160 const ResourceMask* use_mask; // Resource mask for use.
161 const ResourceMask* def_mask; // Resource mask for def.
341 RegisterInfo(RegStorage r, const ResourceMask& mask = kEncodeAll);
392 const ResourceMask& DefUseMask() { return def_use_mask_; } in DefUseMask()
393 void SetDefUseMask(const ResourceMask& def_use_mask) { def_use_mask_ = def_use_mask; } in SetDefUseMask()
431 ResourceMask def_use_mask_; // Resources for this element.
556 ScopedMemRefType(Mir2Lir* m2l, ResourceMask::ResourceBit new_mem_ref_type) in ScopedMemRefType()
568 ResourceMask::ResourceBit old_mem_ref_type_;
669 void SetupRegMask(ResourceMask* mask, int reg);
670 void ClearRegMask(ResourceMask* mask, int reg);
[all …]
Dcodegen_util.cc135 const ResourceMask** mask_ptr; in SetMemRefType()
136 ResourceMask mask; in SetMemRefType()
147 case ResourceMask::kLiteral: in SetMemRefType()
149 mask.SetBit(ResourceMask::kLiteral); in SetMemRefType()
151 case ResourceMask::kDalvikReg: in SetMemRefType()
152 mask.SetBit(ResourceMask::kDalvikReg); in SetMemRefType()
154 case ResourceMask::kHeapRef: in SetMemRefType()
155 mask.SetBit(ResourceMask::kHeapRef); in SetMemRefType()
157 case ResourceMask::kMustNotAlias: in SetMemRefType()
160 mask.SetBit(ResourceMask::kMustNotAlias); in SetMemRefType()
[all …]
Dgen_invoke.cc403 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushIns()
807 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsNoRange()
814 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsNoRange()
840 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsNoRange()
925 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange()
932 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange()
957 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange()
969 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange()
980 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange()
1207 if (or_inst->u.m.def_mask->HasBit(ResourceMask::kCCode)) { in GenInlinedReferenceGetReferent()
Dralloc_util.cc41 Mir2Lir::RegisterInfo::RegisterInfo(RegStorage r, const ResourceMask& mask) in RegisterInfo()
762 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushRegWide()
770 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushRegWide()
782 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushReg()
/art/compiler/dex/quick/arm/
Dtarget_arm.cc138 ResourceMask ArmMir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon()
142 constexpr ResourceMask ArmMir2Lir::GetRegMaskArm(RegStorage reg) { in GetRegMaskArm()
145 ? ResourceMask::TwoBits(reg.GetRegNum() * 2 + kArmFPReg0) in GetRegMaskArm()
146 : ResourceMask::Bit(reg.IsSingle() ? reg.GetRegNum() + kArmFPReg0 : reg.GetRegNum()); in GetRegMaskArm()
149 constexpr ResourceMask ArmMir2Lir::EncodeArmRegList(int reg_list) { in EncodeArmRegList()
150 return ResourceMask::RawMask(static_cast<uint64_t >(reg_list), 0u); in EncodeArmRegList()
153 constexpr ResourceMask ArmMir2Lir::EncodeArmRegFpcsList(int reg_list) { in EncodeArmRegFpcsList()
154 return ResourceMask::RawMask(static_cast<uint64_t >(reg_list) << kArmFPReg16, 0u); in EncodeArmRegFpcsList()
157 ResourceMask ArmMir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding()
158 return ResourceMask::Bit(kArmRegPC); in GetPCUseDefEncoding()
[all …]
Dcodegen_arm.h57 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE;
72 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE;
74 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE;
78 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
214 static constexpr ResourceMask GetRegMaskArm(RegStorage reg);
215 static constexpr ResourceMask EncodeArmRegList(int reg_list);
216 static constexpr ResourceMask EncodeArmRegFpcsList(int reg_list);
Dint_arm.cc216 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelectConst32()
252 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelect()
258 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelect()
918 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
925 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
946 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
1105 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in OpDecAndBranch()
Dutility_arm.cc91 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValue()
674 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide()
958 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody()
1080 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
/art/compiler/dex/quick/mips/
Dtarget_mips.cc130 ResourceMask MipsMir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon()
134 ? ResourceMask::TwoBits((reg.GetRegNum() & ~1) + kMipsFPReg0) in GetRegMaskCommon()
136 ? ResourceMask::TwoBits(reg.GetRegNum() * 2 + kMipsFPReg0) in GetRegMaskCommon()
138 : ResourceMask::Bit(reg.IsSingle() ? reg.GetRegNum() + kMipsFPReg0 : reg.GetRegNum()); in GetRegMaskCommon()
141 ResourceMask MipsMir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding()
142 return ResourceMask::Bit(kMipsRegPC); in GetPCUseDefEncoding()
147 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks()
287 void MipsMir2Lir::DumpResourceMask(LIR *mips_lir, const ResourceMask& mask, const char *prefix) { in DumpResourceMask()
304 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask()
307 if (mask.HasBit(ResourceMask::kFPStatus)) { in DumpResourceMask()
[all …]
Dcodegen_mips.h60 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE;
72 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE;
74 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE;
78 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
Dutility_mips.cc540 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody()
642 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
/art/compiler/dex/quick/arm64/
Dtarget_arm64.cc144 ResourceMask Arm64Mir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon()
153 return ResourceMask::Bit( in GetRegMaskCommon()
158 ResourceMask Arm64Mir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding()
167 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks()
520 void Arm64Mir2Lir::DumpResourceMask(LIR* arm_lir, const ResourceMask& mask, const char* prefix) { in DumpResourceMask()
537 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask()
540 if (mask.HasBit(ResourceMask::kFPStatus)) { in DumpResourceMask()
545 if (arm_lir && (mask.HasBit(ResourceMask::kDalvikReg))) { in DumpResourceMask()
550 if (mask.HasBit(ResourceMask::kLiteral)) { in DumpResourceMask()
554 if (mask.HasBit(ResourceMask::kHeapRef)) { in DumpResourceMask()
[all …]
Dcodegen_arm64.h116 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE;
125 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE;
127 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE;
131 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
Dutility_arm64.cc127 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValue()
153 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValueWide()
530 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide()
1267 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody()
1358 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
Dint_arm64.cc770 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
774 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas()
908 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad()
948 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in OpDecAndBranch()
/art/compiler/dex/quick/x86/
Dtarget_x86.cc242 ResourceMask X86Mir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon()
244 return ResourceMask::Bit( in GetRegMaskCommon()
249 ResourceMask X86Mir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding()
254 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks()
397 void X86Mir2Lir::DumpResourceMask(LIR *x86LIR, const ResourceMask& mask, const char *prefix) { in DumpResourceMask()
414 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask()
418 if (x86LIR && (mask.HasBit(ResourceMask::kDalvikReg))) { in DumpResourceMask()
423 if (mask.HasBit(ResourceMask::kLiteral)) { in DumpResourceMask()
427 if (mask.HasBit(ResourceMask::kHeapRef)) { in DumpResourceMask()
430 if (mask.HasBit(ResourceMask::kMustNotAlias)) { in DumpResourceMask()
[all …]
Dcodegen_x86.h119 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE;
131 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE;
133 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE;
137 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
Dutility_x86.cc385 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpRegMem()
413 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpMemReg()
439 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpRegMem()
590 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide()
705 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseIndexedDisp()
840 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseIndexedDisp()
Dint_x86.cc252 DCHECK(!last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelectConst32()
985 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedCas()
1089 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad()
1277 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenImulMemImm()
1371 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenMulLongConst()
1460 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenMulLong()
1614 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongRegOrMemOp()
1649 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongArith()
2486 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongImm()
2517 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongImm()
[all …]
Dfp_x86.cc134 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongToFP()
353 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenRemFP()
629 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedAbsFloat()
693 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedAbsDouble()

12