Lines Matching full:template
68 template <class RuntimeIfaceT, bool jump_to_eh = false, bool is_dynamic>
71 template <class RuntimeIfaceT, bool jump_to_eh = false, bool is_dynamic>
74 template <BytecodeInstruction::Format format, bool is_dynamic>
82 return this->template GetAs<int32_t>(param_idx); in Get()
88 template <BytecodeInstruction::Format format, class InstructionHandler>
92 return instr_handler->GetInst().template GetImm<format, 0>() + 1; in GetNumberActualArgsDyn()
95 template <BytecodeInstruction::Format format, class InstructionHandler>
102 template <class RuntimeIfaceT>
110 template <class RuntimeIfaceT, bool is_dynamic>
120 template <BytecodeInstruction::Format format>
124 this->template MoveToNextInst<format, false>(); in HandleNop()
127 template <BytecodeInstruction::Format format>
130 auto imm = bit_cast<double>(this->GetInst().template GetImm<format>()); in HandleFldaiDyn()
133 this->template MoveToNextInst<format, false>(); in HandleFldaiDyn()
136 template <BytecodeInstruction::Format format>
139 int32_t imm = this->GetInst().template GetImm<format>(); in HandleLdaiDyn()
142 this->template MoveToNextInst<format, false>(); in HandleLdaiDyn()
145 template <BytecodeInstruction::Format format>
148 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleMov()
149 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleMov()
153 this->template MoveToNextInst<format, false>(); in HandleMov()
156 template <BytecodeInstruction::Format format>
159 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleMovWide()
160 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleMovWide()
164 this->template MoveToNextInst<format, false>(); in HandleMovWide()
167 template <BytecodeInstruction::Format format>
170 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleMovObj()
171 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleMovObj()
175 this->template MoveToNextInst<format, false>(); in HandleMovObj()
178 template <BytecodeInstruction::Format format>
181 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleMovDyn()
182 uint16_t vs = this->GetInst().template GetVReg<format, 1>(); in HandleMovDyn()
186 this->template MoveToNextInst<format, false>(); in HandleMovDyn()
189 template <BytecodeInstruction::Format format>
192 int32_t imm = this->GetInst().template GetImm<format>(); in HandleMovi()
193 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleMovi()
196 this->template MoveToNextInst<format, false>(); in HandleMovi()
199 template <BytecodeInstruction::Format format>
202 int64_t imm = this->GetInst().template GetImm<format>(); in HandleMoviWide()
203 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleMoviWide()
206 this->template MoveToNextInst<format, false>(); in HandleMoviWide()
209 template <BytecodeInstruction::Format format>
212 auto imm = bit_cast<float>(this->GetInst().template GetImm<format>()); in HandleFmovi()
213 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleFmovi()
216 this->template MoveToNextInst<format, false>(); in HandleFmovi()
219 template <BytecodeInstruction::Format format>
222 auto imm = bit_cast<double>(this->GetInst().template GetImm<format>()); in HandleFmoviWide()
223 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleFmoviWide()
226 this->template MoveToNextInst<format, false>(); in HandleFmoviWide()
229 template <BytecodeInstruction::Format format>
232 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleMovNull()
235 this->template MoveToNextInst<format, false>(); in HandleMovNull()
238 template <BytecodeInstruction::Format format>
241 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLda()
244 this->template MoveToNextInst<format, false>(); in HandleLda()
247 template <BytecodeInstruction::Format format>
250 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdaWide()
253 this->template MoveToNextInst<format, false>(); in HandleLdaWide()
256 template <BytecodeInstruction::Format format>
259 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdaObj()
262 this->template MoveToNextInst<format, false>(); in HandleLdaObj()
265 template <BytecodeInstruction::Format format>
268 int32_t imm = this->GetInst().template GetImm<format>(); in HandleLdai()
271 this->template MoveToNextInst<format, false>(); in HandleLdai()
274 template <BytecodeInstruction::Format format>
277 int64_t imm = this->GetInst().template GetImm<format>(); in HandleLdaiWide()
280 this->template MoveToNextInst<format, false>(); in HandleLdaiWide()
283 template <BytecodeInstruction::Format format>
286 auto imm = bit_cast<float>(this->GetInst().template GetImm<format>()); in HandleFldai()
289 this->template MoveToNextInst<format, false>(); in HandleFldai()
292 template <BytecodeInstruction::Format format>
295 auto imm = bit_cast<double>(this->GetInst().template GetImm<format>()); in HandleFldaiWide()
298 this->template MoveToNextInst<format, false>(); in HandleFldaiWide()
301 template <BytecodeInstruction::Format format>
304 auto string_id = this->GetInst().template GetId<format>(); in HandleLdaStr()
314 this->template MoveToNextInst<format, false>(); in HandleLdaStr()
318 template <class T>
326 … RuntimeIfaceT::ThrowArrayStoreException(array_class, elem->template ClassAddr<Class>()); in CheckLoadConstOp()
334 template <BytecodeInstruction::Format format>
337 auto type_id = this->GetInst().template GetId<format>(); in HandleLdaType()
342 this->template MoveToNextInst<format, false>(); in HandleLdaType()
348 template <BytecodeInstruction::Format format>
353 this->template MoveToNextInst<format, false>(); in HandleLdaNull()
356 template <BytecodeInstruction::Format format>
359 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleSta()
362 this->template MoveToNextInst<format, false>(); in HandleSta()
365 template <BytecodeInstruction::Format format>
368 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleStaWide()
371 this->template MoveToNextInst<format, false>(); in HandleStaWide()
374 template <BytecodeInstruction::Format format>
377 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleStaObj()
380 this->template MoveToNextInst<format, false>(); in HandleStaObj()
383 template <BytecodeInstruction::Format format>
386 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleStaDyn()
389 this->template MoveToNextInst<format, false>(); in HandleStaDyn()
392 template <BytecodeInstruction::Format format>
395 int32_t imm = this->GetInst().template GetImm<format>(); in HandleJmp()
398 this->template JumpToInst<false>(imm); in HandleJmp()
402 template <BytecodeInstruction::Format format>
409 template <BytecodeInstruction::Format format>
416 template <BytecodeInstruction::Format format>
423 template <BytecodeInstruction::Format format>
430 template <BytecodeInstruction::Format format>
437 template <BytecodeInstruction::Format format>
444 template <BytecodeInstruction::Format format>
451 template <BytecodeInstruction::Format format>
458 template <BytecodeInstruction::Format format>
465 template <BytecodeInstruction::Format format>
472 template <BytecodeInstruction::Format format>
479 template <BytecodeInstruction::Format format>
486 template <BytecodeInstruction::Format format>
493 template <BytecodeInstruction::Format format>
500 template <BytecodeInstruction::Format format>
507 template <BytecodeInstruction::Format format>
514 template <BytecodeInstruction::Format format>
521 template <BytecodeInstruction::Format format>
528 template <BytecodeInstruction::Format format>
535 template <BytecodeInstruction::Format format>
542 template <BytecodeInstruction::Format format>
549 template <BytecodeInstruction::Format format>
556 template <BytecodeInstruction::Format format>
563 template <BytecodeInstruction::Format format>
570 template <BytecodeInstruction::Format format>
577 template <BytecodeInstruction::Format format>
584 template <BytecodeInstruction::Format format>
591 template <BytecodeInstruction::Format format>
598 template <BytecodeInstruction::Format format>
605 template <BytecodeInstruction::Format format>
612 template <BytecodeInstruction::Format format>
619 template <BytecodeInstruction::Format format>
626 template <BytecodeInstruction::Format format>
633 template <BytecodeInstruction::Format format>
640 template <BytecodeInstruction::Format format>
647 template <BytecodeInstruction::Format format>
654 template <BytecodeInstruction::Format format>
661 template <BytecodeInstruction::Format format>
668 template <BytecodeInstruction::Format format>
675 template <BytecodeInstruction::Format format>
682 template <BytecodeInstruction::Format format>
689 template <BytecodeInstruction::Format format>
696 template <BytecodeInstruction::Format format>
703 template <BytecodeInstruction::Format format>
710 template <BytecodeInstruction::Format format>
717 template <BytecodeInstruction::Format format>
724 template <BytecodeInstruction::Format format>
731 template <BytecodeInstruction::Format format>
738 template <BytecodeInstruction::Format format>
745 template <BytecodeInstruction::Format format>
752 template <BytecodeInstruction::Format format>
759 template <BytecodeInstruction::Format format>
766 template <BytecodeInstruction::Format format>
773 template <BytecodeInstruction::Format format>
780 template <BytecodeInstruction::Format format>
787 template <BytecodeInstruction::Format format>
794 template <BytecodeInstruction::Format format>
801 template <BytecodeInstruction::Format format>
808 template <BytecodeInstruction::Format format>
815 template <BytecodeInstruction::Format format>
822 template <BytecodeInstruction::Format format>
829 template <BytecodeInstruction::Format format>
836 template <BytecodeInstruction::Format format>
843 template <BytecodeInstruction::Format format>
850 template <BytecodeInstruction::Format format>
857 template <BytecodeInstruction::Format format>
864 template <BytecodeInstruction::Format format>
871 template <BytecodeInstruction::Format format>
878 template <BytecodeInstruction::Format format>
885 template <BytecodeInstruction::Format format>
892 template <BytecodeInstruction::Format format>
899 template <BytecodeInstruction::Format format>
906 template <BytecodeInstruction::Format format>
913 template <BytecodeInstruction::Format format>
920 template <BytecodeInstruction::Format format>
927 template <BytecodeInstruction::Format format>
934 template <BytecodeInstruction::Format format>
941 template <BytecodeInstruction::Format format>
948 template <BytecodeInstruction::Format format>
955 template <BytecodeInstruction::Format format>
962 template <BytecodeInstruction::Format format>
969 template <BytecodeInstruction::Format format>
976 template <BytecodeInstruction::Format format>
983 template <BytecodeInstruction::Format format>
990 template <BytecodeInstruction::Format format>
997 template <BytecodeInstruction::Format format>
1004 template <BytecodeInstruction::Format format>
1011 template <BytecodeInstruction::Format format>
1014 int32_t imm = this->GetInst().template GetImm<format>(); in HandleInci()
1015 uint16_t vx = this->GetInst().template GetVReg<format>(); in HandleInci()
1018 int32_t value = reg.template GetAs<int32_t>(); in HandleInci()
1020 this->template MoveToNextInst<format, false>(); in HandleInci()
1023 template <BytecodeInstruction::Format format>
1030 template <BytecodeInstruction::Format format>
1037 template <BytecodeInstruction::Format format>
1044 template <BytecodeInstruction::Format format>
1051 template <BytecodeInstruction::Format format>
1058 template <BytecodeInstruction::Format format>
1065 template <BytecodeInstruction::Format format>
1072 template <BytecodeInstruction::Format format>
1079 template <BytecodeInstruction::Format format>
1086 template <BytecodeInstruction::Format format>
1093 template <BytecodeInstruction::Format format>
1100 template <BytecodeInstruction::Format format>
1107 template <BytecodeInstruction::Format format>
1114 template <BytecodeInstruction::Format format>
1121 template <BytecodeInstruction::Format format>
1128 template <BytecodeInstruction::Format format>
1135 template <BytecodeInstruction::Format format>
1142 template <BytecodeInstruction::Format format>
1149 template <BytecodeInstruction::Format format>
1156 template <BytecodeInstruction::Format format>
1163 template <BytecodeInstruction::Format format>
1170 template <BytecodeInstruction::Format format>
1177 template <BytecodeInstruction::Format format>
1184 template <BytecodeInstruction::Format format>
1191 template <BytecodeInstruction::Format format>
1198 template <BytecodeInstruction::Format format>
1205 template <BytecodeInstruction::Format format>
1212 template <BytecodeInstruction::Format format>
1219 template <BytecodeInstruction::Format format>
1226 template <BytecodeInstruction::Format format>
1233 template <BytecodeInstruction::Format format>
1240 template <BytecodeInstruction::Format format>
1247 template <BytecodeInstruction::Format format>
1254 template <BytecodeInstruction::Format format>
1261 template <BytecodeInstruction::Format format>
1268 template <BytecodeInstruction::Format format>
1275 template <BytecodeInstruction::Format format>
1282 template <BytecodeInstruction::Format format>
1289 template <BytecodeInstruction::Format format>
1296 template <BytecodeInstruction::Format format>
1303 template <BytecodeInstruction::Format format>
1310 template <BytecodeInstruction::Format format>
1317 template <BytecodeInstruction::Format format>
1324 template <BytecodeInstruction::Format format>
1327 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdarrObj()
1336 this->template MoveToNextInst<format, true>(); in HandleLdarrObj()
1342 template <BytecodeInstruction::Format format>
1345 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdaDyn()
1348 this->template MoveToNextInst<format, false>(); in HandleLdaDyn()
1351 template <BytecodeInstruction::Format format>
1358 template <BytecodeInstruction::Format format>
1365 template <BytecodeInstruction::Format format>
1372 template <BytecodeInstruction::Format format>
1379 template <BytecodeInstruction::Format format>
1386 template <BytecodeInstruction::Format format>
1393 template <BytecodeInstruction::Format format>
1400 template <BytecodeInstruction::Format format>
1403 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLenarr()
1414 this->template MoveToNextInst<format, true>(); in HandleLenarr()
1418 template <BytecodeInstruction::Format format>
1421 auto litarr_id = this->GetInst().template GetId<format>(); in HandleLdaConst()
1422 uint16_t vd = this->GetInst().template GetVReg<format>(); in HandleLdaConst()
1434 this->template MoveToNextInst<format, false>(); in HandleLdaConst()
1438 template <BytecodeInstruction::Format format>
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()
1462 this->template MoveToNextInst<format, true>(); in HandleNewarr()
1470 template <BytecodeInstruction::Format format>
1473 uint16_t vd = this->GetInst().template GetVReg<format, 0>(); in HandleNewobj()
1474 auto id = this->GetInst().template GetId<format>(); in HandleNewobj()
1485 this->template MoveToNextInst<format, false>(); in HandleNewobj()
1494 template <BytecodeInstruction::Format format>
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()
1507 template <BytecodeInstruction::Format format>
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()
1518 template <BytecodeInstruction::Format format>
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()
1529 template <BytecodeInstruction::Format format>
1532 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdobj()
1533 auto id = this->GetInst().template GetId<format>(); in HandleLdobj()
1547 this->template MoveToNextInst<format, true>(); in HandleLdobj()
1554 template <BytecodeInstruction::Format format>
1557 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdobjWide()
1558 auto id = this->GetInst().template GetId<format>(); in HandleLdobjWide()
1572 this->template MoveToNextInst<format, true>(); in HandleLdobjWide()
1579 template <BytecodeInstruction::Format format>
1582 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleLdobjObj()
1583 auto id = this->GetInst().template GetId<format>(); in HandleLdobjObj()
1599 this->template MoveToNextInst<format, true>(); in HandleLdobjObj()
1606 template <BytecodeInstruction::Format format>
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()
1626 this->template MoveToNextInst<format, true>(); in HandleLdobjV()
1633 template <BytecodeInstruction::Format format>
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()
1653 this->template MoveToNextInst<format, true>(); in HandleLdobjVWide()
1660 template <BytecodeInstruction::Format format>
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()
1681 this->template MoveToNextInst<format, true>(); in HandleLdobjVObj()
1688 template <BytecodeInstruction::Format format>
1691 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleStobj()
1692 auto id = this->GetInst().template GetId<format>(); in HandleStobj()
1706 this->template MoveToNextInst<format, true>(); in HandleStobj()
1713 template <BytecodeInstruction::Format format>
1716 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleStobjWide()
1717 auto id = this->GetInst().template GetId<format>(); in HandleStobjWide()
1731 this->template MoveToNextInst<format, true>(); in HandleStobjWide()
1738 template <BytecodeInstruction::Format format>
1741 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleStobjObj()
1742 auto id = this->GetInst().template GetId<format>(); in HandleStobjObj()
1758 this->template MoveToNextInst<format, true>(); in HandleStobjObj()
1765 template <BytecodeInstruction::Format format>
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()
1784 this->template MoveToNextInst<format, true>(); in HandleStobjV()
1791 template <BytecodeInstruction::Format format>
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()
1810 this->template MoveToNextInst<format, true>(); in HandleStobjVWide()
1817 template <BytecodeInstruction::Format format>
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()
1838 this->template MoveToNextInst<format, true>(); in HandleStobjVObj()
1845 template <BytecodeInstruction::Format format>
1848 auto id = this->GetInst().template GetId<format>(); in HandleLdstatic()
1856 this->template MoveToNextInst<format, false>(); in HandleLdstatic()
1862 template <BytecodeInstruction::Format format>
1865 auto id = this->GetInst().template GetId<format>(); in HandleLdstaticWide()
1873 this->template MoveToNextInst<format, false>(); in HandleLdstaticWide()
1879 template <BytecodeInstruction::Format format>
1882 auto id = this->GetInst().template GetId<format>(); in HandleLdstaticObj()
1893 this->template MoveToNextInst<format, false>(); in HandleLdstaticObj()
1899 template <BytecodeInstruction::Format format>
1902 auto id = this->GetInst().template GetId<format>(); in HandleStstatic()
1911 this->template MoveToNextInst<format, false>(); in HandleStstatic()
1917 template <BytecodeInstruction::Format format>
1920 auto id = this->GetInst().template GetId<format>(); in HandleStstaticWide()
1929 this->template MoveToNextInst<format, false>(); in HandleStstaticWide()
1935 template <BytecodeInstruction::Format format>
1938 auto id = this->GetInst().template GetId<format>(); in HandleStstaticObj()
1949 this->template MoveToNextInst<format, false>(); in HandleStstaticObj()
1955 template <BytecodeInstruction::Format format>
1962 template <BytecodeInstruction::Format format>
1969 template <BytecodeInstruction::Format format>
1976 template <BytecodeInstruction::Format format>
1982 template <BytecodeInstruction::Format format>
1988 template <BytecodeInstruction::Format format>
2040 template <BytecodeInstruction::Format format>
2043 auto type_id = this->GetInst().template GetId<format>(); in HandleCheckcast()
2055 this->template MoveToNextInst<format, true>(); in HandleCheckcast()
2062 template <BytecodeInstruction::Format format>
2065 auto type_id = this->GetInst().template GetId<format>(); in HandleIsinstance()
2078 this->template MoveToNextInst<format, false>(); in HandleIsinstance()
2084 template <BytecodeInstruction::Format format>
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()
2103 template <BytecodeInstruction::Format format>
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()
2122 template <BytecodeInstruction::Format format>
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()
2143 template <BytecodeInstruction::Format format>
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()
2164 template <BytecodeInstruction::Format format>
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()
2182 template <BytecodeInstruction::Format format>
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()
2198 template <BytecodeInstruction::Format format>
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()
2214 template <BytecodeInstruction::Format format>
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()
2232 template <BytecodeInstruction::Format format>
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()
2250 template <BytecodeInstruction::Format format>
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()
2266 template <BytecodeInstruction::Format format>
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()
2292 template <BytecodeInstruction::Format format>
2295 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleThrow()
2378 template <class T>
2392 template <class F, class T, class R>
2395 auto value = static_cast<int64_t>(obj->template GetFieldPrimitive<F>(*field)); in LoadPrimitiveFieldReg()
2399 template <class T, class R>
2429 vreg.SetPrimitive(obj->template GetFieldPrimitive<float>(*field)); in LoadPrimitiveFieldReg()
2432 vreg.SetPrimitive(obj->template GetFieldPrimitive<double>(*field)); in LoadPrimitiveFieldReg()
2440 template <class F, class T>
2443 auto value = static_cast<int64_t>(obj->template GetFieldPrimitive<F>(*field)); in LoadPrimitiveField()
2447 template <class T>
2477 this->GetAccAsVReg().SetPrimitive(obj->template GetFieldPrimitive<float>(*field)); in LoadPrimitiveField()
2480 this->GetAccAsVReg().SetPrimitive(obj->template GetFieldPrimitive<double>(*field)); in LoadPrimitiveField()
2488 template <class T, class R>
2494 obj->SetFieldPrimitive(*field, vreg.template GetAs<uint8_t>()); in StorePrimitiveFieldReg()
2498 obj->SetFieldPrimitive(*field, vreg.template GetAs<int8_t>()); in StorePrimitiveFieldReg()
2502 obj->SetFieldPrimitive(*field, vreg.template GetAs<int16_t>()); in StorePrimitiveFieldReg()
2506 obj->SetFieldPrimitive(*field, vreg.template GetAs<uint16_t>()); in StorePrimitiveFieldReg()
2510 obj->SetFieldPrimitive(*field, vreg.template GetAs<int32_t>()); in StorePrimitiveFieldReg()
2514 obj->SetFieldPrimitive(*field, vreg.template GetAs<uint32_t>()); in StorePrimitiveFieldReg()
2518 obj->SetFieldPrimitive(*field, vreg.template GetAs<int64_t>()); in StorePrimitiveFieldReg()
2522 obj->SetFieldPrimitive(*field, vreg.template GetAs<uint64_t>()); in StorePrimitiveFieldReg()
2526 obj->SetFieldPrimitive(*field, vreg.template GetAs<float>()); in StorePrimitiveFieldReg()
2530 obj->SetFieldPrimitive(*field, vreg.template GetAs<double>()); in StorePrimitiveFieldReg()
2540 template <class T>
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()
2592 template <BytecodeInstruction::Format format, class T>
2597 uint16_t vs = this->GetInst().template GetVReg<format>(); in HandleArrayPrimitiveLoad()
2607 this->template MoveToNextInst<format, true>(); in HandleArrayPrimitiveLoad()
2613 template <BytecodeInstruction::Format format, class T>
2616 uint16_t vs1 = this->GetInst().template GetVReg<format, 0>(); in HandleArrayStore()
2617 uint16_t vs2 = this->GetInst().template GetVReg<format, 1>(); in HandleArrayStore()
2625 auto elem = this->GetAcc().template GetAs<T>(); in HandleArrayStore()
2628 this->template MoveToNextInst<format, true>(); in HandleArrayStore()
2634 template <class T>
2652 … RuntimeIfaceT::ThrowArrayStoreException(array_class, elem->template ClassAddr<Class>()); in CheckStoreArrayOp()
2710 …auto *res = cache->template Get<Method>(this->GetInst().GetAddress(), this->GetFrame()->GetMethod(… in ResolveMethod()
2727 template <bool need_init = false>
2731 …auto *res = cache->template Get<Field>(this->GetInst().GetAddress(), this->GetFrame()->GetMethod()… in ResolveField()
2753 template <bool need_init = false>
2757 …auto *res = cache->template Get<Class>(this->GetInst().GetAddress(), this->GetFrame()->GetMethod()… in ResolveType()
2765 …RuntimeIfaceT::template ResolveClass<need_init>(this->GetThread(), *this->GetFrame()->GetMethod(),… in ResolveType()
2778 template <BytecodeInstruction::Format format, bool is_dynamic_t>
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()
2801 template <BytecodeInstruction::Format format, bool is_dynamic_t>
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()
2850 template <BytecodeInstruction::Format format, bool is_dynamic_t, bool initobj>
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()
2868 template <BytecodeInstruction::Format format, bool is_dynamic_t, bool initobj>
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()
2890 template <bool is_dynamic_t, bool initobj>
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()
2906 template <BytecodeInstruction::Format format, bool is_dynamic_t, bool initobj>
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()
2922 …template <class FrameHelper, BytecodeInstruction::Format format, bool is_dynamic_t, bool is_range,…
2928 … FrameHelper::template CopyArgumentsDyn<format>(this, &frame, num_vregs, num_actual_args); in CopyArguments()
2956 …template <class FrameHelper, BytecodeInstruction::Format format, bool is_dynamic_t, bool is_range,…
2965 num_actual_args = FrameHelper::template GetNumberActualArgsDyn<format>(this); in CreateAndSetFrame()
2981 …FrameHelper::template CreateFrame<RuntimeIfaceT>(this->GetThread(), Frame::GetActualSize<is_dynami… in CreateAndSetFrame()
2990 if (!this->GetThread()->template StackOverflowCheck<false, true>()) { in CreateAndSetFrame()
3010 template <bool is_dynamic_t = false>
3029 …template <class FrameHelper, BytecodeInstruction::Format format, bool is_dynamic_t, bool is_range,…
3057 this->template MoveToNextInst<format, false>(); in CallInterpreterStackless()
3064 template <BytecodeInstruction::Format format, bool is_dynamic_t>
3082 this->template MoveToNextInst<format, true>(); in CallCompiledCode()
3092 …template <class FrameHelper, BytecodeInstruction::Format format, bool is_dynamic_t = false, bool i…
3106 template <BytecodeInstruction::Format format, bool is_range = false, bool accept_acc = false>
3130 template <BytecodeInstruction::Format format, template <typename OpT> class Op>
3133 auto imm = this->GetInst().template GetImm<format>(); 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()
3151 template <BytecodeInstruction::Format format, template <typename OpT> class Op>
3154 auto imm = this->GetInst().template GetImm<format>(); in HandleCondJmp()
3155 uint16_t vs = this->GetInst().template GetVReg<format>(); 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()
3174 template <BytecodeInstruction::Format format, template <typename OpT> class Op>
3177 auto imm = this->GetInst().template GetImm<format>(); 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()
3194 template <BytecodeInstruction::Format format, template <typename OpT> class Op>
3197 auto imm = this->GetInst().template GetImm<format>(); in HandleCondJmpObj()
3198 uint16_t vs = this->GetInst().template GetVReg<format>(); 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()
3217 …template <BytecodeInstruction::Format format, typename OpT, template <typename> class Op, bool is_…
3220 OpT v1 = this->GetAcc().template GetAs<OpT>(); in HandleBinaryOp2Imm()
3221 OpT v2 = this->GetInst().template GetImm<format>(); in HandleBinaryOp2Imm()
3231 this->template MoveToNextInst<format, is_div>(); in HandleBinaryOp2Imm()
3235 …template <BytecodeInstruction::Format format, typename OpT, template <typename> class Op, bool is_…
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()
3251 this->template MoveToNextInst<format, is_div>(); in HandleBinaryOp2()
3255 …template <BytecodeInstruction::Format format, typename OpT, template <typename> class Op, bool is_…
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()
3272 this->template MoveToNextInst<format, is_div>(); in HandleBinaryOp()
3276 template <BytecodeInstruction::Format format, typename OpT, template <typename> class Op>
3279 OpT v = this->GetAcc().template GetAs<OpT>(); in HandleUnaryOp()
3281 this->template MoveToNextInst<format, false>(); in HandleUnaryOp()
3284 template <BytecodeInstruction::Format format, typename From, typename To>
3287 this->GetAcc().Set(static_cast<To>(this->GetAcc().template GetAs<From>())); in HandleConversion()
3288 this->template MoveToNextInst<format, false>(); in HandleConversion()
3291 template <BytecodeInstruction::Format format, typename From, typename To>
3294 auto value = this->GetAcc().template GetAs<From>(); in HandleFloatToIntConversion()
3296 this->template MoveToNextInst<format, false>(); in HandleFloatToIntConversion()
3299 template <BytecodeInstruction::Format format>
3320 template <BytecodeInstruction::Format format>
3325 …auto *method = cache->template Get<Method>(this->GetInst().GetAddress(), this->GetFrame()->GetMeth… in InitializeObject()
3347 this->template MoveToNextInst<format, false>(); in InitializeObject()
3361 template <BytecodeInstruction::Format format>
3364 uint16_t obj_vreg = this->GetInst().template GetVReg<format, 0>(); in GetObjHelper()
3368 template <BytecodeInstruction::Format format, bool accept_acc = false>
3373 if (this->GetInst().template GetImm<format, 0>() == 0) { in GetCallerObject()
3393 template <class RuntimeIfaceT, bool jump_to_eh, bool is_dynamic>