/art/runtime/ |
D | dex_register_location.h | 29 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);
|
D | check_reference_map_visitor.h | 106 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()
|
D | stack_map.h | 53 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 …]
|
D | dex_register_location.cc | 21 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 <<()
|
D | quick_exception_handler.cc | 207 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 …]
|
D | stack.cc | 216 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 …]
|
D | stack_map.cc | 189 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()
|
D | stack.h | 129 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
|
D | thread.cc | 4055 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/ |
D | elf_debug_loc_writer.h | 71 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/ |
D | stack_map_stream.h | 76 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_;
|
D | stack_map_test.cc | 46 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 …]
|
D | stack_map_stream.cc | 256 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()
|
D | code_generator.cc | 1351 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/ |
D | jit.cc | 535 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()
|