Lines Matching full:this
4 * you may not use this file except in compliance with the License.
82 return this->template GetAs<int32_t>(param_idx); in Get()
124 this->template MoveToNextInst<format, false>(); in HandleNop()
130 auto imm = bit_cast<double>(this->GetInst().template GetImm<format>()); in HandleFldaiDyn()
132 this->GetAcc().SetValue(coretypes::TaggedValue(imm).GetRawData()); in HandleFldaiDyn()
133 this->template MoveToNextInst<format, false>(); in HandleFldaiDyn()
139 int32_t imm = this->GetInst().template GetImm<format>(); in HandleLdaiDyn()
141 this->GetAcc().SetValue(coretypes::TaggedValue(imm).GetRawData()); in HandleLdaiDyn()
142 this->template MoveToNextInst<format, false>(); in HandleLdaiDyn()
148 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleMov()
149 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleMov()
151 auto cur_frame_handler = this->GetFrameHandler(); in HandleMov()
153 this->template MoveToNextInst<format, false>(); in HandleMov()
159 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleMovWide()
160 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleMovWide()
162 auto cur_frame_handler = this->GetFrameHandler(); in HandleMovWide()
164 this->template MoveToNextInst<format, false>(); in HandleMovWide()
170 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleMovObj()
171 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleMovObj()
173 auto cur_frame_handler = this->GetFrameHandler(); in HandleMovObj()
175 this->template MoveToNextInst<format, false>(); in HandleMovObj()
181 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleMovDyn()
182 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleMovDyn()
184 auto cur_frame_handler = this->GetFrameHandler(); in HandleMovDyn()
186 this->template MoveToNextInst<format, false>(); in HandleMovDyn()
192 int32_t imm = this->GetInst().template GetImm<format>(); in HandleMovi()
193 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleMovi()
195 this->GetFrameHandler().GetVReg(vd).SetPrimitive(imm); in HandleMovi()
196 this->template MoveToNextInst<format, false>(); in HandleMovi()
202 int64_t imm = this->GetInst().template GetImm<format>(); in HandleMoviWide()
203 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleMoviWide()
205 this->GetFrameHandler().GetVReg(vd).SetPrimitive(imm); in HandleMoviWide()
206 this->template MoveToNextInst<format, false>(); in HandleMoviWide()
212 auto imm = bit_cast<float>(this->GetInst().template GetImm<format>()); in HandleFmovi()
213 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleFmovi()
215 this->GetFrameHandler().GetVReg(vd).SetPrimitive(imm); in HandleFmovi()
216 this->template MoveToNextInst<format, false>(); in HandleFmovi()
222 auto imm = bit_cast<double>(this->GetInst().template GetImm<format>()); in HandleFmoviWide()
223 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleFmoviWide()
225 this->GetFrameHandler().GetVReg(vd).SetPrimitive(imm); in HandleFmoviWide()
226 this->template MoveToNextInst<format, false>(); in HandleFmoviWide()
232 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleMovNull()
234 this->GetFrameHandler().GetVReg(vd).SetReference(nullptr); in HandleMovNull()
235 this->template MoveToNextInst<format, false>(); in HandleMovNull()
241 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLda()
243 this->GetAccAsVReg().SetPrimitive(this->GetFrame()->GetVReg(vs).Get()); in HandleLda()
244 this->template MoveToNextInst<format, false>(); in HandleLda()
250 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdaWide()
252 this->GetAccAsVReg().SetPrimitive(this->GetFrame()->GetVReg(vs).GetLong()); in HandleLdaWide()
253 this->template MoveToNextInst<format, false>(); in HandleLdaWide()
259 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdaObj()
261 this->GetAccAsVReg().SetReference(this->GetFrame()->GetVReg(vs).GetReference()); in HandleLdaObj()
262 this->template MoveToNextInst<format, false>(); in HandleLdaObj()
268 int32_t imm = this->GetInst().template GetImm<format>(); in HandleLdai()
270 this->GetAccAsVReg().SetPrimitive(imm); in HandleLdai()
271 this->template MoveToNextInst<format, false>(); in HandleLdai()
277 int64_t imm = this->GetInst().template GetImm<format>(); in HandleLdaiWide()
279 this->GetAccAsVReg().SetPrimitive(imm); in HandleLdaiWide()
280 this->template MoveToNextInst<format, false>(); in HandleLdaiWide()
286 auto imm = bit_cast<float>(this->GetInst().template GetImm<format>()); in HandleFldai()
288 this->GetAccAsVReg().SetPrimitive(imm); in HandleFldai()
289 this->template MoveToNextInst<format, false>(); in HandleFldai()
295 auto imm = bit_cast<double>(this->GetInst().template GetImm<format>()); in HandleFldaiWide()
297 this->GetAccAsVReg().SetPrimitive(imm); in HandleFldaiWide()
298 this->template MoveToNextInst<format, false>(); in HandleFldaiWide()
304 auto string_id = this->GetInst().template GetId<format>(); in HandleLdaStr()
307 this->GetFrame()->SetAcc(this->GetAcc()); in HandleLdaStr()
308 PandaVM *vm = this->GetThread()->GetVM(); in HandleLdaStr()
309 vm->HandleLdaStr(this->GetFrame(), string_id); in HandleLdaStr()
310 if (UNLIKELY(this->GetThread()->HasPendingException())) { in HandleLdaStr()
311 this->MoveToExceptionHandler(); in HandleLdaStr()
313 this->GetAcc() = this->GetFrame()->GetAcc(); in HandleLdaStr()
314 this->template MoveToNextInst<format, false>(); in HandleLdaStr()
337 auto type_id = this->GetInst().template GetId<format>(); in HandleLdaType()
341 this->GetAccAsVReg().SetReference(type->GetManagedObject()); in HandleLdaType()
342 this->template MoveToNextInst<format, false>(); in HandleLdaType()
344 this->MoveToExceptionHandler(); in HandleLdaType()
352 this->GetAccAsVReg().SetReference(nullptr); in HandleLdaNull()
353 this->template MoveToNextInst<format, false>(); in HandleLdaNull()
359 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleSta()
361 this->GetFrameHandler().GetVReg(vd).SetPrimitive(this->GetAcc().Get()); in HandleSta()
362 this->template MoveToNextInst<format, false>(); in HandleSta()
368 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleStaWide()
370 this->GetFrameHandler().GetVReg(vd).SetPrimitive(this->GetAcc().GetValue()); in HandleStaWide()
371 this->template MoveToNextInst<format, false>(); in HandleStaWide()
377 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleStaObj()
379 this->GetFrameHandler().GetVReg(vd).SetReference(this->GetAcc().GetReference()); in HandleStaObj()
380 this->template MoveToNextInst<format, false>(); in HandleStaObj()
386 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleStaDyn()
388 this->GetFrameHandler().GetVReg(vd).Move(this->GetAccAsVReg()); in HandleStaDyn()
389 this->template MoveToNextInst<format, false>(); in HandleStaDyn()
395 int32_t imm = this->GetInst().template GetImm<format>(); in HandleJmp()
398 this->template JumpToInst<false>(imm); in HandleJmp()
1014 int32_t imm = this->GetInst().template GetImm<format>(); in HandleInci()
1015 uint16_t vx = this->GetInst().template GetVReg<format>(); in HandleInci()
1017 auto ® = this->GetFrame()->GetVReg(vx); in HandleInci()
1020 this->template MoveToNextInst<format, false>(); in HandleInci()
1327 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdarrObj()
1330 auto *array = static_cast<coretypes::Array *>(this->GetFrame()->GetVReg(vs).GetReference()); in HandleLdarrObj()
1331 int32_t idx = this->GetAcc().Get(); in HandleLdarrObj()
1334 this->GetAccAsVReg().SetReference( in HandleLdarrObj()
1335 … array->Get<ObjectHeader *, RuntimeIfaceT::NEED_READ_BARRIER>(this->GetThread(), idx)); in HandleLdarrObj()
1336 this->template MoveToNextInst<format, true>(); in HandleLdarrObj()
1338 this->MoveToExceptionHandler(); in HandleLdarrObj()
1345 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdaDyn()
1347 this->GetAccAsVReg().Move(this->GetFrameHandler().GetVReg(vs)); in HandleLdaDyn()
1348 this->template MoveToNextInst<format, false>(); in HandleLdaDyn()
1403 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLenarr()
1407 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLenarr()
1410 this->MoveToExceptionHandler(); in HandleLenarr()
1413 this->GetAccAsVReg().SetPrimitive(static_cast<int32_t>(array->GetLength())); in HandleLenarr()
1414 this->template MoveToNextInst<format, true>(); in HandleLenarr()
1421 auto litarr_id = this->GetInst().template GetId<format>(); in HandleLdaConst()
1422 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleLdaConst()
1426 this->GetFrame()->SetAcc(this->GetAcc()); in HandleLdaConst()
1428 this->GetAcc() = this->GetFrame()->GetAcc(); in HandleLdaConst()
1431 this->MoveToExceptionHandler(); in HandleLdaConst()
1433 this->GetFrameHandler().GetVReg(vd).SetReference(array); in HandleLdaConst()
1434 this->template MoveToNextInst<format, false>(); in HandleLdaConst()
1441 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleNewarr()
1442 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleNewarr()
1443 auto id = this->GetInst().template GetId<format>(); in HandleNewarr()
1447 int32_t size = this->GetFrame()->GetVReg(vs).Get(); in HandleNewarr()
1451 this->MoveToExceptionHandler(); in HandleNewarr()
1455 this->GetFrame()->GetAcc() = this->GetAcc(); in HandleNewarr()
1457 this->GetAcc() = this->GetFrame()->GetAcc(); in HandleNewarr()
1458 this->GetFrameHandler().GetVReg(vd).SetReference(array); in HandleNewarr()
1460 this->MoveToExceptionHandler(); in HandleNewarr()
1462 this->template MoveToNextInst<format, true>(); in HandleNewarr()
1465 this->MoveToExceptionHandler(); in HandleNewarr()
1473 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleNewobj()
1474 auto id = this->GetInst().template GetId<format>(); in HandleNewobj()
1480 this->GetFrame()->GetAcc() = this->GetAcc(); in HandleNewobj()
1482 this->GetAcc() = this->GetFrame()->GetAcc(); in HandleNewobj()
1484 this->GetFrameHandler().GetVReg(vd).SetReference(obj); in HandleNewobj()
1485 this->template MoveToNextInst<format, false>(); in HandleNewobj()
1487 this->MoveToExceptionHandler(); in HandleNewobj()
1490 this->MoveToExceptionHandler(); in HandleNewobj()
1497 auto id = this->GetInst().template GetId<format>(); in HandleInitobj()
1499 LOG_INST() << "initobj " << this->GetInst().template GetVReg<format, 0>() << ", v" in HandleInitobj()
1500 << this->GetInst().template GetVReg<format, 1>() << ", v" in HandleInitobj()
1501 << this->GetInst().template GetVReg<format, 2>() << ", v" in HandleInitobj()
1502 … << this->GetInst().template GetVReg<format, 3>() << ", " << std::hex << "0x" << id; in HandleInitobj()
1510 auto id = this->GetInst().template GetId<format>(); in HandleInitobjShort()
1512 LOG_INST() << "initobj.short v" << this->GetInst().template GetVReg<format, 0>() << ", v" in HandleInitobjShort()
1513 … << this->GetInst().template GetVReg<format, 1>() << ", " << std::hex << "0x" << id; in HandleInitobjShort()
1521 auto id = this->GetInst().template GetId<format>(); in HandleInitobjRange()
1523 …LOG_INST() << "initobj.range v" << this->GetInst().template GetVReg<format, 0>() << ", " << std::h… in HandleInitobjRange()
1532 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdobj()
1533 auto id = this->GetInst().template GetId<format>(); in HandleLdobj()
1537 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobj()
1540 this->MoveToExceptionHandler(); in HandleLdobj()
1543 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobj()
1547 this->template MoveToNextInst<format, true>(); in HandleLdobj()
1549 this->MoveToExceptionHandler(); in HandleLdobj()
1557 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdobjWide()
1558 auto id = this->GetInst().template GetId<format>(); in HandleLdobjWide()
1562 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjWide()
1565 this->MoveToExceptionHandler(); in HandleLdobjWide()
1568 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjWide()
1572 this->template MoveToNextInst<format, true>(); in HandleLdobjWide()
1574 this->MoveToExceptionHandler(); in HandleLdobjWide()
1582 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdobjObj()
1583 auto id = this->GetInst().template GetId<format>(); in HandleLdobjObj()
1587 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjObj()
1590 this->MoveToExceptionHandler(); in HandleLdobjObj()
1593 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjObj()
1597 this->GetAccAsVReg().SetReference( in HandleLdobjObj()
1598 … obj->GetFieldObject<RuntimeIfaceT::NEED_READ_BARRIER>(this->GetThread(), *field)); in HandleLdobjObj()
1599 this->template MoveToNextInst<format, true>(); in HandleLdobjObj()
1601 this->MoveToExceptionHandler(); in HandleLdobjObj()
1609 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleLdobjV()
1610 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleLdobjV()
1611 auto id = this->GetInst().template GetId<format>(); in HandleLdobjV()
1615 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjV()
1618 this->MoveToExceptionHandler(); in HandleLdobjV()
1621 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjV()
1624 auto vreg = this->GetFrameHandler().GetVReg(vd); in HandleLdobjV()
1626 this->template MoveToNextInst<format, true>(); in HandleLdobjV()
1628 this->MoveToExceptionHandler(); in HandleLdobjV()
1636 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleLdobjVWide()
1637 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleLdobjVWide()
1638 auto id = this->GetInst().template GetId<format>(); in HandleLdobjVWide()
1642 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjVWide()
1645 this->MoveToExceptionHandler(); in HandleLdobjVWide()
1648 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjVWide()
1651 auto vreg = this->GetFrameHandler().GetVReg(vd); in HandleLdobjVWide()
1653 this->template MoveToNextInst<format, true>(); in HandleLdobjVWide()
1655 this->MoveToExceptionHandler(); in HandleLdobjVWide()
1663 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleLdobjVObj()
1664 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleLdobjVObj()
1665 auto id = this->GetInst().template GetId<format>(); in HandleLdobjVObj()
1669 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjVObj()
1672 this->MoveToExceptionHandler(); in HandleLdobjVObj()
1675 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleLdobjVObj()
1679 this->GetFrameHandler().GetVReg(vd).SetReference( in HandleLdobjVObj()
1680 … obj->GetFieldObject<RuntimeIfaceT::NEED_READ_BARRIER>(this->GetThread(), *field)); in HandleLdobjVObj()
1681 this->template MoveToNextInst<format, true>(); in HandleLdobjVObj()
1683 this->MoveToExceptionHandler(); in HandleLdobjVObj()
1691 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleStobj()
1692 auto id = this->GetInst().template GetId<format>(); in HandleStobj()
1696 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobj()
1699 this->MoveToExceptionHandler(); in HandleStobj()
1702 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobj()
1706 this->template MoveToNextInst<format, true>(); in HandleStobj()
1708 this->MoveToExceptionHandler(); in HandleStobj()
1716 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleStobjWide()
1717 auto id = this->GetInst().template GetId<format>(); in HandleStobjWide()
1721 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjWide()
1724 this->MoveToExceptionHandler(); in HandleStobjWide()
1727 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjWide()
1731 this->template MoveToNextInst<format, true>(); in HandleStobjWide()
1733 this->MoveToExceptionHandler(); in HandleStobjWide()
1741 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleStobjObj()
1742 auto id = this->GetInst().template GetId<format>(); in HandleStobjObj()
1746 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjObj()
1749 this->MoveToExceptionHandler(); in HandleStobjObj()
1752 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjObj()
1756 obj->SetFieldObject<RuntimeIfaceT::NEED_WRITE_BARRIER>(this->GetThread(), *field, in HandleStobjObj()
1757 … this->GetAcc().GetReference()); in HandleStobjObj()
1758 this->template MoveToNextInst<format, true>(); in HandleStobjObj()
1760 this->MoveToExceptionHandler(); in HandleStobjObj()
1768 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleStobjV()
1769 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleStobjV()
1770 auto id = this->GetInst().template GetId<format>(); in HandleStobjV()
1774 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjV()
1777 this->MoveToExceptionHandler(); in HandleStobjV()
1780 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjV()
1783 StorePrimitiveFieldReg(this->GetFrame()->GetVReg(vd), obj, field); in HandleStobjV()
1784 this->template MoveToNextInst<format, true>(); in HandleStobjV()
1786 this->MoveToExceptionHandler(); in HandleStobjV()
1794 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleStobjVWide()
1795 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleStobjVWide()
1796 auto id = this->GetInst().template GetId<format>(); in HandleStobjVWide()
1800 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjVWide()
1803 this->MoveToExceptionHandler(); in HandleStobjVWide()
1806 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjVWide()
1809 StorePrimitiveFieldReg(this->GetFrame()->GetVReg(vd), obj, field); in HandleStobjVWide()
1810 this->template MoveToNextInst<format, true>(); in HandleStobjVWide()
1812 this->MoveToExceptionHandler(); in HandleStobjVWide()
1820 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleStobjVObj()
1821 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleStobjVObj()
1822 auto id = this->GetInst().template GetId<format>(); in HandleStobjVObj()
1826 ObjectHeader *obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjVObj()
1829 this->MoveToExceptionHandler(); in HandleStobjVObj()
1832 obj = this->GetFrame()->GetVReg(vs).GetReference(); in HandleStobjVObj()
1836 obj->SetFieldObject<RuntimeIfaceT::NEED_WRITE_BARRIER>(this->GetThread(), *field, in HandleStobjVObj()
1837 … this->GetFrame()->GetVReg(vd).GetReference()); in HandleStobjVObj()
1838 this->template MoveToNextInst<format, true>(); in HandleStobjVObj()
1840 this->MoveToExceptionHandler(); in HandleStobjVObj()
1848 auto id = this->GetInst().template GetId<format>(); in HandleLdstatic()
1856 this->template MoveToNextInst<format, false>(); in HandleLdstatic()
1858 this->MoveToExceptionHandler(); in HandleLdstatic()
1865 auto id = this->GetInst().template GetId<format>(); in HandleLdstaticWide()
1873 this->template MoveToNextInst<format, false>(); in HandleLdstaticWide()
1875 this->MoveToExceptionHandler(); in HandleLdstaticWide()
1882 auto id = this->GetInst().template GetId<format>(); in HandleLdstaticObj()
1891 this->GetAccAsVReg().SetReference( in HandleLdstaticObj()
1892 klass->GetFieldObject<RuntimeIfaceT::NEED_READ_BARRIER>(this->GetThread(), *field)); in HandleLdstaticObj()
1893 this->template MoveToNextInst<format, false>(); in HandleLdstaticObj()
1895 this->MoveToExceptionHandler(); in HandleLdstaticObj()
1902 auto id = this->GetInst().template GetId<format>(); in HandleStstatic()
1911 this->template MoveToNextInst<format, false>(); in HandleStstatic()
1913 this->MoveToExceptionHandler(); in HandleStstatic()
1920 auto id = this->GetInst().template GetId<format>(); in HandleStstaticWide()
1929 this->template MoveToNextInst<format, false>(); in HandleStstaticWide()
1931 this->MoveToExceptionHandler(); in HandleStstaticWide()
1938 auto id = this->GetInst().template GetId<format>(); in HandleStstaticObj()
1947 klass->SetFieldObject<RuntimeIfaceT::NEED_WRITE_BARRIER>(this->GetThread(), *field, in HandleStstaticObj()
1948 this->GetAcc().GetReference()); in HandleStstaticObj()
1949 this->template MoveToNextInst<format, false>(); in HandleStstaticObj()
1951 this->MoveToExceptionHandler(); in HandleStstaticObj()
1959 this->GetFrame()->GetAccAsVReg().SetPrimitive(this->GetAcc().Get()); in HandleReturn()
1966 this->GetFrame()->GetAccAsVReg().SetPrimitive(this->GetAcc().GetValue()); in HandleReturnWide()
1973 this->GetFrame()->GetAccAsVReg().SetReference(this->GetAcc().GetReference()); in HandleReturnObj()
1985 this->GetFrame()->SetAcc((this->GetAcc())); in DoReturnDyn()
1997 Frame *frame = this->GetFrame(); in HandleReturnStackless()
2003 ManagedThread *thread = this->GetThread(); in HandleReturnStackless()
2012 this->GetInstructionHandlerState()->UpdateInstructionHandlerState( in HandleReturnStackless()
2016 this->SetDispatchTable(this->GetThread()->GetCurrentDispatchTable()); in HandleReturnStackless()
2019 if (UNLIKELY(this->GetThread()->HasPendingException())) { in HandleReturnStackless()
2020 this->MoveToExceptionHandler(); in HandleReturnStackless()
2022 this->GetAcc() = frame->GetAcc(); in HandleReturnStackless()
2023 this->SetInst(prev->GetNextInstruction()); in HandleReturnStackless()
2027 this->GetAcc() = prev->GetAcc(); in HandleReturnStackless()
2030 RuntimeIfaceT::FreeFrame(this->GetThread(), frame); in HandleReturnStackless()
2043 auto type_id = this->GetInst().template GetId<format>(); in HandleCheckcast()
2049 ObjectHeader *obj = this->GetAcc().GetReference(); in HandleCheckcast()
2053 this->MoveToExceptionHandler(); in HandleCheckcast()
2055 this->template MoveToNextInst<format, true>(); in HandleCheckcast()
2058 this->MoveToExceptionHandler(); in HandleCheckcast()
2065 auto type_id = this->GetInst().template GetId<format>(); in HandleIsinstance()
2071 ObjectHeader *obj = this->GetAcc().GetReference(); in HandleIsinstance()
2074 this->GetAccAsVReg().SetPrimitive(1); in HandleIsinstance()
2076 this->GetAccAsVReg().SetPrimitive(0); in HandleIsinstance()
2078 this->template MoveToNextInst<format, false>(); in HandleIsinstance()
2080 this->MoveToExceptionHandler(); in HandleIsinstance()
2087 auto id = this->GetInst().template GetId<format>(); in HandleCallShort()
2089 LOG_INST() << "call.short v" << this->GetInst().template GetVReg<format, 0>() << ", v" in HandleCallShort()
2090 … << this->GetInst().template GetVReg<format, 1>() << ", " << std::hex << "0x" << id; in HandleCallShort()
2094 if (!method->IsStatic() && this->GetCallerObject<format>() == nullptr) { in HandleCallShort()
2099 this->MoveToExceptionHandler(); in HandleCallShort()
2106 auto id = this->GetInst().template GetId<format>(); in HandleCallAccShort()
2108 LOG_INST() << "call.acc.short v" << this->GetInst().template GetVReg<format, 0>() << ", " in HandleCallAccShort()
2109 … << this->GetInst().template GetImm<format, 0>() << ", " << std::hex << "0x" << id; in HandleCallAccShort()
2113 if (!method->IsStatic() && this->GetCallerObject<format, true>() == nullptr) { in HandleCallAccShort()
2118 this->MoveToExceptionHandler(); in HandleCallAccShort()
2125 auto id = this->GetInst().template GetId<format>(); in HandleCall()
2127 LOG_INST() << "call v" << this->GetInst().template GetVReg<format, 0>() << ", v" in HandleCall()
2128 << this->GetInst().template GetVReg<format, 1>() << ", v" in HandleCall()
2129 << this->GetInst().template GetVReg<format, 2>() << ", v" in HandleCall()
2130 … << this->GetInst().template GetVReg<format, 3>() << ", " << std::hex << "0x" << id; in HandleCall()
2134 if (!method->IsStatic() && this->GetCallerObject<format>() == nullptr) { in HandleCall()
2139 this->MoveToExceptionHandler(); in HandleCall()
2146 auto id = this->GetInst().template GetId<format>(); in HandleCallAcc()
2148 LOG_INST() << "call.acc v" << this->GetInst().template GetVReg<format, 0>() << ", v" in HandleCallAcc()
2149 << this->GetInst().template GetVReg<format, 1>() << ", v" in HandleCallAcc()
2150 << this->GetInst().template GetVReg<format, 2>() << ", " in HandleCallAcc()
2151 … << this->GetInst().template GetImm<format, 0>() << ", " << std::hex << "0x" << id; in HandleCallAcc()
2155 if (!method->IsStatic() && this->GetCallerObject<format, true>() == nullptr) { in HandleCallAcc()
2160 this->MoveToExceptionHandler(); in HandleCallAcc()
2167 auto id = this->GetInst().template GetId<format>(); in HandleCallRange()
2169 …LOG_INST() << "call.range v" << this->GetInst().template GetVReg<format, 0>() << ", " << std::hex … in HandleCallRange()
2173 if (!method->IsStatic() && this->GetCallerObject<format>() == nullptr) { in HandleCallRange()
2178 this->MoveToExceptionHandler(); in HandleCallRange()
2185 auto id = this->GetInst().template GetId<format>(); in HandleCallVirtShort()
2187 LOG_INST() << "call.virt.short v" << this->GetInst().template GetVReg<format, 0>() << ", v" in HandleCallVirtShort()
2188 … << this->GetInst().template GetVReg<format, 1>() << ", " << std::hex << "0x" << id; in HandleCallVirtShort()
2194 this->MoveToExceptionHandler(); in HandleCallVirtShort()
2201 auto id = this->GetInst().template GetId<format>(); in HandleCallVirtAccShort()
2203 … LOG_INST() << "call.virt.acc.short v" << this->GetInst().template GetVReg<format, 0>() << ", " in HandleCallVirtAccShort()
2204 … << this->GetInst().template GetImm<format, 0>() << ", " << std::hex << "0x" << id; in HandleCallVirtAccShort()
2210 this->MoveToExceptionHandler(); in HandleCallVirtAccShort()
2217 auto id = this->GetInst().template GetId<format>(); in HandleCallVirt()
2219 LOG_INST() << "call.virt v" << this->GetInst().template GetVReg<format, 0>() << ", v" in HandleCallVirt()
2220 << this->GetInst().template GetVReg<format, 1>() << ", v" in HandleCallVirt()
2221 << this->GetInst().template GetVReg<format, 2>() << ", v" in HandleCallVirt()
2222 … << this->GetInst().template GetVReg<format, 3>() << ", " << std::hex << "0x" << id; in HandleCallVirt()
2228 this->MoveToExceptionHandler(); in HandleCallVirt()
2235 auto id = this->GetInst().template GetId<format>(); in HandleCallVirtAcc()
2237 LOG_INST() << "call.virt.acc v" << this->GetInst().template GetVReg<format, 0>() << ", v" in HandleCallVirtAcc()
2238 << this->GetInst().template GetVReg<format, 1>() << ", v" in HandleCallVirtAcc()
2239 << this->GetInst().template GetVReg<format, 2>() << ", " in HandleCallVirtAcc()
2240 … << this->GetInst().template GetImm<format, 0>() << ", " << std::hex << "0x" << id; in HandleCallVirtAcc()
2246 this->MoveToExceptionHandler(); in HandleCallVirtAcc()
2253 auto id = this->GetInst().template GetId<format>(); in HandleCallVirtRange()
2255 …LOG_INST() << "call.virt.range v" << this->GetInst().template GetVReg<format, 0>() << ", " << std:… in HandleCallVirtRange()
2262 this->MoveToExceptionHandler(); in HandleCallVirtRange()
2269 auto actual_num_args = static_cast<uint16_t>(this->GetInst().template GetImm<format, 0>()); in HandleCalliDynRange()
2270 … auto first_arg_reg_idx = static_cast<uint16_t>(this->GetInst().template GetVReg<format, 0>()); in HandleCalliDynRange()
2274 auto vreg = this->GetFrameHandler().GetVReg(first_arg_reg_idx); in HandleCalliDynRange()
2278 this->MoveToExceptionHandler(); in HandleCalliDynRange()
2282 auto ctx = this->GetThread()->GetLanguageContext(); in HandleCalliDynRange()
2285 this->MoveToExceptionHandler(); in HandleCalliDynRange()
2295 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleThrow()
2299 ObjectHeader *exception = this->GetFrame()->GetVReg(vs).GetReference(); in HandleThrow()
2303 this->GetThread()->SetException(exception); in HandleThrow()
2306 this->MoveToExceptionHandler(); in HandleThrow()
2311 Frame *frame = this->GetFrame(); in FindCatchBlockStackless()
2313 ManagedThread *thread = this->GetThread(); in FindCatchBlockStackless()
2318 … uint32_t pc_offset = this->FindCatchBlock(thread->GetException(), this->GetBytecodeOffset()); in FindCatchBlockStackless()
2334 this->GetInstructionHandlerState()->UpdateInstructionHandlerState( in FindCatchBlockStackless()
2345 this->GetAcc() = prev->GetAcc(); in FindCatchBlockStackless()
2348 RuntimeIfaceT::FreeFrame(this->GetThread(), frame); in FindCatchBlockStackless()
2365 if (this->GetFrame()->IsDeoptimized() || !Runtime::GetOptions().IsCompilerEnableOsr()) { in UpdateHotnessOSR()
2369 … return method->IncrementHotnessCounter(this->GetBytecodeOffset() + offset, &this->GetAcc(), true); in UpdateHotnessOSR()
2374 auto *method = this->GetFrame()->GetMethod(); in FindCatchBlock()
2444 this->GetAccAsVReg().SetPrimitive(value); in LoadPrimitiveField()
2477 this->GetAccAsVReg().SetPrimitive(obj->template GetFieldPrimitive<float>(*field)); in LoadPrimitiveField()
2480 this->GetAccAsVReg().SetPrimitive(obj->template GetFieldPrimitive<double>(*field)); in LoadPrimitiveField()
2546 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<uint8_t>()); in StorePrimitiveField()
2550 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<int8_t>()); in StorePrimitiveField()
2554 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<int16_t>()); in StorePrimitiveField()
2558 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<uint16_t>()); in StorePrimitiveField()
2562 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<int32_t>()); in StorePrimitiveField()
2566 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<uint32_t>()); in StorePrimitiveField()
2570 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<int64_t>()); in StorePrimitiveField()
2574 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<uint64_t>()); in StorePrimitiveField()
2578 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<float>()); in StorePrimitiveField()
2582 obj->SetFieldPrimitive(*field, this->GetAcc().template GetAs<double>()); in StorePrimitiveField()
2597 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleArrayPrimitiveLoad()
2602 auto *array = static_cast<coretypes::Array *>(this->GetFrame()->GetVReg(vs).GetReference()); in HandleArrayPrimitiveLoad()
2603 int32_t idx = this->GetAcc().Get(); in HandleArrayPrimitiveLoad()
2606 this->GetAcc().Set(array->Get<T>(idx)); in HandleArrayPrimitiveLoad()
2607 this->template MoveToNextInst<format, true>(); in HandleArrayPrimitiveLoad()
2609 this->MoveToExceptionHandler(); in HandleArrayPrimitiveLoad()
2616 uint16_t vs1 = this->GetInst().template GetVReg<format, 0>(); in HandleArrayStore()
2617 uint16_t vs2 = this->GetInst().template GetVReg<format, 1>(); in HandleArrayStore()
2622 … auto *array = static_cast<coretypes::Array *>(this->GetFrame()->GetVReg(vs1).GetReference()); in HandleArrayStore()
2623 int32_t idx = this->GetFrame()->GetVReg(vs2).Get(); in HandleArrayStore()
2625 auto elem = this->GetAcc().template GetAs<T>(); in HandleArrayStore()
2627 array->Set<T, RuntimeIfaceT::NEED_WRITE_BARRIER>(this->GetThread(), idx, elem); in HandleArrayStore()
2628 this->template MoveToNextInst<format, true>(); in HandleArrayStore()
2630 this->MoveToExceptionHandler(); in HandleArrayStore()
2680 if (this->GetThread()->TestAllFlags()) { in InstrumentBranches()
2681 this->GetFrame()->SetAcc(this->GetAcc()); in InstrumentBranches()
2683 this->GetAcc() = this->GetFrame()->GetAcc(); in InstrumentBranches()
2686 if (UpdateHotnessOSR(this->GetFrame()->GetMethod(), offset)) { in InstrumentBranches()
2689 … this->GetFakeInstBuf()[0] = static_cast<uint8_t>(BytecodeInstruction::Opcode::RETURN_VOID); in InstrumentBranches()
2690 this->SetInst(BytecodeInstruction(this->GetFakeInstBuf().data())); in InstrumentBranches()
2694 this->UpdateHotness(this->GetFrame()->GetMethod()); in InstrumentBranches()
2702 …return RuntimeIfaceT::ResolveLiteralArray(this->GetThread()->GetVM(), *this->GetFrame()->GetMethod… in ResolveLiteralArray()
2707 this->UpdateBytecodeOffset(); in ResolveMethod()
2709 auto cache = this->GetThread()->GetInterpreterCache(); in ResolveMethod()
2710 …auto *res = cache->template Get<Method>(this->GetInst().GetAddress(), this->GetFrame()->GetMethod(… in ResolveMethod()
2715 this->GetFrame()->SetAcc(this->GetAcc()); in ResolveMethod()
2716 …auto *method = RuntimeIfaceT::ResolveMethod(this->GetThread(), *this->GetFrame()->GetMethod(), id); in ResolveMethod()
2717 this->GetAcc() = this->GetFrame()->GetAcc(); in ResolveMethod()
2719 ASSERT(this->GetThread()->HasPendingException()); in ResolveMethod()
2723 cache->Set(this->GetInst().GetAddress(), method, this->GetFrame()->GetMethod()); in ResolveMethod()
2730 auto cache = this->GetThread()->GetInterpreterCache(); in ResolveField()
2731 …auto *res = cache->template Get<Field>(this->GetInst().GetAddress(), this->GetFrame()->GetMethod()… in ResolveField()
2738 this->UpdateBytecodeOffset(); in ResolveField()
2741 this->GetFrame()->SetAcc(this->GetAcc()); in ResolveField()
2742 … auto *field = RuntimeIfaceT::ResolveField(this->GetThread(), *this->GetFrame()->GetMethod(), id); in ResolveField()
2743 this->GetAcc() = this->GetFrame()->GetAcc(); in ResolveField()
2745 ASSERT(this->GetThread()->HasPendingException()); in ResolveField()
2749 cache->Set(this->GetInst().GetAddress(), field, this->GetFrame()->GetMethod()); in ResolveField()
2756 auto cache = this->GetThread()->GetInterpreterCache(); in ResolveType()
2757 …auto *res = cache->template Get<Class>(this->GetInst().GetAddress(), this->GetFrame()->GetMethod()… in ResolveType()
2763 this->GetFrame()->SetAcc(this->GetAcc()); in ResolveType()
2765 …RuntimeIfaceT::template ResolveClass<need_init>(this->GetThread(), *this->GetFrame()->GetMethod(),… in ResolveType()
2766 this->GetAcc() = this->GetFrame()->GetAcc(); in ResolveType()
2768 ASSERT(this->GetThread()->HasPendingException()); in ResolveType()
2774 cache->Set(this->GetInst().GetAddress(), klass, this->GetFrame()->GetMethod()); in ResolveType()
2781 auto cur_frame_handler = this->template GetFrameHandler<is_dynamic_t>(); in CopyCallAccShortArguments()
2782 auto frame_handler = this->template GetFrameHandler<is_dynamic_t>(&frame); in CopyCallAccShortArguments()
2784 auto acc_position = static_cast<size_t>(this->GetInst().template GetImm<format, 0>()); in CopyCallAccShortArguments()
2787 frame_handler.GetVReg(num_vregs).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyCallAccShortArguments()
2789 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 0>()); in CopyCallAccShortArguments()
2793 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 0>()); in CopyCallAccShortArguments()
2794 … frame_handler.GetVReg(num_vregs + 1U).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyCallAccShortArguments()
2804 auto cur_frame_handler = this->template GetFrameHandler<is_dynamic_t>(); in CopyCallAccArguments()
2805 auto frame_handler = this->template GetFrameHandler<is_dynamic_t>(&frame); in CopyCallAccArguments()
2807 auto acc_position = static_cast<size_t>(this->GetInst().template GetImm<format, 0>()); in CopyCallAccArguments()
2810 frame_handler.GetVReg(num_vregs).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyCallAccArguments()
2812 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 0>()); in CopyCallAccArguments()
2814 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 1>()); in CopyCallAccArguments()
2816 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 2>()); in CopyCallAccArguments()
2820 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 0>()); in CopyCallAccArguments()
2821 … frame_handler.GetVReg(num_vregs + 1U).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyCallAccArguments()
2823 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 1>()); in CopyCallAccArguments()
2825 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 2>()); in CopyCallAccArguments()
2829 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 0>()); in CopyCallAccArguments()
2831 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 1>()); in CopyCallAccArguments()
2832 … frame_handler.GetVReg(num_vregs + 2U).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyCallAccArguments()
2834 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 2>()); in CopyCallAccArguments()
2838 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 0>()); in CopyCallAccArguments()
2840 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 1>()); in CopyCallAccArguments()
2842 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 2>()); in CopyCallAccArguments()
2843 … frame_handler.GetVReg(num_vregs + 3U).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyCallAccArguments()
2855 auto cur_frame_handler = this->template GetFrameHandler<is_dynamic_t>(); in CopyCallShortArguments()
2856 auto frame_handler = this->template GetFrameHandler<is_dynamic_t>(&frame); in CopyCallShortArguments()
2859 frame_handler.GetVReg(num_vregs).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyCallShortArguments()
2863 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 0>()); in CopyCallShortArguments()
2865 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 1U>()); in CopyCallShortArguments()
2873 auto cur_frame_handler = this->template GetFrameHandler<is_dynamic_t>(); in CopyCallArguments()
2874 auto frame_handler = this->template GetFrameHandler<is_dynamic_t>(&frame); in CopyCallArguments()
2877 frame_handler.GetVReg(num_vregs).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyCallArguments()
2881 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 0>()); in CopyCallArguments()
2883 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 1U>()); in CopyCallArguments()
2885 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 2U>()); in CopyCallArguments()
2887 cur_frame_handler.GetVReg(this->GetInst().template GetVReg<format, 3U>()); in CopyCallArguments()
2893 auto cur_frame_handler = this->template GetFrameHandler<is_dynamic_t>(); in CopyCallArguments()
2894 auto frame_handler = this->template GetFrameHandler<is_dynamic_t>(&frame); in CopyCallArguments()
2897 frame_handler.GetVReg(num_vregs).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyCallArguments()
2901 uint16_t vs = this->GetInst().GetVReg(i); in CopyCallArguments()
2909 auto cur_frame_handler = this->template GetFrameHandler<is_dynamic_t>(); in CopyRangeArguments()
2910 auto frame_handler = this->template GetFrameHandler<is_dynamic_t>(&frame); in CopyRangeArguments()
2913 frame_handler.GetVReg(num_vregs).Move(this->template GetAccAsVReg<is_dynamic_t>()); in CopyRangeArguments()
2916 uint16_t start_reg = this->GetInst().template GetVReg<format, 0>(); in CopyRangeArguments()
2928 … FrameHelper::template CopyArgumentsDyn<format>(this, &frame, num_vregs, num_actual_args); in CopyArguments()
2965 num_actual_args = FrameHelper::template GetNumberActualArgsDyn<format>(this); in CreateAndSetFrame()
2981 …FrameHelper::template CreateFrame<RuntimeIfaceT>(this->GetThread(), Frame::GetActualSize<is_dynami… in CreateAndSetFrame()
2982 … method, this->GetFrame(), nregs, num_actual_args); in CreateAndSetFrame()
2986 this->MoveToExceptionHandler(); in CreateAndSetFrame()
2990 if (!this->GetThread()->template StackOverflowCheck<false, true>()) { in CreateAndSetFrame()
2991 RuntimeIfaceT::FreeFrame(this->GetThread(), *frame); in CreateAndSetFrame()
2993 this->MoveToExceptionHandler(); in CreateAndSetFrame()
2997 (*frame)->SetAcc(this->GetAcc()); in CreateAndSetFrame()
3005 RuntimeIfaceT::SetCurrentFrame(this->GetThread(), *frame); in CreateAndSetFrame()
3019 if (this->GetThread()->TestAllFlags()) { in HandleCallPrologue()
3020 this->GetFrame()->SetAcc(this->GetAcc()); in HandleCallPrologue()
3022 this->GetAcc() = this->GetFrame()->GetAcc(); in HandleCallPrologue()
3025 this->UpdateHotness(method); in HandleCallPrologue()
3035 this->MoveToExceptionHandler(); in CallInterpreterStackless()
3049 … Runtime::GetCurrent()->GetNotificationManager()->MethodEntryEvent(this->GetThread(), method); in CallInterpreterStackless()
3056 this->SetDispatchTable(this->GetThread()->GetCurrentDispatchTable()); in CallInterpreterStackless()
3057 this->template MoveToNextInst<format, false>(); in CallInterpreterStackless()
3058 this->GetFrame()->SetNextInstruction(this->GetInst()); in CallInterpreterStackless()
3059 this->GetInstructionHandlerState()->UpdateInstructionHandlerState(instructions, frame); in CallInterpreterStackless()
3061 this->GetThread()->RecordMethodEnter()); in CallInterpreterStackless()
3067 this->GetFrame()->SetAcc(this->GetAcc()); in CallCompiledCode()
3069 … InterpreterToCompiledCodeBridgeDyn(this->GetInst().GetAddress(), this->GetFrame(), method, in CallCompiledCode()
3070 this->GetThread()); in CallCompiledCode()
3072 …InterpreterToCompiledCodeBridge(this->GetInst().GetAddress(), this->GetFrame(), method, this->GetT… in CallCompiledCode()
3075 this->GetThread()->SetCurrentFrameIsCompiled(false); in CallCompiledCode()
3076 this->GetThread()->SetCurrentFrame(this->GetFrame()); in CallCompiledCode()
3078 if (UNLIKELY(this->GetThread()->HasPendingException())) { in CallCompiledCode()
3079 this->MoveToExceptionHandler(); in CallCompiledCode()
3081 this->GetAcc() = this->GetFrame()->GetAcc(); in CallCompiledCode()
3082 this->template MoveToNextInst<format, true>(); in CallCompiledCode()
3113 ObjectHeader *obj = this->GetCallerObject<format, accept_acc>(); in HandleVirtualCall()
3122 ProfilingData *prof_data = this->GetFrame()->GetMethod()->GetProfilingData(); in HandleVirtualCall()
3124 prof_data->UpdateInlineCaches(this->GetBytecodeOffset(), obj->ClassAddr<Class>()); in HandleVirtualCall()
3133 auto imm = this->GetInst().template GetImm<format>(); in HandleCondJmpz()
3138 int32_t v1 = this->GetAcc().Get(); in HandleCondJmpz()
3141 this->template UpdateBranchStatistics<true>(); in HandleCondJmpz()
3143 this->template JumpToInst<false>(imm); in HandleCondJmpz()
3146 this->template UpdateBranchStatistics<false>(); in HandleCondJmpz()
3147 this->template MoveToNextInst<format, false>(); in HandleCondJmpz()
3154 auto imm = this->GetInst().template GetImm<format>(); in HandleCondJmp()
3155 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleCondJmp()
3160 int32_t v1 = this->GetAcc().Get(); in HandleCondJmp()
3161 int32_t v2 = this->GetFrame()->GetVReg(vs).Get(); in HandleCondJmp()
3164 this->template UpdateBranchStatistics<true>(); in HandleCondJmp()
3166 this->template JumpToInst<false>(imm); in HandleCondJmp()
3169 this->template UpdateBranchStatistics<false>(); in HandleCondJmp()
3170 this->template MoveToNextInst<format, false>(); in HandleCondJmp()
3177 auto imm = this->GetInst().template GetImm<format>(); in HandleCondJmpzObj()
3178 ObjectHeader *v1 = this->GetAcc().GetReference(); in HandleCondJmpzObj()
3184 this->template UpdateBranchStatistics<true>(); in HandleCondJmpzObj()
3186 this->template JumpToInst<false>(imm); in HandleCondJmpzObj()
3189 this->template UpdateBranchStatistics<false>(); in HandleCondJmpzObj()
3190 this->template MoveToNextInst<format, false>(); in HandleCondJmpzObj()
3197 auto imm = this->GetInst().template GetImm<format>(); in HandleCondJmpObj()
3198 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleCondJmpObj()
3203 ObjectHeader *v1 = this->GetAcc().GetReference(); in HandleCondJmpObj()
3204 ObjectHeader *v2 = this->GetFrame()->GetVReg(vs).GetReference(); in HandleCondJmpObj()
3207 this->template UpdateBranchStatistics<true>(); in HandleCondJmpObj()
3209 this->template JumpToInst<false>(imm); in HandleCondJmpObj()
3212 this->template UpdateBranchStatistics<false>(); in HandleCondJmpObj()
3213 this->template MoveToNextInst<format, false>(); in HandleCondJmpObj()
3220 OpT v1 = this->GetAcc().template GetAs<OpT>(); in HandleBinaryOp2Imm()
3221 OpT v2 = this->GetInst().template GetImm<format>(); in HandleBinaryOp2Imm()
3228 this->MoveToExceptionHandler(); in HandleBinaryOp2Imm()
3230 this->GetAcc().Set(Op<OpT>()(v1, v2)); in HandleBinaryOp2Imm()
3231 this->template MoveToNextInst<format, is_div>(); in HandleBinaryOp2Imm()
3238 OpT v1 = this->GetAcc().template GetAs<OpT>(); in HandleBinaryOp2()
3239 uint16_t vs1 = this->GetInst().template GetVReg<format>(); in HandleBinaryOp2()
3244 OpT v2 = this->GetFrame()->GetVReg(vs1).template GetAs<OpT>(); in HandleBinaryOp2()
3248 this->MoveToExceptionHandler(); in HandleBinaryOp2()
3250 this->GetAcc().Set(Op<OpT>()(v1, v2)); in HandleBinaryOp2()
3251 this->template MoveToNextInst<format, is_div>(); in HandleBinaryOp2()
3258 uint16_t vs1 = this->GetInst().template GetVReg<format, 0>(); in HandleBinaryOp()
3259 uint16_t vs2 = this->GetInst().template GetVReg<format, 1>(); in HandleBinaryOp()
3264 OpT v1 = this->GetFrame()->GetVReg(vs1).template GetAs<OpT>(); in HandleBinaryOp()
3265 OpT v2 = this->GetFrame()->GetVReg(vs2).template GetAs<OpT>(); in HandleBinaryOp()
3269 this->MoveToExceptionHandler(); in HandleBinaryOp()
3271 this->GetAccAsVReg().SetPrimitive(Op<OpT>()(v1, v2)); in HandleBinaryOp()
3272 this->template MoveToNextInst<format, is_div>(); in HandleBinaryOp()
3279 OpT v = this->GetAcc().template GetAs<OpT>(); in HandleUnaryOp()
3280 this->GetAcc().Set(Op<OpT>()(v)); in HandleUnaryOp()
3281 this->template MoveToNextInst<format, false>(); in HandleUnaryOp()
3287 this->GetAcc().Set(static_cast<To>(this->GetAcc().template GetAs<From>())); in HandleConversion()
3288 this->template MoveToNextInst<format, false>(); in HandleConversion()
3294 auto value = this->GetAcc().template GetAs<From>(); in HandleFloatToIntConversion()
3295 this->GetAcc().Set(CastFloatToInt<From, To>(value)); in HandleFloatToIntConversion()
3296 this->template MoveToNextInst<format, false>(); in HandleFloatToIntConversion()
3303 this->MoveToExceptionHandler(); in InitializeObject()
3309 this->MoveToExceptionHandler(); in InitializeObject()
3313 this->GetAccAsVReg().SetReference(obj); in InitializeObject()
3314 this->GetFrame()->GetAcc() = this->GetAcc(); in InitializeObject()
3324 auto cache = this->GetThread()->GetInterpreterCache(); in InitializeObject()
3325 …auto *method = cache->template Get<Method>(this->GetInst().GetAddress(), this->GetFrame()->GetMeth… in InitializeObject()
3329 klass = RuntimeIfaceT::GetMethodClass(this->GetFrame()->GetMethod(), method_id); in InitializeObject()
3330 this->GetAccAsVReg().SetPrimitive(0); in InitializeObject()
3332 this->MoveToExceptionHandler(); in InitializeObject()
3338 … ASSERT(utf::IsEqual(RuntimeIfaceT::GetMethodName(this->GetFrame()->GetMethod(), method_id), in InitializeObject()
3341 DimIterator<format> dim_iter {this->GetInst(), this->GetFrame()}; in InitializeObject()
3342 … auto nargs = RuntimeIfaceT::GetMethodArgumentsCount(this->GetFrame()->GetMethod(), method_id); in InitializeObject()
3343 …auto obj = coretypes::Array::CreateMultiDimensionalArray<DimIterator<format>>(this->GetThread(), k… in InitializeObject()
3346 this->GetAccAsVReg().SetReference(obj); in InitializeObject()
3347 this->template MoveToNextInst<format, false>(); in InitializeObject()
3349 this->MoveToExceptionHandler(); in InitializeObject()
3355 this->UpdateBytecodeOffset(); in InitializeObject()
3364 uint16_t obj_vreg = this->GetInst().template GetVReg<format, 0>(); in GetObjHelper()
3365 return this->GetFrame()->GetVReg(obj_vreg).GetReference(); in GetObjHelper()
3373 if (this->GetInst().template GetImm<format, 0>() == 0) { in GetCallerObject()
3374 obj = this->GetAcc().GetReference(); in GetCallerObject()
3384 this->MoveToExceptionHandler(); in GetCallerObject()