/dalvik/vm/mterp/x86-atom/ |
D | OP_EXECUTE_INLINE.S | 35 shr $$4, rINST # rINST<- B 49 cmp $$1, rINST # determine number of arguments 52 cmp $$3, rINST 56 movl %edx, rINST # rINST<- FEDC 57 and $$0xf000, rINST # isolate F 58 shr $$10, rINST 59 movl (rFP, rINST), rINST # rINST<- vF 60 movl rINST, 12(%esp) # push parameter vF 62 movl %edx, rINST # rINST<- FEDC 63 and $$0x0f00, rINST # isolate E [all …]
|
D | OP_MUL_LONG.S | 46 movl rINST, -4(%esp) # -4(%esp)<- AA+ 47 FETCH_BB 1, rINST # rINST<- BB 60 movl 4(rFP, rINST, 4), %ecx # %ecx<- W 63 imull (rFP, rINST, 4), %eax # %eax<- XxY 66 mull (rFP, rINST, 4) # %edx:eax<- XZ 67 movzbl -4(%esp), rINST # rINST<- AA 69 movl %ecx, 4(rFP, rINST, 4) # vAA+1<- results hi 70 movl %eax, (rFP, rINST, 4) # vAA<- results lo
|
D | OP_EXECUTE_INLINE_RANGE.S | 48 cmp $$1, rINST # determine number of arguments 51 cmp $$3, rINST 55 movl 12(rFP, %edx, 4), rINST # rINST<- vF 56 movl rINST, 12(%esp) # push parameter vF 58 movl 8(rFP, %edx, 4), rINST # rINST<- vE 59 movl rINST, 8(%esp) # push parameter E 61 movl 4(rFP, %edx, 4), rINST # rINST<- vD 62 movl rINST, 4(%esp) # push parameter D 64 movl (rFP, %edx, 4), %edx # rINST<- vC
|
D | OP_MOVE.S | 32 movl rINST, %ecx # %ecx<- BA 33 shr $$4, rINST # rINST<- B 36 GET_VREG rINST # rINST<- vB 37 SET_VREG rINST, %ecx # vA<- vB; %edx
|
D | bincmp.S | 32 movl rINST, %eax # %eax<- BA 33 andl $$15, rINST # rINST<- A 35 GET_VREG rINST # rINST<- vA 37 cmp (rFP, %eax, 4), rINST # compare vA and vB
|
D | OP_IPUT_OBJECT_QUICK.S | 27 movl rINST, %eax # %eax<- BA 29 and $$15, rINST # rINST<- A 35 GET_VREG rINST # rINST<- vA 36 movl rINST, (%eax, %ecx) # object field<- vA 37 testl rINST, rINST # did we write a null object
|
D | OP_IPUT_QUICK.S | 27 movl rINST, %eax # %eax<- BA 29 and $$15, rINST # rINST<- A 35 GET_VREG rINST # rINST<- vA 36 movl rINST, (%eax, %ecx) # object field<- vA
|
D | OP_FLOAT_TO_DOUBLE.S | 31 movl rINST, %edx # %edx<- BA 32 shr $$4, rINST # rINST<- B 34 flds (rFP, rINST, 4) # load float
|
D | binop2addr.S | 34 movl rINST, %edx # %edx<- BA 36 andl $$15, rINST # rINST<- A 37 movl rINST, %ecx # %ecx<- A 42 SET_VREG %ecx, rINST # vAA<- %ecx; result
|
D | binopS2addr.S | 33 movl rINST, %ecx # %ecx<- BA 35 andl $$15, rINST # rINST<- A 36 movl rINST, %edx # %edx<- A 41 SET_VREG %edx, rINST # vAA<- %edx; result
|
D | OP_DOUBLE_TO_FLOAT.S | 31 movl rINST, %edx # %edx<- BA 32 shr $$4, rINST # rINST<- B 34 fldl (rFP, rINST, 4) # load &vB
|
D | OP_REM_FLOAT_2ADDR.S | 32 movl rINST, %edx # %edx<- BA 34 andl $$15, rINST # rINST<- A 36 movl (rFP, rINST, 4), %ecx # %ecx<- vA 43 fstps (rFP, rINST, 4)
|
/dalvik/vm/mterp/x86/ |
D | OP_MOVE_WIDE.S | 5 sarl $$4,rINST # rINST<- B 6 GET_VREG_WORD %eax rINST 0 # eax<- v[B+0] 7 GET_VREG_WORD rINST rINST 1 # rINST<- v[B+1] 9 SET_VREG_WORD rINST %ecx 1 # v[A+1]<- rINST
|
D | OP_ARRAY_LENGTH.S | 5 mov rINST,%eax # eax<- BA 6 sarl $$4,rINST # rINST<- B 7 GET_VREG_R %ecx rINST # ecx<- vB (object ref) 11 movl offArrayObject_length(%ecx),rINST 14 SET_VREG rINST %eax
|
D | OP_RETURN_WIDE.S | 8 GET_VREG_WORD %eax rINST 0 # eax<- v[AA+0] 9 GET_VREG_WORD rINST rINST 1 # rINST<- v[AA+1] 11 movl rINST,4+offThread_retval(%ecx)
|
D | OP_MOVE.S | 6 shrl $$4,rINST # rINST<- B 7 GET_VREG_R rINST rINST 10 SET_VREG rINST %eax # fp[A]<-fp[B]
|
D | OP_INVOKE_SUPER.S | 11 movl rSELF,rINST 13 movl offThread_methodClassDex(rINST),%ecx # ecx<- pDvmDex 17 movl offThread_method(rINST),%eax # eax<- method 18 movzwl 4(rPC),rINST # rINST<- GFED or CCCC 20 andl $$0xf,rINST # rINST<- D (or stays CCCC) 22 GET_VREG_R rINST rINST # rINST<- "this" ptr 23 testl rINST,rINST # null "this"?
|
D | OP_CONST_4.S | 4 movl $$0xf,rINST 5 andl %eax,rINST # rINST<- A 9 SET_VREG %eax rINST
|
D | OP_CONST.S | 4 movl rINST,rINST # rINST<- AA 7 SET_VREG %eax rINST # vAA<- eax
|
D | OP_INVOKE_SUPER_JUMBO.S | 7 movl rSELF,rINST 9 movl offThread_methodClassDex(rINST),%ecx # ecx<- pDvmDex 13 movl offThread_method(rINST),%eax # eax<- method 14 movzwl 8(rPC),rINST # rINST<- CCCC 15 GET_VREG_R rINST rINST # rINST<- "this" ptr 16 testl rINST,rINST # null "this"?
|
/dalvik/vm/mterp/armv6t2/ |
D | OP_MUL_LONG_2ADDR.S | 11 mov r1, rINST, lsr #12 @ r1<- B 12 ubfx r9, rINST, #8, #4 @ r9<- A 14 add rINST, rFP, r9, lsl #2 @ rINST<- &fp[A] 16 ldmia rINST, {r0-r1} @ r0/r1<- vAA/vAA+1 20 mov r0, rINST @ r0<- &fp[A] (free up rINST) 21 FETCH_ADVANCE_INST(1) @ advance rPC, load rINST 23 GET_INST_OPCODE(ip) @ extract opcode from rINST
|
/dalvik/vm/mterp/armv5te/ |
D | OP_MUL_LONG_2ADDR.S | 11 mov r9, rINST, lsr #8 @ r9<- A+ 12 mov r1, rINST, lsr #12 @ r1<- B 15 add rINST, rFP, r9, lsl #2 @ rINST<- &fp[A] 17 ldmia rINST, {r0-r1} @ r0/r1<- vAA/vAA+1 21 mov r0, rINST @ r0<- &fp[A] (free up rINST) 22 FETCH_ADVANCE_INST(1) @ advance rPC, load rINST 24 GET_INST_OPCODE(ip) @ extract opcode from rINST
|
D | OP_EXECUTE_INLINE.S | 25 mov r0, rINST, lsr #12 @ r0<- B 31 FETCH_ADVANCE_INST(3) @ advance rPC, load rINST 32 GET_INST_OPCODE(ip) @ extract opcode from rINST 50 FETCH(rINST, 2) @ rINST<- FEDC 53 4: and ip, rINST, #0xf000 @ isolate F 55 3: and ip, rINST, #0x0f00 @ isolate E 57 2: and ip, rINST, #0x00f0 @ isolate D 59 1: and ip, rINST, #0x000f @ isolate C 62 ldr rINST, .L${opcode}_table @ table of InlineOperation 63 ldr pc, [rINST, r10, lsl #4] @ sizeof=16, "func" is first entry [all …]
|
D | OP_APUT_OBJECT.S | 7 mov r9, rINST, lsr #8 @ r9<- AA 10 GET_VREG(rINST, r2) @ rINST<- vBB (array object) 12 cmp rINST, #0 @ null array object? 15 ldr r3, [rINST, #offArrayObject_length] @ r3<- arrayObj->length 16 add r10, rINST, r1, lsl #2 @ r10<- arrayObj + index*width 52 ldr r1, [rINST, #offObject_clazz]
|
D | OP_BREAKPOINT.S | 11 FETCH(rINST, 0) @ reload OP_BREAKPOINT + rest of inst 13 and rINST, #0xff00 14 orr rINST, rINST, r0
|