1fa6adfd5f349bfeadc6b1bf4fd5f47666dc96269buzbee%default { "is_object":"0", "helper":"MterpGet32Static", "extend":"" } 200b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze /* 300b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze * General SGET handler wrapper. 400b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze * 500b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze * for: sget, sget-object, sget-boolean, sget-byte, sget-char, sget-short 600b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze */ 700b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze /* op vAA, field//BBBB */ 800b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze .extern $helper 900b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze EXPORT_PC 1000b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze lhu a0, 2(rPC) # a0 <- field ref BBBB 1100b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze ld a1, OFF_FP_METHOD(rFP) 1200b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze move a2, rSELF 1300b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze jal $helper 1400b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze ld a3, THREAD_EXCEPTION_OFFSET(rSELF) 1500b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze srl a2, rINST, 8 # a2 <- AA 1600b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze $extend 1700b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze PREFETCH_INST 2 1800b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze bnez a3, MterpException # bail out 1900b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze .if $is_object 2000b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze SET_VREG_OBJECT v0, a2 # fp[AA] <- v0 2100b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze .else 2200b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze SET_VREG v0, a2 # fp[AA] <- v0 2300b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze .endif 2400b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze ADVANCE 2 2500b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze GET_INST_OPCODE v0 # extract opcode from rINST 2600b53b7f3f9ce5996b767b52c28dd846f47a723cAlexey Frunze GOTO_OPCODE v0 27