blob: c729250003c72933f5fee90f9e4443fc94509a76 [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001 /*
2 * 64-bit SGET handler.
3 */
Alexey Frunze84603bf2016-10-21 19:54:43 -07004 /* sget-wide vAA, field@BBBB */
Douglas Leung200f0402016-02-25 20:05:47 -08005 .extern artGet64StaticFromCode
6 EXPORT_PC()
7 FETCH(a0, 1) # a0 <- field ref BBBB
8 lw a1, OFF_FP_METHOD(rFP) # a1 <- method
9 move a2, rSELF # a2 <- self
10 JAL(artGet64StaticFromCode)
11 lw a3, THREAD_EXCEPTION_OFFSET(rSELF)
12 bnez a3, MterpException
13 GET_OPA(a1) # a1 <- AA
14 FETCH_ADVANCE_INST(2) # advance rPC, load rINST
Douglas Leung200f0402016-02-25 20:05:47 -080015 GET_INST_OPCODE(t0) # extract opcode from rINST
Alexey Frunze84603bf2016-10-21 19:54:43 -070016 SET_VREG64_GOTO(v0, v1, a1, t0) # vAA/vAA+1 <- v0/v1