11452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee%default { "helper":"artSet32StaticFromCode"} 21452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee /* 31452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee * General SPUT handler wrapper. 41452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee * 51452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee * for: sput, sput-boolean, sput-byte, sput-char, sput-short 61452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee */ 71452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee /* op vAA, field@BBBB */ 81452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee EXPORT_PC 91452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee FETCH r0, 1 @ r0<- field ref BBBB 101452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee mov r3, rINST, lsr #8 @ r3<- AA 111452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee GET_VREG r1, r3 @ r1<= fp[AA] 121452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee ldr r2, [rFP, #OFF_FP_METHOD] 131452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee mov r3, rSELF 141452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee PREFETCH_INST 2 @ Get next inst, but don't advance rPC 151452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee bl $helper 161452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee cmp r0, #0 @ 0 on success, -1 on failure 171452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee bne MterpException 181452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee ADVANCE 2 @ Past exception point - now advance rPC 191452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee GET_INST_OPCODE ip @ extract opcode from rINST 201452bee8f06b9f76a333ddf4760e4beaa82f8099buzbee GOTO_OPCODE ip @ jump to next instruction 21