Home
last modified time | relevance | path

Searched refs:DexRegisterLocation (Results 1 – 15 of 15) sorted by relevance

/art/runtime/
Ddex_register_location.h29 class DexRegisterLocation {
42 DexRegisterLocation(Kind kind, int32_t value) : kind_(kind), value_(value) {} in DexRegisterLocation() function
44 static DexRegisterLocation None() { return DexRegisterLocation(Kind::kNone, 0); } in None()
45 static DexRegisterLocation Invalid() { return DexRegisterLocation(Kind::kInvalid, 0); } in Invalid()
53 bool operator==(DexRegisterLocation other) const {
57 bool operator!=(DexRegisterLocation other) const {
80 DexRegisterLocation() {} in DexRegisterLocation() function
88 std::ostream& operator<<(std::ostream& stream, DexRegisterLocation::Kind kind);
89 std::ostream& operator<<(std::ostream& stream, const DexRegisterLocation& reg);
Dcheck_reference_map_visitor.h106 DexRegisterLocation location = dex_register_map[reg]; in CheckOptimizedMethod()
108 case DexRegisterLocation::Kind::kNone: in CheckOptimizedMethod()
112 case DexRegisterLocation::Kind::kInStack: in CheckOptimizedMethod()
117 case DexRegisterLocation::Kind::kInRegister: in CheckOptimizedMethod()
118 case DexRegisterLocation::Kind::kInRegisterHigh: in CheckOptimizedMethod()
121 case DexRegisterLocation::Kind::kInFpuRegister: in CheckOptimizedMethod()
122 case DexRegisterLocation::Kind::kInFpuRegisterHigh: in CheckOptimizedMethod()
126 case DexRegisterLocation::Kind::kConstant: in CheckOptimizedMethod()
Dstack_map.h53 std::ostream& operator<<(std::ostream& stream, const DexRegisterLocation& reg);
61 using iterator = DexRegisterLocation*;
62 using const_iterator = const DexRegisterLocation*;
65 DexRegisterMap(size_t count, DexRegisterLocation value) : count_(count), regs_small_{} { in DexRegisterMap()
73 DexRegisterLocation* data() { in data()
76 const DexRegisterLocation* data() const { in data()
87 DexRegisterLocation& operator[](size_t index) {
91 const DexRegisterLocation& operator[](size_t index) const {
111 std::array<DexRegisterLocation, kSmallCount> regs_small_;
112 dchecked_vector<DexRegisterLocation> regs_large_;
[all …]
Ddex_register_location.cc21 std::ostream& operator<<(std::ostream& stream, DexRegisterLocation::Kind kind) { in operator <<()
25 std::ostream& operator<<(std::ostream& stream, const DexRegisterLocation& reg) { in operator <<()
26 using Kind = DexRegisterLocation::Kind; in operator <<()
Dquick_exception_handler.cc207 static VRegKind ToVRegKind(DexRegisterLocation::Kind kind) { in ToVRegKind()
212 case DexRegisterLocation::Kind::kConstant: in ToVRegKind()
213 case DexRegisterLocation::Kind::kInStack: in ToVRegKind()
217 case DexRegisterLocation::Kind::kInRegister: in ToVRegKind()
221 case DexRegisterLocation::Kind::kInRegisterHigh: in ToVRegKind()
225 case DexRegisterLocation::Kind::kInFpuRegister: in ToVRegKind()
229 case DexRegisterLocation::Kind::kInFpuRegisterHigh: in ToVRegKind()
271 DexRegisterLocation::Kind catch_location = catch_vreg_map[vreg].GetKind(); in SetCatchEnvironmentForOptimizedHandler()
272 if (catch_location == DexRegisterLocation::Kind::kNone) { in SetCatchEnvironmentForOptimizedHandler()
275 DCHECK(catch_location == DexRegisterLocation::Kind::kInStack); in SetCatchEnvironmentForOptimizedHandler()
[all …]
Dstack.cc216 std::optional<DexRegisterLocation> location) const { in GetVReg()
288 DexRegisterLocation::Kind location_kind = dex_register_map[vreg].GetKind(); in GetVRegFromOptimizedCode()
290 case DexRegisterLocation::Kind::kInStack: { in GetVRegFromOptimizedCode()
300 case DexRegisterLocation::Kind::kInRegister: { in GetVRegFromOptimizedCode()
308 case DexRegisterLocation::Kind::kInRegisterHigh: in GetVRegFromOptimizedCode()
309 case DexRegisterLocation::Kind::kInFpuRegister: in GetVRegFromOptimizedCode()
310 case DexRegisterLocation::Kind::kInFpuRegisterHigh: { in GetVRegFromOptimizedCode()
317 case DexRegisterLocation::Kind::kConstant: { in GetVRegFromOptimizedCode()
325 case DexRegisterLocation::Kind::kNone: in GetVRegFromOptimizedCode()
333 bool StackVisitor::GetVRegFromOptimizedCode(DexRegisterLocation location, uint32_t* val) const { in GetVRegFromOptimizedCode()
[all …]
Dstack_map.cc189 DexRegisterLocation* regs = map->data(); in DecodeDexRegisterMap()
197 if (regs[reg + bit].GetKind() == DexRegisterLocation::Kind::kInvalid) { in DecodeDexRegisterMap()
209 DexRegisterLocation* regs = map->data(); in DecodeDexRegisterMap()
211 if (regs[r].GetKind() == DexRegisterLocation::Kind::kInvalid) { in DecodeDexRegisterMap()
212 regs[r] = DexRegisterLocation::None(); in DecodeDexRegisterMap()
245 DexRegisterLocation reg = (*this)[i]; in Dump()
Dstack.h129 bool GetRegisterIfAccessible(uint32_t reg, DexRegisterLocation::Kind kind, uint32_t* val) const
231 std::optional<DexRegisterLocation> location =
232 std::optional<DexRegisterLocation>()) const
340 bool GetVRegFromOptimizedCode(DexRegisterLocation location, uint32_t* val) const
Dthread.cc4055 const DexRegisterLocation::Kind kind, in VisitQuickFramePrecise()
4061 DexRegisterLocation location = dex_register_map[dex_reg]; in VisitQuickFramePrecise()
4078 DexRegisterLocation::Kind::kInStack, in VisitQuickFramePrecise()
4088 DexRegisterLocation::Kind::kInRegister, in VisitQuickFramePrecise()
/art/compiler/debug/
Delf_debug_loc_writer.h71 DexRegisterLocation reg_lo; // May be None if the location is unknown.
72 DexRegisterLocation reg_hi; // Most significant bits of 64-bit value.
138 DexRegisterLocation reg_lo = DexRegisterLocation::None(); in GetVariableLocations()
139 DexRegisterLocation reg_hi = DexRegisterLocation::None(); in GetVariableLocations()
178 using Kind = DexRegisterLocation::Kind; in WriteDebugLocEntry()
203 DexRegisterLocation reg_lo = variable_location.reg_lo; in WriteDebugLocEntry()
204 DexRegisterLocation reg_hi = variable_location.reg_hi; in WriteDebugLocEntry()
206 DexRegisterLocation reg_loc = (piece == 0 ? reg_lo : reg_hi); in WriteDebugLocEntry()
/art/compiler/optimizing/
Dstack_map_stream.h76 void AddDexRegisterEntry(DexRegisterLocation::Kind kind, int32_t value) { in AddDexRegisterEntry()
77 current_dex_registers_.push_back(DexRegisterLocation(kind, value)); in AddDexRegisterEntry()
142 ScopedArenaVector<DexRegisterLocation> current_dex_registers_;
143 ScopedArenaVector<DexRegisterLocation> previous_dex_registers_;
Dstack_map_test.cc46 using Kind = DexRegisterLocation::Kind;
94 DexRegisterLocation location0 = code_info.GetDexRegisterCatalogEntry(0); in TEST()
95 DexRegisterLocation location1 = code_info.GetDexRegisterCatalogEntry(1); in TEST()
182 DexRegisterLocation location0 = code_info.GetDexRegisterCatalogEntry(0); in TEST()
183 DexRegisterLocation location1 = code_info.GetDexRegisterCatalogEntry(1); in TEST()
221 DexRegisterLocation location0 = code_info.GetDexRegisterCatalogEntry(2); in TEST()
222 DexRegisterLocation location1 = code_info.GetDexRegisterCatalogEntry(3); in TEST()
254 DexRegisterLocation location0 = code_info.GetDexRegisterCatalogEntry(4); in TEST()
255 DexRegisterLocation location1 = code_info.GetDexRegisterCatalogEntry(5); in TEST()
287 DexRegisterLocation location0 = code_info.GetDexRegisterCatalogEntry(3); in TEST()
[all …]
Dstack_map_stream.cc256 previous_dex_registers_.resize(current_dex_registers_.size(), DexRegisterLocation::None()); in CreateDexRegisterMap()
263 DexRegisterLocation reg = current_dex_registers_[i]; in CreateDexRegisterMap()
294 auto expected_dex_registers = std::make_shared<dchecked_vector<DexRegisterLocation>>( in CreateDexRegisterMap()
299 for (DexRegisterLocation reg : code_info.GetDexRegisterMapOf(stack_map)) { in CreateDexRegisterMap()
304 for (DexRegisterLocation reg : map) { in CreateDexRegisterMap()
Dcode_generator.cc1351 stack_map_stream->AddDexRegisterEntry(DexRegisterLocation::Kind::kNone, 0); in RecordCatchBlockInfo()
1357 DexRegisterLocation::Kind::kInStack, location.GetStackIndex()); in RecordCatchBlockInfo()
1362 DexRegisterLocation::Kind::kInStack, location.GetStackIndex()); in RecordCatchBlockInfo()
1364 DexRegisterLocation::Kind::kInStack, location.GetHighStackIndex(kVRegSize)); in RecordCatchBlockInfo()
1393 stack_map_stream->AddDexRegisterEntry(DexRegisterLocation::Kind::kNone, 0); in EmitVRegInfo()
1397 using Kind = DexRegisterLocation::Kind; in EmitVRegInfo()
/art/runtime/jit/
Djit.cc535 DexRegisterLocation::Kind location = vreg_map[vreg].GetKind(); in PrepareForOsr()
536 if (location == DexRegisterLocation::Kind::kNone) { in PrepareForOsr()
541 if (location == DexRegisterLocation::Kind::kConstant) { in PrepareForOsr()
546 DCHECK_EQ(location, DexRegisterLocation::Kind::kInStack); in PrepareForOsr()