Lines Matching refs:inst

34 // - "inst" : the current Instruction*.
44 inst = inst->RelativeAt(disp); \
47 TraceExecution(shadow_frame, inst, dex_pc); \
48 inst_data = inst->Fetch16(0); \
49 goto *currentHandlersTable[inst->Opcode(inst_data)]; \
99 DCHECK(inst->IsExperimental()); \
103 UnexpectedOpcode(inst, shadow_frame); \
189 const Instruction* inst = Instruction::At(code_item->insns_ + dex_pc);
208 shadow_frame.SetVReg(inst->VRegA_12x(inst_data),
209 shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
214 shadow_frame.SetVReg(inst->VRegA_22x(inst_data),
215 shadow_frame.GetVReg(inst->VRegB_22x()));
220 shadow_frame.SetVReg(inst->VRegA_32x(),
221 shadow_frame.GetVReg(inst->VRegB_32x()));
226 shadow_frame.SetVRegLong(inst->VRegA_12x(inst_data),
227 shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
232 shadow_frame.SetVRegLong(inst->VRegA_22x(inst_data),
233 shadow_frame.GetVRegLong(inst->VRegB_22x()));
238 shadow_frame.SetVRegLong(inst->VRegA_32x(),
239 shadow_frame.GetVRegLong(inst->VRegB_32x()));
244 shadow_frame.SetVRegReference(inst->VRegA_12x(inst_data),
245 shadow_frame.GetVRegReference(inst->VRegB_12x(inst_data)));
250 shadow_frame.SetVRegReference(inst->VRegA_22x(inst_data),
251 shadow_frame.GetVRegReference(inst->VRegB_22x()));
256 shadow_frame.SetVRegReference(inst->VRegA_32x(),
257 shadow_frame.GetVRegReference(inst->VRegB_32x()));
262 shadow_frame.SetVReg(inst->VRegA_11x(inst_data), result_register.GetI());
267 shadow_frame.SetVRegLong(inst->VRegA_11x(inst_data), result_register.GetJ());
272 shadow_frame.SetVRegReference(inst->VRegA_11x(inst_data), result_register.GetL());
279 shadow_frame.SetVRegReference(inst->VRegA_11x(inst_data), exception);
315 result.SetI(shadow_frame.GetVReg(inst->VRegA_11x(inst_data)));
329 result.SetJ(shadow_frame.GetVRegLong(inst->VRegA_11x(inst_data)));
345 const uint8_t vreg_index = inst->VRegA_11x(inst_data);
377 uint32_t dst = inst->VRegA_11n(inst_data);
378 int32_t val = inst->VRegB_11n(inst_data);
388 uint32_t dst = inst->VRegA_21s(inst_data);
389 int32_t val = inst->VRegB_21s();
399 uint32_t dst = inst->VRegA_31i(inst_data);
400 int32_t val = inst->VRegB_31i();
410 uint32_t dst = inst->VRegA_21h(inst_data);
411 int32_t val = static_cast<int32_t>(inst->VRegB_21h() << 16);
421 shadow_frame.SetVRegLong(inst->VRegA_21s(inst_data), inst->VRegB_21s());
426 shadow_frame.SetVRegLong(inst->VRegA_31i(inst_data), inst->VRegB_31i());
431 shadow_frame.SetVRegLong(inst->VRegA_51l(inst_data), inst->VRegB_51l());
436 shadow_frame.SetVRegLong(inst->VRegA_21h(inst_data),
437 static_cast<uint64_t>(inst->VRegB_21h()) << 48);
442 String* s = ResolveString(self, shadow_frame, inst->VRegB_21c());
446 shadow_frame.SetVRegReference(inst->VRegA_21c(inst_data), s);
453 String* s = ResolveString(self, shadow_frame, inst->VRegB_31c());
457 shadow_frame.SetVRegReference(inst->VRegA_31c(inst_data), s);
464 Class* c = ResolveVerifyAndClinit(inst->VRegB_21c(), shadow_frame.GetMethod(),
469 shadow_frame.SetVRegReference(inst->VRegA_21c(inst_data), c);
476 Object* obj = shadow_frame.GetVRegReference(inst->VRegA_11x(inst_data));
488 Object* obj = shadow_frame.GetVRegReference(inst->VRegA_11x(inst_data));
500 Class* c = ResolveVerifyAndClinit(inst->VRegB_21c(), shadow_frame.GetMethod(),
505 Object* obj = shadow_frame.GetVRegReference(inst->VRegA_21c(inst_data));
517 Class* c = ResolveVerifyAndClinit(inst->VRegC_22c(), shadow_frame.GetMethod(),
522 Object* obj = shadow_frame.GetVRegReference(inst->VRegB_22c(inst_data));
523 shadow_frame.SetVReg(inst->VRegA_22c(inst_data), (obj != nullptr && obj->InstanceOf(c)) ? 1 : 0);
530 Object* array = shadow_frame.GetVRegReference(inst->VRegB_12x(inst_data));
535 shadow_frame.SetVReg(inst->VRegA_12x(inst_data), array->AsArray()->GetLength());
543 Class* c = ResolveVerifyAndClinit(inst->VRegB_21c(), shadow_frame.GetMethod(),
552 inst->VRegB_21c(), shadow_frame.GetMethod(), self,
567 shadow_frame.SetVRegReference(inst->VRegA_21c(inst_data), obj);
574 int32_t length = shadow_frame.GetVReg(inst->VRegB_22c(inst_data));
576 inst->VRegC_22c(), length, shadow_frame.GetMethod(), self,
581 shadow_frame.SetVRegReference(inst->VRegA_22c(inst_data), obj);
589 DoFilledNewArray<false, do_access_check, transaction_active>(inst, shadow_frame,
597 DoFilledNewArray<true, do_access_check, transaction_active>(inst, shadow_frame,
604 Object* obj = shadow_frame.GetVRegReference(inst->VRegA_31t(inst_data));
605 const uint16_t* payload_addr = reinterpret_cast<const uint16_t*>(inst) + inst->VRegB_31t();
617 Object* exception = shadow_frame.GetVRegReference(inst->VRegA_11x(inst_data));
634 int8_t offset = inst->VRegA_10t(inst_data);
648 int16_t offset = inst->VRegA_20t();
662 int32_t offset = inst->VRegA_30t();
676 int32_t offset = DoPackedSwitch(inst, shadow_frame, inst_data);
690 int32_t offset = DoSparseSwitch(inst, shadow_frame, inst_data);
709 float val1 = shadow_frame.GetVRegFloat(inst->VRegB_23x());
710 float val2 = shadow_frame.GetVRegFloat(inst->VRegC_23x());
719 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), result);
725 float val1 = shadow_frame.GetVRegFloat(inst->VRegB_23x());
726 float val2 = shadow_frame.GetVRegFloat(inst->VRegC_23x());
735 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), result);
741 double val1 = shadow_frame.GetVRegDouble(inst->VRegB_23x());
742 double val2 = shadow_frame.GetVRegDouble(inst->VRegC_23x());
751 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), result);
757 double val1 = shadow_frame.GetVRegDouble(inst->VRegB_23x());
758 double val2 = shadow_frame.GetVRegDouble(inst->VRegC_23x());
767 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), result);
777 int64_t val1 = shadow_frame.GetVRegLong(inst->VRegB_23x());
778 int64_t val2 = shadow_frame.GetVRegLong(inst->VRegC_23x());
787 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), result);
793 if (shadow_frame.GetVReg(inst->VRegA_22t(inst_data)) == shadow_frame.GetVReg(inst->VRegB_22t(inst_data))) {
794 int16_t offset = inst->VRegC_22t();
812 if (shadow_frame.GetVReg(inst->VRegA_22t(inst_data)) !=
813 shadow_frame.GetVReg(inst->VRegB_22t(inst_data))) {
814 int16_t offset = inst->VRegC_22t();
832 if (shadow_frame.GetVReg(inst->VRegA_22t(inst_data)) <
833 shadow_frame.GetVReg(inst->VRegB_22t(inst_data))) {
834 int16_t offset = inst->VRegC_22t();
852 if (shadow_frame.GetVReg(inst->VRegA_22t(inst_data)) >=
853 shadow_frame.GetVReg(inst->VRegB_22t(inst_data))) {
854 int16_t offset = inst->VRegC_22t();
872 if (shadow_frame.GetVReg(inst->VRegA_22t(inst_data)) >
873 shadow_frame.GetVReg(inst->VRegB_22t(inst_data))) {
874 int16_t offset = inst->VRegC_22t();
892 if (shadow_frame.GetVReg(inst->VRegA_22t(inst_data)) <=
893 shadow_frame.GetVReg(inst->VRegB_22t(inst_data))) {
894 int16_t offset = inst->VRegC_22t();
912 if (shadow_frame.GetVReg(inst->VRegA_21t(inst_data)) == 0) {
913 int16_t offset = inst->VRegB_21t();
931 if (shadow_frame.GetVReg(inst->VRegA_21t(inst_data)) != 0) {
932 int16_t offset = inst->VRegB_21t();
950 if (shadow_frame.GetVReg(inst->VRegA_21t(inst_data)) < 0) {
951 int16_t offset = inst->VRegB_21t();
969 if (shadow_frame.GetVReg(inst->VRegA_21t(inst_data)) >= 0) {
970 int16_t offset = inst->VRegB_21t();
988 if (shadow_frame.GetVReg(inst->VRegA_21t(inst_data)) > 0) {
989 int16_t offset = inst->VRegB_21t();
1007 if (shadow_frame.GetVReg(inst->VRegA_21t(inst_data)) <= 0) {
1008 int16_t offset = inst->VRegB_21t();
1026 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1031 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1034 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), array->GetWithoutChecks(index));
1044 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1049 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1052 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), array->GetWithoutChecks(index));
1062 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1067 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1070 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), array->GetWithoutChecks(index));
1080 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1085 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1088 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), array->GetWithoutChecks(index));
1098 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1103 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1107 shadow_frame.SetVReg(inst->VRegA_23x(inst_data), array->GetWithoutChecks(index));
1117 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1122 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1126 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data), array->GetWithoutChecks(index));
1136 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1141 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1144 shadow_frame.SetVRegReference(inst->VRegA_23x(inst_data), array->GetWithoutChecks(index));
1154 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1159 uint8_t val = shadow_frame.GetVReg(inst->VRegA_23x(inst_data));
1160 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1173 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1178 int8_t val = shadow_frame.GetVReg(inst->VRegA_23x(inst_data));
1179 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1192 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1197 uint16_t val = shadow_frame.GetVReg(inst->VRegA_23x(inst_data));
1198 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1211 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1216 int16_t val = shadow_frame.GetVReg(inst->VRegA_23x(inst_data));
1217 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1230 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1235 int32_t val = shadow_frame.GetVReg(inst->VRegA_23x(inst_data));
1236 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1250 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1255 int64_t val = shadow_frame.GetVRegLong(inst->VRegA_23x(inst_data));
1256 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1270 Object* a = shadow_frame.GetVRegReference(inst->VRegB_23x());
1275 int32_t index = shadow_frame.GetVReg(inst->VRegC_23x());
1276 Object* val = shadow_frame.GetVRegReference(inst->VRegA_23x(inst_data));
1290 self, shadow_frame, inst, inst_data);
1297 self, shadow_frame, inst, inst_data);
1304 self, shadow_frame, inst, inst_data);
1311 self, shadow_frame, inst, inst_data);
1318 self, shadow_frame, inst, inst_data);
1325 self, shadow_frame, inst, inst_data);
1332 self, shadow_frame, inst, inst_data);
1338 bool success = DoIGetQuick<Primitive::kPrimInt>(shadow_frame, inst, inst_data);
1344 bool success = DoIGetQuick<Primitive::kPrimBoolean>(shadow_frame, inst, inst_data);
1350 bool success = DoIGetQuick<Primitive::kPrimByte>(shadow_frame, inst, inst_data);
1356 bool success = DoIGetQuick<Primitive::kPrimChar>(shadow_frame, inst, inst_data);
1362 bool success = DoIGetQuick<Primitive::kPrimShort>(shadow_frame, inst, inst_data);
1368 bool success = DoIGetQuick<Primitive::kPrimLong>(shadow_frame, inst, inst_data);
1374 bool success = DoIGetQuick<Primitive::kPrimNot>(shadow_frame, inst, inst_data);
1381 self, shadow_frame, inst, inst_data);
1388 self, shadow_frame, inst, inst_data);
1395 self, shadow_frame, inst, inst_data);
1402 self, shadow_frame, inst, inst_data);
1409 self, shadow_frame, inst, inst_data);
1416 self, shadow_frame, inst, inst_data);
1423 self, shadow_frame, inst, inst_data);
1430 transaction_active>(self, shadow_frame, inst, inst_data);
1437 transaction_active>(self, shadow_frame, inst, inst_data);
1444 transaction_active>(self, shadow_frame, inst, inst_data);
1451 transaction_active>(self, shadow_frame, inst, inst_data);
1458 transaction_active>(self, shadow_frame, inst, inst_data);
1465 transaction_active>(self, shadow_frame, inst, inst_data);
1472 transaction_active>(self, shadow_frame, inst, inst_data);
1479 shadow_frame, inst, inst_data);
1486 shadow_frame, inst, inst_data);
1493 shadow_frame, inst, inst_data);
1500 shadow_frame, inst, inst_data);
1507 shadow_frame, inst, inst_data);
1514 shadow_frame, inst, inst_data);
1521 shadow_frame, inst, inst_data);
1528 transaction_active>(self, shadow_frame, inst, inst_data);
1535 transaction_active>(self, shadow_frame, inst, inst_data);
1542 transaction_active>(self, shadow_frame, inst, inst_data);
1549 transaction_active>(self, shadow_frame, inst, inst_data);
1556 transaction_active>(self, shadow_frame, inst, inst_data);
1563 transaction_active>(self, shadow_frame, inst, inst_data);
1570 transaction_active>(self, shadow_frame, inst, inst_data);
1577 self, shadow_frame, inst, inst_data, &result_register);
1585 self, shadow_frame, inst, inst_data, &result_register);
1593 self, shadow_frame, inst, inst_data, &result_register);
1601 self, shadow_frame, inst, inst_data, &result_register);
1609 self, shadow_frame, inst, inst_data, &result_register);
1617 self, shadow_frame, inst, inst_data, &result_register);
1625 self, shadow_frame, inst, inst_data, &result_register);
1633 self, shadow_frame, inst, inst_data, &result_register);
1641 self, shadow_frame, inst, inst_data, &result_register);
1649 self, shadow_frame, inst, inst_data, &result_register);
1657 self, shadow_frame, inst, inst_data, &result_register);
1665 self, shadow_frame, inst, inst_data, &result_register);
1672 bool success = DoInvokeLambda<do_access_check>(self, shadow_frame, inst, inst_data,
1681 inst->VRegA_12x(inst_data), -shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
1687 inst->VRegA_12x(inst_data), ~shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
1693 inst->VRegA_12x(inst_data), -shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
1699 inst->VRegA_12x(inst_data), ~shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
1705 inst->VRegA_12x(inst_data), -shadow_frame.GetVRegFloat(inst->VRegB_12x(inst_data)));
1711 inst->VRegA_12x(inst_data), -shadow_frame.GetVRegDouble(inst->VRegB_12x(inst_data)));
1717 inst->VRegA_12x(inst_data), shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
1723 inst->VRegA_12x(inst_data), shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
1729 inst->VRegA_12x(inst_data), shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
1735 inst->VRegA_12x(inst_data), shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
1741 inst->VRegA_12x(inst_data), shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
1747 inst->VRegA_12x(inst_data), shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
1752 float val = shadow_frame.GetVRegFloat(inst->VRegB_12x(inst_data));
1754 shadow_frame.SetVReg(inst->VRegA_12x(inst_data), result);
1760 float val = shadow_frame.GetVRegFloat(inst->VRegB_12x(inst_data));
1762 shadow_frame.SetVRegLong(inst->VRegA_12x(inst_data), result);
1769 inst->VRegA_12x(inst_data), shadow_frame.GetVRegFloat(inst->VRegB_12x(inst_data)));
1774 double val = shadow_frame.GetVRegDouble(inst->VRegB_12x(inst_data));
1776 shadow_frame.SetVReg(inst->VRegA_12x(inst_data), result);
1782 double val = shadow_frame.GetVRegDouble(inst->VRegB_12x(inst_data));
1784 shadow_frame.SetVRegLong(inst->VRegA_12x(inst_data), result);
1791 inst->VRegA_12x(inst_data), shadow_frame.GetVRegDouble(inst->VRegB_12x(inst_data)));
1796 shadow_frame.SetVReg(inst->VRegA_12x(inst_data),
1797 static_cast<int8_t>(shadow_frame.GetVReg(inst->VRegB_12x(inst_data))));
1802 shadow_frame.SetVReg(inst->VRegA_12x(inst_data),
1803 static_cast<uint16_t>(shadow_frame.GetVReg(inst->VRegB_12x(inst_data))));
1808 shadow_frame.SetVReg(inst->VRegA_12x(inst_data),
1809 static_cast<int16_t>(shadow_frame.GetVReg(inst->VRegB_12x(inst_data))));
1814 shadow_frame.SetVReg(inst->VRegA_23x(inst_data),
1815 SafeAdd(shadow_frame.GetVReg(inst->VRegB_23x()),
1816 shadow_frame.GetVReg(inst->VRegC_23x())));
1821 shadow_frame.SetVReg(inst->VRegA_23x(inst_data),
1822 SafeSub(shadow_frame.GetVReg(inst->VRegB_23x()),
1823 shadow_frame.GetVReg(inst->VRegC_23x())));
1828 shadow_frame.SetVReg(inst->VRegA_23x(inst_data),
1829 SafeMul(shadow_frame.GetVReg(inst->VRegB_23x()),
1830 shadow_frame.GetVReg(inst->VRegC_23x())));
1835 bool success = DoIntDivide(shadow_frame, inst->VRegA_23x(inst_data),
1836 shadow_frame.GetVReg(inst->VRegB_23x()),
1837 shadow_frame.GetVReg(inst->VRegC_23x()));
1843 bool success = DoIntRemainder(shadow_frame, inst->VRegA_23x(inst_data),
1844 shadow_frame.GetVReg(inst->VRegB_23x()),
1845 shadow_frame.GetVReg(inst->VRegC_23x()));
1851 shadow_frame.SetVReg(inst->VRegA_23x(inst_data),
1852 shadow_frame.GetVReg(inst->VRegB_23x()) <<
1853 (shadow_frame.GetVReg(inst->VRegC_23x()) & 0x1f));
1858 shadow_frame.SetVReg(inst->VRegA_23x(inst_data),
1859 shadow_frame.GetVReg(inst->VRegB_23x()) >>
1860 (shadow_frame.GetVReg(inst->VRegC_23x()) & 0x1f));
1865 shadow_frame.SetVReg(inst->VRegA_23x(inst_data),
1866 static_cast<uint32_t>(shadow_frame.GetVReg(inst->VRegB_23x())) >>
1867 (shadow_frame.GetVReg(inst->VRegC_23x()) & 0x1f));
1872 shadow_frame.SetVReg(inst->VRegA_23x(inst_data),
1873 shadow_frame.GetVReg(inst->VRegB_23x()) &
1874 shadow_frame.GetVReg(inst->VRegC_23x()));
1879 shadow_frame.SetVReg(inst->VRegA_23x(inst_data),
1880 shadow_frame.GetVReg(inst->VRegB_23x()) |
1881 shadow_frame.GetVReg(inst->VRegC_23x()));
1886 shadow_frame.SetVReg(inst->VRegA_23x(inst_data),
1887 shadow_frame.GetVReg(inst->VRegB_23x()) ^
1888 shadow_frame.GetVReg(inst->VRegC_23x()));
1893 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data),
1894 SafeAdd(shadow_frame.GetVRegLong(inst->VRegB_23x()),
1895 shadow_frame.GetVRegLong(inst->VRegC_23x())));
1900 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data),
1901 SafeSub(shadow_frame.GetVRegLong(inst->VRegB_23x()),
1902 shadow_frame.GetVRegLong(inst->VRegC_23x())));
1907 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data),
1908 SafeMul(shadow_frame.GetVRegLong(inst->VRegB_23x()),
1909 shadow_frame.GetVRegLong(inst->VRegC_23x())));
1914 bool success = DoLongDivide(shadow_frame, inst->VRegA_23x(inst_data),
1915 shadow_frame.GetVRegLong(inst->VRegB_23x()),
1916 shadow_frame.GetVRegLong(inst->VRegC_23x()));
1922 bool success = DoLongRemainder(shadow_frame, inst->VRegA_23x(inst_data),
1923 shadow_frame.GetVRegLong(inst->VRegB_23x()),
1924 shadow_frame.GetVRegLong(inst->VRegC_23x()));
1930 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data),
1931 shadow_frame.GetVRegLong(inst->VRegB_23x()) &
1932 shadow_frame.GetVRegLong(inst->VRegC_23x()));
1937 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data),
1938 shadow_frame.GetVRegLong(inst->VRegB_23x()) |
1939 shadow_frame.GetVRegLong(inst->VRegC_23x()));
1944 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data),
1945 shadow_frame.GetVRegLong(inst->VRegB_23x()) ^
1946 shadow_frame.GetVRegLong(inst->VRegC_23x()));
1951 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data),
1952 shadow_frame.GetVRegLong(inst->VRegB_23x()) <<
1953 (shadow_frame.GetVReg(inst->VRegC_23x()) & 0x3f));
1958 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data),
1959 shadow_frame.GetVRegLong(inst->VRegB_23x()) >>
1960 (shadow_frame.GetVReg(inst->VRegC_23x()) & 0x3f));
1965 shadow_frame.SetVRegLong(inst->VRegA_23x(inst_data),
1966 static_cast<uint64_t>(shadow_frame.GetVRegLong(inst->VRegB_23x())) >>
1967 (shadow_frame.GetVReg(inst->VRegC_23x()) & 0x3f));
1972 shadow_frame.SetVRegFloat(inst->VRegA_23x(inst_data),
1973 shadow_frame.GetVRegFloat(inst->VRegB_23x()) +
1974 shadow_frame.GetVRegFloat(inst->VRegC_23x()));
1979 shadow_frame.SetVRegFloat(inst->VRegA_23x(inst_data),
1980 shadow_frame.GetVRegFloat(inst->VRegB_23x()) -
1981 shadow_frame.GetVRegFloat(inst->VRegC_23x()));
1986 shadow_frame.SetVRegFloat(inst->VRegA_23x(inst_data),
1987 shadow_frame.GetVRegFloat(inst->VRegB_23x()) *
1988 shadow_frame.GetVRegFloat(inst->VRegC_23x()));
1993 shadow_frame.SetVRegFloat(inst->VRegA_23x(inst_data),
1994 shadow_frame.GetVRegFloat(inst->VRegB_23x()) /
1995 shadow_frame.GetVRegFloat(inst->VRegC_23x()));
2000 shadow_frame.SetVRegFloat(inst->VRegA_23x(inst_data),
2001 fmodf(shadow_frame.GetVRegFloat(inst->VRegB_23x()),
2002 shadow_frame.GetVRegFloat(inst->VRegC_23x())));
2007 shadow_frame.SetVRegDouble(inst->VRegA_23x(inst_data),
2008 shadow_frame.GetVRegDouble(inst->VRegB_23x()) +
2009 shadow_frame.GetVRegDouble(inst->VRegC_23x()));
2014 shadow_frame.SetVRegDouble(inst->VRegA_23x(inst_data),
2015 shadow_frame.GetVRegDouble(inst->VRegB_23x()) -
2016 shadow_frame.GetVRegDouble(inst->VRegC_23x()));
2021 shadow_frame.SetVRegDouble(inst->VRegA_23x(inst_data),
2022 shadow_frame.GetVRegDouble(inst->VRegB_23x()) *
2023 shadow_frame.GetVRegDouble(inst->VRegC_23x()));
2028 shadow_frame.SetVRegDouble(inst->VRegA_23x(inst_data),
2029 shadow_frame.GetVRegDouble(inst->VRegB_23x()) /
2030 shadow_frame.GetVRegDouble(inst->VRegC_23x()));
2035 shadow_frame.SetVRegDouble(inst->VRegA_23x(inst_data),
2036 fmod(shadow_frame.GetVRegDouble(inst->VRegB_23x()),
2037 shadow_frame.GetVRegDouble(inst->VRegC_23x())));
2042 uint32_t vregA = inst->VRegA_12x(inst_data);
2045 shadow_frame.GetVReg(inst->VRegB_12x(inst_data))));
2051 uint32_t vregA = inst->VRegA_12x(inst_data);
2054 shadow_frame.GetVReg(inst->VRegB_12x(inst_data))));
2060 uint32_t vregA = inst->VRegA_12x(inst_data);
2063 shadow_frame.GetVReg(inst->VRegB_12x(inst_data))));
2069 uint32_t vregA = inst->VRegA_12x(inst_data);
2071 shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
2077 uint32_t vregA = inst->VRegA_12x(inst_data);
2079 shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
2085 uint32_t vregA = inst->VRegA_12x(inst_data);
2088 (shadow_frame.GetVReg(inst->VRegB_12x(inst_data)) & 0x1f));
2094 uint32_t vregA = inst->VRegA_12x(inst_data);
2097 (shadow_frame.GetVReg(inst->VRegB_12x(inst_data)) & 0x1f));
2103 uint32_t vregA = inst->VRegA_12x(inst_data);
2106 (shadow_frame.GetVReg(inst->VRegB_12x(inst_data)) & 0x1f));
2112 uint32_t vregA = inst->VRegA_12x(inst_data);
2115 shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
2121 uint32_t vregA = inst->VRegA_12x(inst_data);
2124 shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
2130 uint32_t vregA = inst->VRegA_12x(inst_data);
2133 shadow_frame.GetVReg(inst->VRegB_12x(inst_data)));
2139 uint32_t vregA = inst->VRegA_12x(inst_data);
2142 shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data))));
2148 uint32_t vregA = inst->VRegA_12x(inst_data);
2151 shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data))));
2157 uint32_t vregA = inst->VRegA_12x(inst_data);
2160 shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data))));
2166 uint32_t vregA = inst->VRegA_12x(inst_data);
2168 shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
2174 uint32_t vregA = inst->VRegA_12x(inst_data);
2176 shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
2182 uint32_t vregA = inst->VRegA_12x(inst_data);
2185 shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
2191 uint32_t vregA = inst->VRegA_12x(inst_data);
2194 shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
2200 uint32_t vregA = inst->VRegA_12x(inst_data);
2203 shadow_frame.GetVRegLong(inst->VRegB_12x(inst_data)));
2209 uint32_t vregA = inst->VRegA_12x(inst_data);
2212 (shadow_frame.GetVReg(inst->VRegB_12x(inst_data)) & 0x3f));
2218 uint32_t vregA = inst->VRegA_12x(inst_data);
2221 (shadow_frame.GetVReg(inst->VRegB_12x(inst_data)) & 0x3f));
2227 uint32_t vregA = inst->VRegA_12x(inst_data);
2230 (shadow_frame.GetVReg(inst->VRegB_12x(inst_data)) & 0x3f));
2236 uint32_t vregA = inst->VRegA_12x(inst_data);
2239 shadow_frame.GetVRegFloat(inst->VRegB_12x(inst_data)));
2245 uint32_t vregA = inst->VRegA_12x(inst_data);
2248 shadow_frame.GetVRegFloat(inst->VRegB_12x(inst_data)));
2254 uint32_t vregA = inst->VRegA_12x(inst_data);
2257 shadow_frame.GetVRegFloat(inst->VRegB_12x(inst_data)));
2263 uint32_t vregA = inst->VRegA_12x(inst_data);
2266 shadow_frame.GetVRegFloat(inst->VRegB_12x(inst_data)));
2272 uint32_t vregA = inst->VRegA_12x(inst_data);
2275 shadow_frame.GetVRegFloat(inst->VRegB_12x(inst_data))));
2281 uint32_t vregA = inst->VRegA_12x(inst_data);
2284 shadow_frame.GetVRegDouble(inst->VRegB_12x(inst_data)));
2290 uint32_t vregA = inst->VRegA_12x(inst_data);
2293 shadow_frame.GetVRegDouble(inst->VRegB_12x(inst_data)));
2299 uint32_t vregA = inst->VRegA_12x(inst_data);
2302 shadow_frame.GetVRegDouble(inst->VRegB_12x(inst_data)));
2308 uint32_t vregA = inst->VRegA_12x(inst_data);
2311 shadow_frame.GetVRegDouble(inst->VRegB_12x(inst_data)));
2317 uint32_t vregA = inst->VRegA_12x(inst_data);
2320 shadow_frame.GetVRegDouble(inst->VRegB_12x(inst_data))));
2326 shadow_frame.SetVReg(inst->VRegA_22s(inst_data),
2327 SafeAdd(shadow_frame.GetVReg(inst->VRegB_22s(inst_data)),
2328 inst->VRegC_22s()));
2333 shadow_frame.SetVReg(inst->VRegA_22s(inst_data),
2334 SafeSub(inst->VRegC_22s(),
2335 shadow_frame.GetVReg(inst->VRegB_22s(inst_data))));
2340 shadow_frame.SetVReg(inst->VRegA_22s(inst_data),
2341 SafeMul(shadow_frame.GetVReg(inst->VRegB_22s(inst_data)),
2342 inst->VRegC_22s()));
2348 shadow_frame, inst->VRegA_22s(inst_data), shadow_frame.GetVReg(inst->VRegB_22s(inst_data)),
2349 inst->VRegC_22s());
2356 shadow_frame, inst->VRegA_22s(inst_data), shadow_frame.GetVReg(inst->VRegB_22s(inst_data)),
2357 inst->VRegC_22s());
2363 shadow_frame.SetVReg(inst->VRegA_22s(inst_data),
2364 shadow_frame.GetVReg(inst->VRegB_22s(inst_data)) &
2365 inst->VRegC_22s());
2370 shadow_frame.SetVReg(inst->VRegA_22s(inst_data),
2371 shadow_frame.GetVReg(inst->VRegB_22s(inst_data)) |
2372 inst->VRegC_22s());
2377 shadow_frame.SetVReg(inst->VRegA_22s(inst_data),
2378 shadow_frame.GetVReg(inst->VRegB_22s(inst_data)) ^
2379 inst->VRegC_22s());
2384 shadow_frame.SetVReg(inst->VRegA_22b(inst_data),
2385 SafeAdd(shadow_frame.GetVReg(inst->VRegB_22b()),
2386 inst->VRegC_22b()));
2391 shadow_frame.SetVReg(inst->VRegA_22b(inst_data),
2392 SafeSub(inst->VRegC_22b(),
2393 shadow_frame.GetVReg(inst->VRegB_22b())));
2398 shadow_frame.SetVReg(inst->VRegA_22b(inst_data),
2399 SafeMul(shadow_frame.GetVReg(inst->VRegB_22b()),
2400 inst->VRegC_22b()));
2405 bool success = DoIntDivide(shadow_frame, inst->VRegA_22b(inst_data),
2406 shadow_frame.GetVReg(inst->VRegB_22b()), inst->VRegC_22b());
2412 bool success = DoIntRemainder(shadow_frame, inst->VRegA_22b(inst_data),
2413 shadow_frame.GetVReg(inst->VRegB_22b()), inst->VRegC_22b());
2419 shadow_frame.SetVReg(inst->VRegA_22b(inst_data),
2420 shadow_frame.GetVReg(inst->VRegB_22b()) &
2421 inst->VRegC_22b());
2426 shadow_frame.SetVReg(inst->VRegA_22b(inst_data),
2427 shadow_frame.GetVReg(inst->VRegB_22b()) |
2428 inst->VRegC_22b());
2433 shadow_frame.SetVReg(inst->VRegA_22b(inst_data),
2434 shadow_frame.GetVReg(inst->VRegB_22b()) ^
2435 inst->VRegC_22b());
2440 shadow_frame.SetVReg(inst->VRegA_22b(inst_data),
2441 shadow_frame.GetVReg(inst->VRegB_22b()) <<
2442 (inst->VRegC_22b() & 0x1f));
2447 shadow_frame.SetVReg(inst->VRegA_22b(inst_data),
2448 shadow_frame.GetVReg(inst->VRegB_22b()) >>
2449 (inst->VRegC_22b() & 0x1f));
2454 shadow_frame.SetVReg(inst->VRegA_22b(inst_data),
2455 static_cast<uint32_t>(shadow_frame.GetVReg(inst->VRegB_22b())) >>
2456 (inst->VRegC_22b() & 0x1f));
2470 inst,
2480 bool success = DoBoxLambda<do_access_check>(self, shadow_frame, inst, inst_data);
2486 bool success = DoUnboxLambda<do_access_check>(self, shadow_frame, inst, inst_data);
2497 inst,
2507 inst,
2517 UnexpectedOpcode(inst, shadow_frame);
2521 UnexpectedOpcode(inst, shadow_frame);
2525 UnexpectedOpcode(inst, shadow_frame);
2529 UnexpectedOpcode(inst, shadow_frame);
2533 UnexpectedOpcode(inst, shadow_frame);
2537 UnexpectedOpcode(inst, shadow_frame);
2541 UnexpectedOpcode(inst, shadow_frame);
2545 UnexpectedOpcode(inst, shadow_frame);
2549 UnexpectedOpcode(inst, shadow_frame);
2553 UnexpectedOpcode(inst, shadow_frame);
2557 UnexpectedOpcode(inst, shadow_frame);
2561 UnexpectedOpcode(inst, shadow_frame);
2565 UnexpectedOpcode(inst, shadow_frame);
2569 UnexpectedOpcode(inst, shadow_frame);
2573 UnexpectedOpcode(inst, shadow_frame);