Lines Matching refs:a0

10 %  get_vreg("a0", "t0", is_unsigned=True)  # a0 := fp[AA], zext
11 beqz a0, .L${opcode}_next // null
12 lwu a2, MIRROR_OBJECT_CLASS_OFFSET(a0) // a2 := actual klass
24 mv a0, xSELF
28 mv a1, a0
107 % get_vreg("a0", "s8", is_unsigned=True) # a0 := fp[B], zext
108 beqz a0, .L${opcode}_next // a0 = null = dst value "false"
109 lwu a2, MIRROR_OBJECT_CLASS_OFFSET(a0) // a2 := actual klass
114 li a0, 1 // dst value "true"
117 % set_vreg("a0", "s7", z0="t1") # fp[A] := a0
124 mv a0, xSELF
128 mv a1, a0
163 snez a0, a2 // a0 := 1 if (a1 = a2 != null), else 0 (because a2 = null)
166 % set_vreg("a0", vA, z0=z0) # fp[A] := a0
185 lwu a0, MIRROR_CLASS_COMPONENT_TYPE_OFFSET(a2) // a0 := actual.component
186 beqz a0, .L${opcode}_slow_next // actual not an array, a0 = null = dst value "false"
187 UNPOISON_HEAP_REF a0
189 lhu $z2, MIRROR_CLASS_OBJECT_PRIMITIVE_TYPE_OFFSET(a0) // z2 := actual.component.primitive
190 or a0, $z1, $z2 // a0 := 0 if z1 = z2 = 0, else non-zero (Primitive::Type enum)
191 seqz a0, a0 // a0 := 1 if both are class types, else 0
203 FETCH_FROM_THREAD_CACHE /*resolved klass*/a0, .L${opcode}_miss, t0, t1
213 SET_VREG_OBJECT a0, s7, z0=t0 // refs[AA] := new-obj
224 mv a0, xSELF
275 FETCH_FROM_THREAD_CACHE /*field_offset*/a0, .L${opcode}_slow, t1, t2
280 add t0, a0, t0 // t0 := field addr
289 mv a0, xSELF
297 bgez a0, .L${opcode}_slow_resume
308 sub $z0, $z0, a0 // z0 := field addr (holder - (-offset))
337 FETCH_FROM_THREAD_CACHE /*field_offset*/a0, .L${opcode}_slow, t1, t2
342 add t0, a0, t0 // t0 := field addr
343 lwu a0, (t0) // a0 := object
344 UNPOISON_HEAP_REF a0
349 SET_VREG_OBJECT a0, s8, z0=t0
366 mv a0, xSELF
374 bltz a0, .L${opcode}_volatile
380 sub $z0, $z0, a0 // z0 := field addr (holder - (-offset))
383 lwu a0, ($z0) // a0 := object
385 UNPOISON_HEAP_REF a0
390 SET_VREG_OBJECT a0, $dst, z0=$z0
439 FETCH_FROM_THREAD_CACHE /*resolved_field*/a0, .L${opcode}_slow, t0, t1
444 add t0, a0, t0 // t0 := field addr
451 mv a0, xSELF
459 bgez a0, .L${opcode}_slow_resume
470 sub $z0, $z0, a0 // z0 := field addr (holder - (-offset))
511 FETCH_FROM_THREAD_CACHE /*resolved_field*/a0, .L${opcode}_slow, t0, t1
516 add t1, a0, t0 // t1 := field addr
534 mv a0, xSELF
545 bltz a0, .L${opcode}_volatile
551 sub $z1, $z0, a0 // z1 := field addr (holder - (-offset))
602 FETCH_FROM_THREAD_CACHE /*resolved_field*/a0, .L${opcode}_slow, t0, t1
605 lwu t0, ART_FIELD_OFFSET_OFFSET(a0) // t0 := field offset
606 lwu a0, ART_FIELD_DECLARING_CLASS_OFFSET(a0) // a0 := holder
610 add t0, t0, a0 // t0 := field addr, after possible a0 update
623 mv a0, xSELF
631 slli t0, a0, 63
640 CLEAR_STATIC_VOLATILE_MARKER a0
641 lwu $z0, ART_FIELD_OFFSET_OFFSET(a0) // z0 := field offset
642 lwu a0, ART_FIELD_DECLARING_CLASS_OFFSET(a0) // a0 := holder
646 add $z0, $z0, a0 // z0 := field addr, after possible a0 update
675 FETCH_FROM_THREAD_CACHE /*resolved_field*/a0, .L${opcode}_slow, t0, t1
678 lwu t0, ART_FIELD_OFFSET_OFFSET(a0) // t0 := field offset
679 lwu a0, ART_FIELD_DECLARING_CLASS_OFFSET(a0) // a0 := holder
682 add t0, t0, a0 // t0 := field addr
683 lwu a0, (t0) // a0 := value (ref)
684 UNPOISON_HEAP_REF a0
688 SET_VREG_OBJECT a0, s7, z0=t0
694 add t0, t0, a0 // t0 := field addr, after a0 update
695 lwu a0, (t0) // a0 := value (ref)
696 UNPOISON_HEAP_REF a0
710 mv a0, xSELF
718 slli $z0, a0, 63
723 CLEAR_STATIC_VOLATILE_MARKER a0
724 lwu $z0, ART_FIELD_OFFSET_OFFSET(a0) // z0 := field offset
725 lwu a0, ART_FIELD_DECLARING_CLASS_OFFSET(a0) // a0 := holder
728 add $z0, $z0, a0 // z0 := field addr
730 lwu a0, ($z0) // Atomic ref load: "fence rw,rw, ; LOAD ; fence r,rw"
732 UNPOISON_HEAP_REF a0
736 SET_VREG_OBJECT a0, $dst_vreg, z0=$z0
742 add $z0, $z0, a0 // z0 := field addr, after a0 update
744 lwu a0, ($z0) // Atomic ref load: "fence rw,rw, ; LOAD ; fence r,rw"
746 UNPOISON_HEAP_REF a0
787 FETCH_FROM_THREAD_CACHE /*resolved_field*/a0, .L${opcode}_slow, t0, t1
790 lwu t0, ART_FIELD_OFFSET_OFFSET(a0)
791 lwu a0, ART_FIELD_DECLARING_CLASS_OFFSET(a0) // a0 := holder
795 add t0, t0, a0 // t0 := field addr, after possible a0 update
806 mv a0, xSELF
814 slli t0, a0, 63
823 CLEAR_STATIC_VOLATILE_MARKER a0
824 lwu $z0, ART_FIELD_OFFSET_OFFSET(a0) // z0 := field offset
825 lwu a0, ART_FIELD_DECLARING_CLASS_OFFSET(a0) // a0 := holder
829 add $z0, $z0, a0 // z0 := field addr, after possible a0 update
870 FETCH_FROM_THREAD_CACHE /*resolved_field*/a0, .L${opcode}_slow, t0, t1
873 lwu t0, ART_FIELD_OFFSET_OFFSET(a0)
874 lwu a0, ART_FIELD_DECLARING_CLASS_OFFSET(a0) // a0 := holder
878 add t0, t0, a0 // t0 := field addr, after possible a0 update
901 mv a0, xSELF
912 slli $z0, a0, 63
917 CLEAR_STATIC_VOLATILE_MARKER a0
918 lwu $z0, ART_FIELD_OFFSET_OFFSET(a0) // z0 := field offset
919 lwu a0, ART_FIELD_DECLARING_CLASS_OFFSET(a0) // a0 := holder
923 add $z0, $z0, a0 // z0 := field addr, after possible a0 update