/art/runtime/interpreter/mterp/mips64/ |
D | main.S | 220 .macro GET_VREG reg, vreg argument 222 dlsa AT, \vreg, rFP, 2 226 .macro GET_VREG_U reg, vreg argument 228 dlsa AT, \vreg, rFP, 2 232 .macro GET_VREG_FLOAT reg, vreg argument 234 dlsa AT, \vreg, rFP, 2 238 .macro SET_VREG reg, vreg argument 240 dlsa AT, \vreg, rFP, 2 242 dlsa AT, \vreg, rREFS, 2 246 .macro SET_VREG_OBJECT reg, vreg argument [all …]
|
/art/runtime/interpreter/mterp/arm64/ |
D | main.S | 251 .macro GET_VREG reg, vreg argument 252 ldr \reg, [xFP, \vreg, uxtw #2] 254 .macro SET_VREG reg, vreg argument 255 str \reg, [xFP, \vreg, uxtw #2] 256 str wzr, [xREFS, \vreg, uxtw #2] 258 .macro SET_VREG_OBJECT reg, vreg, tmpreg 259 str \reg, [xFP, \vreg, uxtw #2] 260 str \reg, [xREFS, \vreg, uxtw #2] 262 .macro SET_VREG_FLOAT reg, vreg argument 263 str \reg, [xFP, \vreg, uxtw #2] [all …]
|
/art/test/913-heaps/ |
D | expected.txt | 4 root@root --(stack-local[id=1,tag=3000,depth=2,method=doFollowReferencesTestNonRoot,vreg=8,location… 5 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=124,… 48 root@root --(stack-local[id=1,tag=3000,depth=1,method=doFollowReferencesTestImpl,vreg=10,location= … 49 root@root --(stack-local[id=1,tag=3000,depth=1,method=doFollowReferencesTestImpl,vreg=5,location= 8… 50 root@root --(stack-local[id=1,tag=3000,depth=2,method=doFollowReferencesTestRoot,vreg=13,location= … 51 root@root --(stack-local[id=1,tag=3000,depth=2,method=doFollowReferencesTestRoot,vreg=4,location= 2… 52 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=124,… 102 root@root --(stack-local[id=1,tag=3000,depth=2,method=doFollowReferencesTestNonRoot,vreg=8,location… 103 root@root --(stack-local[id=1,tag=3000,depth=5,method=run,vreg=2,location= 0])--> 3000@0 [size=124,… 114 root@root --(stack-local[id=1,tag=3000,depth=1,method=doFollowReferencesTestImpl,vreg=10,location= … [all …]
|
/art/runtime/interpreter/ |
D | shadow_frame.h | 141 const uint32_t* vreg = &vregs_[i]; in GetVReg() local 142 return *reinterpret_cast<const int32_t*>(vreg); in GetVReg() 167 const uint32_t* vreg = &vregs_[i]; in GetVRegFloat() local 168 return *reinterpret_cast<const float*>(vreg); in GetVRegFloat() 173 const uint32_t* vreg = &vregs_[i]; in GetVRegLong() local 175 return *reinterpret_cast<unaligned_int64*>(vreg); in GetVRegLong() 180 const uint32_t* vreg = &vregs_[i]; in GetVRegDouble() local 182 return *reinterpret_cast<unaligned_double*>(vreg); in GetVRegDouble() 208 uint32_t* vreg = &vregs_[i]; in SetVReg() local 209 *reinterpret_cast<int32_t*>(vreg) = val; in SetVReg() [all …]
|
D | shadow_frame-inl.h | 34 uint32_t* vreg = &vregs_[i]; in SetVRegReference() local 35 reinterpret_cast<StackReference<mirror::Object>*>(vreg)->Assign(val); in SetVRegReference()
|
/art/runtime/interpreter/mterp/arm/ |
D | main.S | 254 .macro GET_VREG reg, vreg argument 255 ldr \reg, [rFP, \vreg, lsl #2] 257 .macro SET_VREG reg, vreg argument 258 str \reg, [rFP, \vreg, lsl #2] 260 str \reg, [rREFS, \vreg, lsl #2] 262 .macro SET_VREG_WIDE regLo, regHi, vreg argument 263 add ip, rFP, \vreg, lsl #2 267 add ip, rREFS, \vreg, lsl #2 270 .macro SET_VREG_OBJECT reg, vreg, tmpreg 271 str \reg, [rFP, \vreg, lsl #2] [all …]
|
/art/runtime/ |
D | stack.cc | 155 bool StackVisitor::GetVRegFromDebuggerShadowFrame(uint16_t vreg, in GetVRegFromDebuggerShadowFrame() argument 163 if (updated_vreg_flags[vreg]) { in GetVRegFromDebuggerShadowFrame() 167 shadow_frame->GetVRegReference(vreg))); in GetVRegFromDebuggerShadowFrame() 169 *val = shadow_frame->GetVReg(vreg); in GetVRegFromDebuggerShadowFrame() 178 bool StackVisitor::GetVReg(ArtMethod* m, uint16_t vreg, VRegKind kind, uint32_t* val) const { in GetVReg() argument 183 if (GetVRegFromDebuggerShadowFrame(vreg, kind, val)) { in GetVReg() 187 return GetVRegFromOptimizedCode(m, vreg, kind, val); in GetVReg() 192 cur_shadow_frame_->GetVRegReference(vreg))); in GetVReg() 194 *val = cur_shadow_frame_->GetVReg(vreg); in GetVReg() 200 bool StackVisitor::GetVRegFromOptimizedCode(ArtMethod* m, uint16_t vreg, VRegKind kind, in GetVRegFromOptimizedCode() argument [all …]
|
D | quick_exception_handler.cc | 317 for (uint16_t vreg = 0; vreg < number_of_vregs; ++vreg) { in SetCatchEnvironmentForOptimizedHandler() local 318 DexRegisterLocation::Kind catch_location = catch_vreg_map[vreg].GetKind(); in SetCatchEnvironmentForOptimizedHandler() 326 VRegKind vreg_kind = ToVRegKind(throw_vreg_map[vreg].GetKind()); in SetCatchEnvironmentForOptimizedHandler() 328 vreg, in SetCatchEnvironmentForOptimizedHandler() 331 CHECK(get_vreg_success) << "VReg " << vreg << " was optimized out (" in SetCatchEnvironmentForOptimizedHandler() 337 int32_t slot_offset = catch_vreg_map[vreg].GetStackOffsetInBytes(); in SetCatchEnvironmentForOptimizedHandler() 486 for (uint16_t vreg = 0; vreg < number_of_vregs; ++vreg) { in HandleOptimizingDeoptimization() local 487 if (updated_vregs != nullptr && updated_vregs[vreg]) { in HandleOptimizingDeoptimization() 492 DexRegisterLocation::Kind location = vreg_map[vreg].GetKind(); in HandleOptimizingDeoptimization() 499 const int32_t offset = vreg_map[vreg].GetStackOffsetInBytes(); in HandleOptimizingDeoptimization() [all …]
|
D | stack.h | 225 bool GetVReg(ArtMethod* m, uint16_t vreg, VRegKind kind, uint32_t* val) const 228 bool GetVRegPair(ArtMethod* m, uint16_t vreg, VRegKind kind_lo, VRegKind kind_hi, 234 bool SetVReg(ArtMethod* m, uint16_t vreg, uint32_t new_value, VRegKind kind) 240 uint16_t vreg, 314 bool GetVRegFromDebuggerShadowFrame(uint16_t vreg, VRegKind kind, uint32_t* val) const 316 bool GetVRegFromOptimizedCode(ArtMethod* m, uint16_t vreg, VRegKind kind, 320 bool GetVRegPairFromDebuggerShadowFrame(uint16_t vreg, VRegKind kind_lo, VRegKind kind_hi, 323 bool GetVRegPairFromOptimizedCode(ArtMethod* m, uint16_t vreg,
|
D | java_frame_root_info.h | 32 JavaFrameRootInfo(uint32_t thread_id, const StackVisitor* stack_visitor, size_t vreg) in JavaFrameRootInfo() argument 33 : RootInfo(kRootJavaFrame, thread_id), stack_visitor_(stack_visitor), vreg_(vreg) { in JavaFrameRootInfo()
|
D | debugger.cc | 2624 static JDWP::JdwpError FailGetLocalValue(const StackVisitor& visitor, uint16_t vreg, in FailGetLocalValue() argument 2627 LOG(ERROR) << "Failed to read " << tag << " local from register v" << vreg in FailGetLocalValue() 2636 uint16_t vreg = DemangleSlot(slot, m, &error); in GetLocalValue() local 2645 if (!visitor.GetVReg(m, vreg, kIntVReg, &intVal)) { in GetLocalValue() 2646 return FailGetLocalValue(visitor, vreg, tag); in GetLocalValue() 2648 VLOG(jdwp) << "get boolean local " << vreg << " = " << intVal; in GetLocalValue() 2655 if (!visitor.GetVReg(m, vreg, kIntVReg, &intVal)) { in GetLocalValue() 2656 return FailGetLocalValue(visitor, vreg, tag); in GetLocalValue() 2658 VLOG(jdwp) << "get byte local " << vreg << " = " << intVal; in GetLocalValue() 2666 if (!visitor.GetVReg(m, vreg, kIntVReg, &intVal)) { in GetLocalValue() [all …]
|
D | method_handles.cc | 849 uint32_t vreg) in GetValueFromShadowFrame() argument 854 field_value.SetZ(static_cast<uint8_t>(shadow_frame.GetVReg(vreg))); in GetValueFromShadowFrame() 857 field_value.SetB(static_cast<int8_t>(shadow_frame.GetVReg(vreg))); in GetValueFromShadowFrame() 860 field_value.SetC(static_cast<uint16_t>(shadow_frame.GetVReg(vreg))); in GetValueFromShadowFrame() 863 field_value.SetS(static_cast<int16_t>(shadow_frame.GetVReg(vreg))); in GetValueFromShadowFrame() 867 field_value.SetI(shadow_frame.GetVReg(vreg)); in GetValueFromShadowFrame() 871 field_value.SetJ(shadow_frame.GetVRegLong(vreg)); in GetValueFromShadowFrame() 874 field_value.SetL(shadow_frame.GetVRegReference(vreg)); in GetValueFromShadowFrame()
|
/art/test/550-checker-regression-wide-store/ |
D | info.txt | 1 Test an SsaBuilder regression where storing into the high vreg of a pair 2 would not invalidate the low vreg. The resulting environment would generate
|
/art/compiler/debug/ |
D | elf_debug_loc_writer.h | 91 uint16_t vreg, in GetVariableLocations() argument 152 reg_lo = dex_register_map[vreg]; in GetVariableLocations() 154 reg_hi = dex_register_map[vreg + 1]; in GetVariableLocations() 177 uint16_t vreg, in WriteDebugLocEntry() argument 194 vreg, in WriteDebugLocEntry()
|
D | elf_debug_info_writer.h | 212 const uint32_t vreg = accessor.RegistersSize() - accessor.InsSize() + arg_reg; in Write() local 214 WriteRegLocation(mi, dex_reg_maps, vreg, is64bitValue, compilation_unit.code_address); in Write() 232 const uint32_t vreg = accessor.RegistersSize() - accessor.InsSize() + arg_reg; in Write() local 233 WriteRegLocation(mi, dex_reg_maps, vreg, is64bitValue, compilation_unit.code_address); in Write() 455 uint16_t vreg, 462 vreg,
|
/art/test/134-reg-promotion/ |
D | info.txt | 1 Test that a vreg value that was defined by a const 0 and is used is both ref
|
/art/test/541-regression-inlined-deopt/ |
D | info.txt | 3 control over vregs because the previous test 449 would pass because the vreg
|
/art/test/550-checker-regression-wide-store/smali/ |
D | TestCase.smali | 25 # Test storing into the high vreg of a wide pair. This scenario has runtime 53 # Test that storing a wide invalidates the value in the high vreg. This
|
/art/compiler/utils/mips64/ |
D | managed_register_mips64_test.cc | 112 Mips64ManagedRegister vreg = Mips64ManagedRegister::FromVectorRegister(W0); in TEST() local 117 EXPECT_TRUE(reg.Overlaps(vreg)); in TEST() 123 vreg = Mips64ManagedRegister::FromVectorRegister(W1); in TEST() 128 EXPECT_TRUE(reg.Overlaps(vreg)); in TEST() 134 vreg = Mips64ManagedRegister::FromVectorRegister(W20); in TEST() 139 EXPECT_TRUE(reg.Overlaps(vreg)); in TEST() 145 vreg = Mips64ManagedRegister::FromVectorRegister(W31); in TEST() 150 EXPECT_TRUE(reg.Overlaps(vreg)); in TEST()
|
/art/runtime/jit/ |
D | jit.cc | 495 for (uint16_t vreg = 0; vreg < number_of_vregs; ++vreg) { in MaybeDoOnStackReplacement() local 496 DexRegisterLocation::Kind location = vreg_map[vreg].GetKind(); in MaybeDoOnStackReplacement() 509 int32_t vreg_value = shadow_frame->GetVReg(vreg); in MaybeDoOnStackReplacement() 510 int32_t slot_offset = vreg_map[vreg].GetStackOffsetInBytes(); in MaybeDoOnStackReplacement()
|
/art/test/541-regression-inlined-deopt/smali/ |
D | TestCase.smali | 47 # Make sure the reference is not stored in the same vreg as used by
|
/art/test/596-checker-dead-phi/smali/ |
D | IrreducibleLoop.smali | 23 # Check that the outer loop suspend check environment only has the parameter vreg.
|
/art/compiler/optimizing/ |
D | instruction_builder.cc | 220 for (size_t vreg = 0, e = current_locals_->size(); vreg < e; ++vreg) { in PropagateLocalsToCatchBlocks() local 221 HInstruction* handler_value = (*handler_locals)[vreg]; in PropagateLocalsToCatchBlocks() 229 HInstruction* local_value = (*current_locals_)[vreg]; in PropagateLocalsToCatchBlocks() 234 (*handler_locals)[vreg] = nullptr; in PropagateLocalsToCatchBlocks() 287 size_t vreg = phi->GetRegNumber(); in SetLoopHeaderPhiInputs() local 289 HInstruction* value = ValueOfLocalAt(predecessor, vreg); in SetLoopHeaderPhiInputs() 1509 for (size_t vreg = 0, e = current_locals_->size(); vreg < e; ++vreg) { in HandleStringInit() local 1510 if ((*current_locals_)[vreg] == arg_this) { in HandleStringInit() 1511 (*current_locals_)[vreg] = invoke; in HandleStringInit()
|
D | code_generator.cc | 1189 for (size_t vreg = 0; vreg < num_vregs; ++vreg) { in RecordCatchBlockInfo() local 1190 while (current_phi != nullptr && current_phi->AsPhi()->GetRegNumber() < vreg) { in RecordCatchBlockInfo() 1198 if (current_phi == nullptr || current_phi->AsPhi()->GetRegNumber() != vreg) { in RecordCatchBlockInfo() 1213 ++vreg; in RecordCatchBlockInfo() 1214 DCHECK_LT(vreg, num_vregs); in RecordCatchBlockInfo()
|
/art/test/510-checker-try-catch/smali/ |
D | SsaBuilder.smali | 151 # The constant in entry block will dominate the vreg 0 catch phi. 154 # Insert addition so that the value of vreg 1 does not dominate the phi.
|