blob: 3b347fc00832a540307acc0868e393166c6d5fee [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001 /*
2 * 64-bit SPUT handler.
3 */
Alexey Frunze84603bf2016-10-21 19:54:43 -07004 /* sput-wide vAA, field@BBBB */
Douglas Leung200f0402016-02-25 20:05:47 -08005 .extern artSet64IndirectStaticFromMterp
6 EXPORT_PC()
7 FETCH(a0, 1) # a0 <- field ref CCCC
8 lw a1, OFF_FP_METHOD(rFP) # a1 <- method
9 GET_OPA(a2) # a2 <- AA
10 EAS2(a2, rFP, a2) # a2 <- &fp[AA]
11 move a3, rSELF # a3 <- self
12 PREFETCH_INST(2) # load rINST
13 JAL(artSet64IndirectStaticFromMterp)
14 bnez v0, MterpException # bail out
15 ADVANCE(2) # advance rPC
16 GET_INST_OPCODE(t0) # extract opcode from rINST
17 GOTO_OPCODE(t0) # jump to next instruction