blob: 2b81f5069ff7d4f611c537517676c2b5e837446b [file] [log] [blame]
buzbee1452bee2015-03-06 14:43:04 -08001%default { "is_object":"0", "helper":"artGet32StaticFromCode" }
2 /*
3 * General SGET handler wrapper.
4 *
5 * for: sget, sget-object, sget-boolean, sget-byte, sget-char, sget-short
6 */
7 /* op vAA, field@BBBB */
8
9 .extern $helper
10 EXPORT_PC
11 FETCH r0, 1 @ r0<- field ref BBBB
12 ldr r1, [rFP, #OFF_FP_METHOD]
13 mov r2, rSELF
14 bl $helper
15 ldr r3, [rSELF, #THREAD_EXCEPTION_OFFSET]
16 mov r2, rINST, lsr #8 @ r2<- AA
17 PREFETCH_INST 2
18 cmp r3, #0 @ Fail to resolve?
19 bne MterpException @ bail out
20.if $is_object
21 SET_VREG_OBJECT r0, r2 @ fp[AA]<- r0
22.else
23 SET_VREG r0, r2 @ fp[AA]<- r0
24.endif
25 ADVANCE 2
26 GET_INST_OPCODE ip @ extract opcode from rINST
27 GOTO_OPCODE ip