blob: d224cd8a77828d398bfcfdad48ab61424ec7617c [file] [log] [blame]
buzbee1452bee2015-03-06 14:43:04 -08001%default { "is_object":"0", "handler":"artSet32InstanceFromMterp" }
2 /*
3 * General 32-bit instance field put.
4 *
5 * for: iput, iput-object, iput-boolean, iput-byte, iput-char, iput-short
6 */
7 /* op vA, vB, field@CCCC */
8 .extern $handler
9 EXPORT_PC
10 FETCH r0, 1 @ r0<- field ref CCCC
11 mov r1, rINST, lsr #12 @ r1<- B
12 GET_VREG r1, r1 @ r1<- fp[B], the object pointer
13 ubfx r2, rINST, #8, #4 @ r2<- A
14 GET_VREG r2, r2 @ r2<- fp[A]
15 ldr r3, [rFP, #OFF_FP_METHOD] @ r3<- referrer
16 PREFETCH_INST 2
17 bl $handler
18 cmp r0, #0
19 bne MterpPossibleException
20 ADVANCE 2 @ advance rPC
21 GET_INST_OPCODE ip @ extract opcode from rINST
22 GOTO_OPCODE ip @ jump to next instruction