blob: 7e0c1a64ef8b3a8bfa5edb5c90719b180d3556b4 [file] [log] [blame]
buzbee1452bee2015-03-06 14:43:04 -08001%default { "helper":"artSet32StaticFromCode"}
2 /*
3 * General SPUT handler wrapper.
4 *
5 * for: sput, sput-boolean, sput-byte, sput-char, sput-short
6 */
7 /* op vAA, field@BBBB */
8 EXPORT_PC
9 FETCH r0, 1 @ r0<- field ref BBBB
10 mov r3, rINST, lsr #8 @ r3<- AA
11 GET_VREG r1, r3 @ r1<= fp[AA]
12 ldr r2, [rFP, #OFF_FP_METHOD]
13 mov r3, rSELF
14 PREFETCH_INST 2 @ Get next inst, but don't advance rPC
15 bl $helper
16 cmp r0, #0 @ 0 on success, -1 on failure
17 bne MterpException
18 ADVANCE 2 @ Past exception point - now advance rPC
19 GET_INST_OPCODE ip @ extract opcode from rINST
20 GOTO_OPCODE ip @ jump to next instruction