Home
last modified time | relevance | path

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

12

/art/runtime/
Dstack.cc196 bool StackVisitor::GetVRegFromDebuggerShadowFrame(uint16_t vreg, in GetVRegFromDebuggerShadowFrame() argument
204 if (updated_vreg_flags[vreg]) { in GetVRegFromDebuggerShadowFrame()
208 shadow_frame->GetVRegReference(vreg))); in GetVRegFromDebuggerShadowFrame()
210 *val = shadow_frame->GetVReg(vreg); in GetVRegFromDebuggerShadowFrame()
220 uint16_t vreg, in GetVReg() argument
228 if (GetVRegFromDebuggerShadowFrame(vreg, kind, val)) { in GetVReg()
235 ? NterpGetVRegReference(cur_quick_frame_, vreg) in GetVReg()
236 : NterpGetVReg(cur_quick_frame_, vreg); in GetVReg()
245 DCHECK_EQ(result, GetVRegFromOptimizedCode(m, vreg, kind, &val2)); in GetVReg()
248 result = GetVRegFromOptimizedCode(m, vreg, kind, val); in GetVReg()
[all …]
Dquick_exception_handler.cc268 for (uint16_t vreg = 0; vreg < number_of_vregs; ++vreg) { in SetCatchEnvironmentForOptimizedHandler() local
269 DexRegisterLocation::Kind catch_location = catch_vreg_map[vreg].GetKind(); in SetCatchEnvironmentForOptimizedHandler()
277 VRegKind vreg_kind = ToVRegKind(throw_vreg_map[vreg].GetKind()); in SetCatchEnvironmentForOptimizedHandler()
280 vreg, in SetCatchEnvironmentForOptimizedHandler()
283 throw_vreg_map[vreg]); in SetCatchEnvironmentForOptimizedHandler()
284 CHECK(get_vreg_success) << "VReg " << vreg << " was optimized out (" in SetCatchEnvironmentForOptimizedHandler()
290 int32_t slot_offset = catch_vreg_map[vreg].GetStackOffsetInBytes(); in SetCatchEnvironmentForOptimizedHandler()
473 for (uint16_t vreg = 0; vreg < number_of_vregs; ++vreg) { in HandleOptimizingDeoptimization() local
474 if (updated_vregs != nullptr && updated_vregs[vreg]) { in HandleOptimizingDeoptimization()
479 DexRegisterLocation::Kind location = vreg_map[vreg].GetKind(); in HandleOptimizingDeoptimization()
[all …]
Dnterp_helpers.cc146 uint32_t NterpGetVReg(ArtMethod** frame, uint16_t vreg) { in NterpGetVReg() argument
147 return reinterpret_cast<uint32_t*>(NterpGetRegistersArray(frame))[vreg]; in NterpGetVReg()
150 uint32_t NterpGetVRegReference(ArtMethod** frame, uint16_t vreg) { in NterpGetVRegReference() argument
151 return reinterpret_cast<uint32_t*>(NterpGetReferenceArray(frame))[vreg]; in NterpGetVRegReference()
Dstack.h228 uint16_t vreg,
235 bool GetVRegPair(ArtMethod* m, uint16_t vreg, VRegKind kind_lo, VRegKind kind_hi,
241 bool SetVReg(ArtMethod* m, uint16_t vreg, uint32_t new_value, VRegKind kind)
246 bool SetVRegReference(ArtMethod* m, uint16_t vreg, ObjPtr<mirror::Object> new_value)
252 uint16_t vreg,
327 bool GetVRegFromDebuggerShadowFrame(uint16_t vreg, VRegKind kind, uint32_t* val) const
329 bool GetVRegFromOptimizedCode(ArtMethod* m, uint16_t vreg, VRegKind kind,
333 bool GetVRegPairFromDebuggerShadowFrame(uint16_t vreg, VRegKind kind_lo, VRegKind kind_hi,
336 bool GetVRegPairFromOptimizedCode(ArtMethod* m, uint16_t vreg,
346 ShadowFrame* PrepareSetVReg(ArtMethod* m, uint16_t vreg, bool wide)
Dnterp_helpers.h67 uint32_t NterpGetVReg(ArtMethod** frame, uint16_t vreg)
74 uint32_t NterpGetVRegReference(ArtMethod** frame, uint16_t vreg)
Djava_frame_root_info.h47 JavaFrameRootInfo(uint32_t thread_id, const StackVisitor* stack_visitor, size_t vreg) in JavaFrameRootInfo() argument
48 : RootInfo(kRootJavaFrame, thread_id), stack_visitor_(stack_visitor), vreg_(vreg) { in JavaFrameRootInfo()
Dmethod_handles.cc865 uint32_t vreg) in GetValueFromShadowFrame() argument
870 field_value.SetZ(static_cast<uint8_t>(shadow_frame.GetVReg(vreg))); in GetValueFromShadowFrame()
873 field_value.SetB(static_cast<int8_t>(shadow_frame.GetVReg(vreg))); in GetValueFromShadowFrame()
876 field_value.SetC(static_cast<uint16_t>(shadow_frame.GetVReg(vreg))); in GetValueFromShadowFrame()
879 field_value.SetS(static_cast<int16_t>(shadow_frame.GetVReg(vreg))); in GetValueFromShadowFrame()
883 field_value.SetI(shadow_frame.GetVReg(vreg)); in GetValueFromShadowFrame()
887 field_value.SetJ(shadow_frame.GetVRegLong(vreg)); in GetValueFromShadowFrame()
890 field_value.SetL(shadow_frame.GetVRegReference(vreg)); in GetValueFromShadowFrame()
/art/test/913-heaps/
Dexpected.txt4 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/mterp/arm64/
Dmain.S251 .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/runtime/interpreter/
Dshadow_frame.h140 const uint32_t* vreg = &vregs_[i]; in GetVReg() local
141 return *reinterpret_cast<const int32_t*>(vreg); in GetVReg()
165 const uint32_t* vreg = &vregs_[i]; in GetVRegFloat() local
166 return *reinterpret_cast<const float*>(vreg); in GetVRegFloat()
171 const uint32_t* vreg = &vregs_[i]; in GetVRegLong() local
173 return *reinterpret_cast<unaligned_int64*>(vreg); in GetVRegLong()
178 const uint32_t* vreg = &vregs_[i]; in GetVRegDouble() local
180 return *reinterpret_cast<unaligned_double*>(vreg); in GetVRegDouble()
205 uint32_t* vreg = &vregs_[i]; in SetVReg() local
206 *reinterpret_cast<int32_t*>(vreg) = val; in SetVReg()
[all …]
Dshadow_frame-inl.h34 uint32_t* vreg = &vregs_[i]; in SetVRegReference() local
35 reinterpret_cast<StackReference<mirror::Object>*>(vreg)->Assign(val); in SetVRegReference()
Dinterpreter_common.h472 ALWAYS_INLINE static JValue GetFieldValue(const ShadowFrame& shadow_frame, uint32_t vreg) in GetFieldValue() argument
477 field_value.SetZ(static_cast<uint8_t>(shadow_frame.GetVReg(vreg))); in GetFieldValue()
480 field_value.SetB(static_cast<int8_t>(shadow_frame.GetVReg(vreg))); in GetFieldValue()
483 field_value.SetC(static_cast<uint16_t>(shadow_frame.GetVReg(vreg))); in GetFieldValue()
486 field_value.SetS(static_cast<int16_t>(shadow_frame.GetVReg(vreg))); in GetFieldValue()
489 field_value.SetI(shadow_frame.GetVReg(vreg)); in GetFieldValue()
492 field_value.SetJ(shadow_frame.GetVRegLong(vreg)); in GetFieldValue()
495 field_value.SetL(shadow_frame.GetVRegReference(vreg)); in GetFieldValue()
/art/runtime/interpreter/mterp/arm/
Dmain.S254 .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/test/550-checker-regression-wide-store/
Dinfo.txt1 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/test/134-reg-promotion/
Dinfo.txt1 Test that a vreg value that was defined by a const 0 and is used is both ref
/art/compiler/debug/
Delf_debug_loc_writer.h83 uint16_t vreg, in GetVariableLocations() argument
144 reg_lo = dex_register_map[vreg]; in GetVariableLocations()
146 reg_hi = dex_register_map[vreg + 1]; in GetVariableLocations()
169 uint16_t vreg, in WriteDebugLocEntry() argument
186 vreg, in WriteDebugLocEntry()
Delf_debug_info_writer.h212 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/541-regression-inlined-deopt/
Dinfo.txt3 control over vregs because the previous test 449 would pass because the vreg
/art/test/550-checker-regression-wide-store/smali/
DTestCase.smali25 # 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/test/541-regression-inlined-deopt/smali/
DTestCase.smali47 # Make sure the reference is not stored in the same vreg as used by
/art/test/596-checker-dead-phi/smali/
DIrreducibleLoop.smali23 # Check that the outer loop suspend check environment only has the parameter vreg.
/art/test/510-checker-try-catch/smali/
DSsaBuilder.smali151 # 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.
/art/compiler/optimizing/
Dinstruction_builder.cc221 for (size_t vreg = 0, e = current_locals_->size(); vreg < e; ++vreg) { in PropagateLocalsToCatchBlocks() local
222 HInstruction* handler_value = (*handler_locals)[vreg]; in PropagateLocalsToCatchBlocks()
230 HInstruction* local_value = (*current_locals_)[vreg]; in PropagateLocalsToCatchBlocks()
235 (*handler_locals)[vreg] = nullptr; in PropagateLocalsToCatchBlocks()
288 size_t vreg = phi->GetRegNumber(); in SetLoopHeaderPhiInputs() local
290 HInstruction* value = ValueOfLocalAt(predecessor, vreg); in SetLoopHeaderPhiInputs()
1531 for (size_t vreg = 0, e = current_locals_->size(); vreg < e; ++vreg) { in HandleStringInit() local
1532 if ((*current_locals_)[vreg] == arg_this) { in HandleStringInit()
1533 (*current_locals_)[vreg] = invoke; in HandleStringInit()
Dcode_generator.cc1268 for (size_t vreg = 0; vreg < num_vregs; ++vreg) { in RecordCatchBlockInfo() local
1269 while (current_phi != nullptr && current_phi->AsPhi()->GetRegNumber() < vreg) { in RecordCatchBlockInfo()
1277 if (current_phi == nullptr || current_phi->AsPhi()->GetRegNumber() != vreg) { in RecordCatchBlockInfo()
1292 ++vreg; in RecordCatchBlockInfo()
1293 DCHECK_LT(vreg, num_vregs); in RecordCatchBlockInfo()
/art/runtime/jit/
Djit.cc524 for (uint16_t vreg = 0; vreg < number_of_vregs; ++vreg) { in PrepareForOsr() local
525 DexRegisterLocation::Kind location = vreg_map[vreg].GetKind(); in PrepareForOsr()
538 int32_t vreg_value = vregs[vreg]; in PrepareForOsr()
539 int32_t slot_offset = vreg_map[vreg].GetStackOffsetInBytes(); in PrepareForOsr()

12