Lines Matching refs:masm
96 #define __ masm->
99 static void EntryCode(MacroAssembler* masm) { in EntryCode() argument
108 static void ExitCode(MacroAssembler* masm) { in ExitCode() argument
145 static void TestMoveSmi(MacroAssembler* masm, Label* exit, int id, Smi* value) { in TestMoveSmi() argument
164 MacroAssembler* masm = &assembler; // Create a pointer for the __ macro. in TEST() local
165 EntryCode(masm); in TEST()
168 TestMoveSmi(masm, &exit, 1, Smi::FromInt(0)); in TEST()
169 TestMoveSmi(masm, &exit, 2, Smi::FromInt(127)); in TEST()
170 TestMoveSmi(masm, &exit, 3, Smi::FromInt(128)); in TEST()
171 TestMoveSmi(masm, &exit, 4, Smi::FromInt(255)); in TEST()
172 TestMoveSmi(masm, &exit, 5, Smi::FromInt(256)); in TEST()
173 TestMoveSmi(masm, &exit, 6, Smi::FromInt(Smi::kMaxValue)); in TEST()
174 TestMoveSmi(masm, &exit, 7, Smi::FromInt(-1)); in TEST()
175 TestMoveSmi(masm, &exit, 8, Smi::FromInt(-128)); in TEST()
176 TestMoveSmi(masm, &exit, 9, Smi::FromInt(-129)); in TEST()
177 TestMoveSmi(masm, &exit, 10, Smi::FromInt(-256)); in TEST()
178 TestMoveSmi(masm, &exit, 11, Smi::FromInt(-257)); in TEST()
179 TestMoveSmi(masm, &exit, 12, Smi::FromInt(Smi::kMinValue)); in TEST()
183 ExitCode(masm); in TEST()
187 masm->GetCode(&desc); in TEST()
194 void TestSmiCompare(MacroAssembler* masm, Label* exit, int id, int x, int y) { in TestSmiCompare() argument
250 MacroAssembler* masm = &assembler; in TEST() local
251 EntryCode(masm); in TEST()
254 TestSmiCompare(masm, &exit, 0x10, 0, 0); in TEST()
255 TestSmiCompare(masm, &exit, 0x20, 0, 1); in TEST()
256 TestSmiCompare(masm, &exit, 0x30, 1, 0); in TEST()
257 TestSmiCompare(masm, &exit, 0x40, 1, 1); in TEST()
258 TestSmiCompare(masm, &exit, 0x50, 0, -1); in TEST()
259 TestSmiCompare(masm, &exit, 0x60, -1, 0); in TEST()
260 TestSmiCompare(masm, &exit, 0x70, -1, -1); in TEST()
261 TestSmiCompare(masm, &exit, 0x80, 0, Smi::kMinValue); in TEST()
262 TestSmiCompare(masm, &exit, 0x90, Smi::kMinValue, 0); in TEST()
263 TestSmiCompare(masm, &exit, 0xA0, 0, Smi::kMaxValue); in TEST()
264 TestSmiCompare(masm, &exit, 0xB0, Smi::kMaxValue, 0); in TEST()
265 TestSmiCompare(masm, &exit, 0xC0, -1, Smi::kMinValue); in TEST()
266 TestSmiCompare(masm, &exit, 0xD0, Smi::kMinValue, -1); in TEST()
267 TestSmiCompare(masm, &exit, 0xE0, -1, Smi::kMaxValue); in TEST()
268 TestSmiCompare(masm, &exit, 0xF0, Smi::kMaxValue, -1); in TEST()
269 TestSmiCompare(masm, &exit, 0x100, Smi::kMinValue, Smi::kMinValue); in TEST()
270 TestSmiCompare(masm, &exit, 0x110, Smi::kMinValue, Smi::kMaxValue); in TEST()
271 TestSmiCompare(masm, &exit, 0x120, Smi::kMaxValue, Smi::kMinValue); in TEST()
272 TestSmiCompare(masm, &exit, 0x130, Smi::kMaxValue, Smi::kMaxValue); in TEST()
276 ExitCode(masm); in TEST()
280 masm->GetCode(&desc); in TEST()
298 MacroAssembler* masm = &assembler; in TEST() local
299 EntryCode(masm); in TEST()
377 ExitCode(masm); in TEST()
381 masm->GetCode(&desc); in TEST()
388 void TestI64PlusConstantToSmi(MacroAssembler* masm, in TestI64PlusConstantToSmi() argument
424 MacroAssembler* masm = &assembler; in TEST() local
425 EntryCode(masm); in TEST()
430 TestI64PlusConstantToSmi(masm, &exit, 0x10, 0, 0); in TEST()
431 TestI64PlusConstantToSmi(masm, &exit, 0x20, 0, 1); in TEST()
432 TestI64PlusConstantToSmi(masm, &exit, 0x30, 1, 0); in TEST()
433 TestI64PlusConstantToSmi(masm, &exit, 0x40, Smi::kMaxValue - 5, 5); in TEST()
434 TestI64PlusConstantToSmi(masm, &exit, 0x50, Smi::kMinValue + 5, 5); in TEST()
435 TestI64PlusConstantToSmi(masm, &exit, 0x60, twice_max, -Smi::kMaxValue); in TEST()
436 TestI64PlusConstantToSmi(masm, &exit, 0x70, -twice_max, Smi::kMaxValue); in TEST()
437 TestI64PlusConstantToSmi(masm, &exit, 0x80, 0, Smi::kMinValue); in TEST()
438 TestI64PlusConstantToSmi(masm, &exit, 0x90, 0, Smi::kMaxValue); in TEST()
439 TestI64PlusConstantToSmi(masm, &exit, 0xA0, Smi::kMinValue, 0); in TEST()
440 TestI64PlusConstantToSmi(masm, &exit, 0xB0, Smi::kMaxValue, 0); in TEST()
441 TestI64PlusConstantToSmi(masm, &exit, 0xC0, twice_max, Smi::kMinValue); in TEST()
445 ExitCode(masm); in TEST()
449 masm->GetCode(&desc); in TEST()
466 MacroAssembler* masm = &assembler; in TEST() local
467 EntryCode(masm); in TEST()
477 cond = masm->CheckSmi(rcx); in TEST()
482 cond = masm->CheckSmi(rcx); in TEST()
488 cond = masm->CheckSmi(rcx); in TEST()
493 cond = masm->CheckSmi(rcx); in TEST()
499 cond = masm->CheckSmi(rcx); in TEST()
504 cond = masm->CheckSmi(rcx); in TEST()
510 cond = masm->CheckSmi(rcx); in TEST()
515 cond = masm->CheckSmi(rcx); in TEST()
523 cond = masm->CheckNonNegativeSmi(rcx); in TEST()
528 cond = masm->CheckNonNegativeSmi(rcx); // "zero" non-smi. in TEST()
534 cond = masm->CheckNonNegativeSmi(rcx); // Negative smis are not positive. in TEST()
540 cond = masm->CheckNonNegativeSmi(rcx); // Most negative smi is not positive. in TEST()
545 cond = masm->CheckNonNegativeSmi(rcx); // "Negative" non-smi. in TEST()
551 cond = masm->CheckNonNegativeSmi(rcx); // Most positive smi is positive. in TEST()
556 cond = masm->CheckNonNegativeSmi(rcx); // "Positive" non-smi. in TEST()
564 cond = masm->CheckIsMinSmi(rcx); in TEST()
570 cond = masm->CheckIsMinSmi(rcx); in TEST()
576 cond = masm->CheckIsMinSmi(rcx); in TEST()
582 cond = masm->CheckIsMinSmi(rcx); in TEST()
592 cond = masm->CheckBothSmi(rcx, rdx); in TEST()
597 cond = masm->CheckBothSmi(rcx, rdx); in TEST()
602 cond = masm->CheckBothSmi(rcx, rdx); in TEST()
607 cond = masm->CheckBothSmi(rcx, rdx); in TEST()
611 cond = masm->CheckBothSmi(rcx, rcx); in TEST()
615 cond = masm->CheckBothSmi(rdx, rdx); in TEST()
621 cond = masm->CheckInteger32ValidSmiValue(rax); in TEST()
626 cond = masm->CheckInteger32ValidSmiValue(rax); in TEST()
631 cond = masm->CheckInteger32ValidSmiValue(rax); in TEST()
636 cond = masm->CheckInteger32ValidSmiValue(rax); in TEST()
643 ExitCode(masm); in TEST()
647 masm->GetCode(&desc); in TEST()
655 void TestSmiNeg(MacroAssembler* masm, Label* exit, int id, int x) { in TestSmiNeg() argument
711 MacroAssembler* masm = &assembler; in TEST() local
712 EntryCode(masm); in TEST()
715 TestSmiNeg(masm, &exit, 0x10, 0); in TEST()
716 TestSmiNeg(masm, &exit, 0x20, 1); in TEST()
717 TestSmiNeg(masm, &exit, 0x30, -1); in TEST()
718 TestSmiNeg(masm, &exit, 0x40, 127); in TEST()
719 TestSmiNeg(masm, &exit, 0x50, 65535); in TEST()
720 TestSmiNeg(masm, &exit, 0x60, Smi::kMinValue); in TEST()
721 TestSmiNeg(masm, &exit, 0x70, Smi::kMaxValue); in TEST()
722 TestSmiNeg(masm, &exit, 0x80, -Smi::kMaxValue); in TEST()
726 ExitCode(masm); in TEST()
730 masm->GetCode(&desc); in TEST()
737 static void SmiAddTest(MacroAssembler* masm, in SmiAddTest() argument
803 static void SmiAddOverflowTest(MacroAssembler* masm, in SmiAddOverflowTest() argument
924 MacroAssembler* masm = &assembler; in TEST() local
925 EntryCode(masm); in TEST()
929 SmiAddTest(masm, &exit, 0x10, 1, 2); in TEST()
930 SmiAddTest(masm, &exit, 0x20, 1, -2); in TEST()
931 SmiAddTest(masm, &exit, 0x30, -1, 2); in TEST()
932 SmiAddTest(masm, &exit, 0x40, -1, -2); in TEST()
933 SmiAddTest(masm, &exit, 0x50, 0x1000, 0x2000); in TEST()
934 SmiAddTest(masm, &exit, 0x60, Smi::kMinValue, 5); in TEST()
935 SmiAddTest(masm, &exit, 0x70, Smi::kMaxValue, -5); in TEST()
936 SmiAddTest(masm, &exit, 0x80, Smi::kMaxValue, Smi::kMinValue); in TEST()
938 SmiAddOverflowTest(masm, &exit, 0x90, -1); in TEST()
939 SmiAddOverflowTest(masm, &exit, 0xA0, 1); in TEST()
940 SmiAddOverflowTest(masm, &exit, 0xB0, 1024); in TEST()
941 SmiAddOverflowTest(masm, &exit, 0xC0, Smi::kMaxValue); in TEST()
942 SmiAddOverflowTest(masm, &exit, 0xD0, -2); in TEST()
943 SmiAddOverflowTest(masm, &exit, 0xE0, -42000); in TEST()
944 SmiAddOverflowTest(masm, &exit, 0xF0, Smi::kMinValue); in TEST()
948 ExitCode(masm); in TEST()
952 masm->GetCode(&desc); in TEST()
959 static void SmiSubTest(MacroAssembler* masm, in SmiSubTest() argument
1019 static void SmiSubOverflowTest(MacroAssembler* masm, in SmiSubOverflowTest() argument
1142 MacroAssembler* masm = &assembler; in TEST() local
1143 EntryCode(masm); in TEST()
1146 SmiSubTest(masm, &exit, 0x10, 1, 2); in TEST()
1147 SmiSubTest(masm, &exit, 0x20, 1, -2); in TEST()
1148 SmiSubTest(masm, &exit, 0x30, -1, 2); in TEST()
1149 SmiSubTest(masm, &exit, 0x40, -1, -2); in TEST()
1150 SmiSubTest(masm, &exit, 0x50, 0x1000, 0x2000); in TEST()
1151 SmiSubTest(masm, &exit, 0x60, Smi::kMinValue, -5); in TEST()
1152 SmiSubTest(masm, &exit, 0x70, Smi::kMaxValue, 5); in TEST()
1153 SmiSubTest(masm, &exit, 0x80, -Smi::kMaxValue, Smi::kMinValue); in TEST()
1154 SmiSubTest(masm, &exit, 0x90, 0, Smi::kMaxValue); in TEST()
1156 SmiSubOverflowTest(masm, &exit, 0xA0, 1); in TEST()
1157 SmiSubOverflowTest(masm, &exit, 0xB0, 1024); in TEST()
1158 SmiSubOverflowTest(masm, &exit, 0xC0, Smi::kMaxValue); in TEST()
1159 SmiSubOverflowTest(masm, &exit, 0xD0, -2); in TEST()
1160 SmiSubOverflowTest(masm, &exit, 0xE0, -42000); in TEST()
1161 SmiSubOverflowTest(masm, &exit, 0xF0, Smi::kMinValue); in TEST()
1162 SmiSubOverflowTest(masm, &exit, 0x100, 0); in TEST()
1166 ExitCode(masm); in TEST()
1170 masm->GetCode(&desc); in TEST()
1178 void TestSmiMul(MacroAssembler* masm, Label* exit, int id, int x, int y) { in TestSmiMul() argument
1230 MacroAssembler* masm = &assembler; in TEST() local
1231 EntryCode(masm); in TEST()
1234 TestSmiMul(masm, &exit, 0x10, 0, 0); in TEST()
1235 TestSmiMul(masm, &exit, 0x20, -1, 0); in TEST()
1236 TestSmiMul(masm, &exit, 0x30, 0, -1); in TEST()
1237 TestSmiMul(masm, &exit, 0x40, -1, -1); in TEST()
1238 TestSmiMul(masm, &exit, 0x50, 0x10000, 0x10000); in TEST()
1239 TestSmiMul(masm, &exit, 0x60, 0x10000, 0xffff); in TEST()
1240 TestSmiMul(masm, &exit, 0x70, 0x10000, 0xffff); in TEST()
1241 TestSmiMul(masm, &exit, 0x80, Smi::kMaxValue, -1); in TEST()
1242 TestSmiMul(masm, &exit, 0x90, Smi::kMaxValue, -2); in TEST()
1243 TestSmiMul(masm, &exit, 0xa0, Smi::kMaxValue, 2); in TEST()
1244 TestSmiMul(masm, &exit, 0xb0, (Smi::kMaxValue / 2), 2); in TEST()
1245 TestSmiMul(masm, &exit, 0xc0, (Smi::kMaxValue / 2) + 1, 2); in TEST()
1246 TestSmiMul(masm, &exit, 0xd0, (Smi::kMinValue / 2), 2); in TEST()
1247 TestSmiMul(masm, &exit, 0xe0, (Smi::kMinValue / 2) - 1, 2); in TEST()
1251 ExitCode(masm); in TEST()
1255 masm->GetCode(&desc); in TEST()
1262 void TestSmiDiv(MacroAssembler* masm, Label* exit, int id, int x, int y) { in TestSmiDiv() argument
1333 MacroAssembler* masm = &assembler; in TEST() local
1334 EntryCode(masm); in TEST()
1339 TestSmiDiv(masm, &exit, 0x10, 1, 1); in TEST()
1340 TestSmiDiv(masm, &exit, 0x20, 1, 0); in TEST()
1341 TestSmiDiv(masm, &exit, 0x30, -1, 0); in TEST()
1342 TestSmiDiv(masm, &exit, 0x40, 0, 1); in TEST()
1343 TestSmiDiv(masm, &exit, 0x50, 0, -1); in TEST()
1344 TestSmiDiv(masm, &exit, 0x60, 4, 2); in TEST()
1345 TestSmiDiv(masm, &exit, 0x70, -4, 2); in TEST()
1346 TestSmiDiv(masm, &exit, 0x80, 4, -2); in TEST()
1347 TestSmiDiv(masm, &exit, 0x90, -4, -2); in TEST()
1348 TestSmiDiv(masm, &exit, 0xa0, 3, 2); in TEST()
1349 TestSmiDiv(masm, &exit, 0xb0, 3, 4); in TEST()
1350 TestSmiDiv(masm, &exit, 0xc0, 1, Smi::kMaxValue); in TEST()
1351 TestSmiDiv(masm, &exit, 0xd0, -1, Smi::kMaxValue); in TEST()
1352 TestSmiDiv(masm, &exit, 0xe0, Smi::kMaxValue, 1); in TEST()
1353 TestSmiDiv(masm, &exit, 0xf0, Smi::kMaxValue, Smi::kMaxValue); in TEST()
1354 TestSmiDiv(masm, &exit, 0x100, Smi::kMaxValue, -Smi::kMaxValue); in TEST()
1355 TestSmiDiv(masm, &exit, 0x110, Smi::kMaxValue, -1); in TEST()
1356 TestSmiDiv(masm, &exit, 0x120, Smi::kMinValue, 1); in TEST()
1357 TestSmiDiv(masm, &exit, 0x130, Smi::kMinValue, Smi::kMinValue); in TEST()
1358 TestSmiDiv(masm, &exit, 0x140, Smi::kMinValue, -1); in TEST()
1365 ExitCode(masm); in TEST()
1369 masm->GetCode(&desc); in TEST()
1376 void TestSmiMod(MacroAssembler* masm, Label* exit, int id, int x, int y) { in TestSmiMod() argument
1440 MacroAssembler* masm = &assembler; in TEST() local
1441 EntryCode(masm); in TEST()
1446 TestSmiMod(masm, &exit, 0x10, 1, 1); in TEST()
1447 TestSmiMod(masm, &exit, 0x20, 1, 0); in TEST()
1448 TestSmiMod(masm, &exit, 0x30, -1, 0); in TEST()
1449 TestSmiMod(masm, &exit, 0x40, 0, 1); in TEST()
1450 TestSmiMod(masm, &exit, 0x50, 0, -1); in TEST()
1451 TestSmiMod(masm, &exit, 0x60, 4, 2); in TEST()
1452 TestSmiMod(masm, &exit, 0x70, -4, 2); in TEST()
1453 TestSmiMod(masm, &exit, 0x80, 4, -2); in TEST()
1454 TestSmiMod(masm, &exit, 0x90, -4, -2); in TEST()
1455 TestSmiMod(masm, &exit, 0xa0, 3, 2); in TEST()
1456 TestSmiMod(masm, &exit, 0xb0, 3, 4); in TEST()
1457 TestSmiMod(masm, &exit, 0xc0, 1, Smi::kMaxValue); in TEST()
1458 TestSmiMod(masm, &exit, 0xd0, -1, Smi::kMaxValue); in TEST()
1459 TestSmiMod(masm, &exit, 0xe0, Smi::kMaxValue, 1); in TEST()
1460 TestSmiMod(masm, &exit, 0xf0, Smi::kMaxValue, Smi::kMaxValue); in TEST()
1461 TestSmiMod(masm, &exit, 0x100, Smi::kMaxValue, -Smi::kMaxValue); in TEST()
1462 TestSmiMod(masm, &exit, 0x110, Smi::kMaxValue, -1); in TEST()
1463 TestSmiMod(masm, &exit, 0x120, Smi::kMinValue, 1); in TEST()
1464 TestSmiMod(masm, &exit, 0x130, Smi::kMinValue, Smi::kMinValue); in TEST()
1465 TestSmiMod(masm, &exit, 0x140, Smi::kMinValue, -1); in TEST()
1472 ExitCode(masm); in TEST()
1476 masm->GetCode(&desc); in TEST()
1483 void TestSmiIndex(MacroAssembler* masm, Label* exit, int id, int x) { in TestSmiIndex() argument
1488 SmiIndex index = masm->SmiToIndex(rdx, rcx, i); in TestSmiIndex()
1496 index = masm->SmiToIndex(rcx, rcx, i); in TestSmiIndex()
1505 index = masm->SmiToNegativeIndex(rdx, rcx, i); in TestSmiIndex()
1513 index = masm->SmiToNegativeIndex(rcx, rcx, i); in TestSmiIndex()
1534 MacroAssembler* masm = &assembler; in TEST() local
1535 EntryCode(masm); in TEST()
1538 TestSmiIndex(masm, &exit, 0x10, 0); in TEST()
1539 TestSmiIndex(masm, &exit, 0x20, 1); in TEST()
1540 TestSmiIndex(masm, &exit, 0x30, 100); in TEST()
1541 TestSmiIndex(masm, &exit, 0x40, 1000); in TEST()
1542 TestSmiIndex(masm, &exit, 0x50, Smi::kMaxValue); in TEST()
1546 ExitCode(masm); in TEST()
1550 masm->GetCode(&desc); in TEST()
1557 void TestSelectNonSmi(MacroAssembler* masm, Label* exit, int id, int x, int y) { in TestSelectNonSmi() argument
1600 MacroAssembler* masm = &assembler; in TEST() local
1601 EntryCode(masm); in TEST()
1604 TestSelectNonSmi(masm, &exit, 0x10, 0, 0); in TEST()
1605 TestSelectNonSmi(masm, &exit, 0x20, 0, 1); in TEST()
1606 TestSelectNonSmi(masm, &exit, 0x30, 1, 0); in TEST()
1607 TestSelectNonSmi(masm, &exit, 0x40, 0, -1); in TEST()
1608 TestSelectNonSmi(masm, &exit, 0x50, -1, 0); in TEST()
1609 TestSelectNonSmi(masm, &exit, 0x60, -1, -1); in TEST()
1610 TestSelectNonSmi(masm, &exit, 0x70, 1, 1); in TEST()
1611 TestSelectNonSmi(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue); in TEST()
1612 TestSelectNonSmi(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue); in TEST()
1616 ExitCode(masm); in TEST()
1620 masm->GetCode(&desc); in TEST()
1627 void TestSmiAnd(MacroAssembler* masm, Label* exit, int id, int x, int y) { in TestSmiAnd() argument
1676 MacroAssembler* masm = &assembler; in TEST() local
1677 EntryCode(masm); in TEST()
1680 TestSmiAnd(masm, &exit, 0x10, 0, 0); in TEST()
1681 TestSmiAnd(masm, &exit, 0x20, 0, 1); in TEST()
1682 TestSmiAnd(masm, &exit, 0x30, 1, 0); in TEST()
1683 TestSmiAnd(masm, &exit, 0x40, 0, -1); in TEST()
1684 TestSmiAnd(masm, &exit, 0x50, -1, 0); in TEST()
1685 TestSmiAnd(masm, &exit, 0x60, -1, -1); in TEST()
1686 TestSmiAnd(masm, &exit, 0x70, 1, 1); in TEST()
1687 TestSmiAnd(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue); in TEST()
1688 TestSmiAnd(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue); in TEST()
1689 TestSmiAnd(masm, &exit, 0xA0, Smi::kMinValue, -1); in TEST()
1690 TestSmiAnd(masm, &exit, 0xB0, Smi::kMinValue, -1); in TEST()
1694 ExitCode(masm); in TEST()
1698 masm->GetCode(&desc); in TEST()
1705 void TestSmiOr(MacroAssembler* masm, Label* exit, int id, int x, int y) { in TestSmiOr() argument
1754 MacroAssembler* masm = &assembler; in TEST() local
1755 EntryCode(masm); in TEST()
1758 TestSmiOr(masm, &exit, 0x10, 0, 0); in TEST()
1759 TestSmiOr(masm, &exit, 0x20, 0, 1); in TEST()
1760 TestSmiOr(masm, &exit, 0x30, 1, 0); in TEST()
1761 TestSmiOr(masm, &exit, 0x40, 0, -1); in TEST()
1762 TestSmiOr(masm, &exit, 0x50, -1, 0); in TEST()
1763 TestSmiOr(masm, &exit, 0x60, -1, -1); in TEST()
1764 TestSmiOr(masm, &exit, 0x70, 1, 1); in TEST()
1765 TestSmiOr(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue); in TEST()
1766 TestSmiOr(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue); in TEST()
1767 TestSmiOr(masm, &exit, 0xA0, Smi::kMinValue, -1); in TEST()
1768 TestSmiOr(masm, &exit, 0xB0, 0x05555555, 0x01234567); in TEST()
1769 TestSmiOr(masm, &exit, 0xC0, 0x05555555, 0x0fedcba9); in TEST()
1770 TestSmiOr(masm, &exit, 0xD0, Smi::kMinValue, -1); in TEST()
1774 ExitCode(masm); in TEST()
1778 masm->GetCode(&desc); in TEST()
1785 void TestSmiXor(MacroAssembler* masm, Label* exit, int id, int x, int y) { in TestSmiXor() argument
1834 MacroAssembler* masm = &assembler; in TEST() local
1835 EntryCode(masm); in TEST()
1838 TestSmiXor(masm, &exit, 0x10, 0, 0); in TEST()
1839 TestSmiXor(masm, &exit, 0x20, 0, 1); in TEST()
1840 TestSmiXor(masm, &exit, 0x30, 1, 0); in TEST()
1841 TestSmiXor(masm, &exit, 0x40, 0, -1); in TEST()
1842 TestSmiXor(masm, &exit, 0x50, -1, 0); in TEST()
1843 TestSmiXor(masm, &exit, 0x60, -1, -1); in TEST()
1844 TestSmiXor(masm, &exit, 0x70, 1, 1); in TEST()
1845 TestSmiXor(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue); in TEST()
1846 TestSmiXor(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue); in TEST()
1847 TestSmiXor(masm, &exit, 0xA0, Smi::kMinValue, -1); in TEST()
1848 TestSmiXor(masm, &exit, 0xB0, 0x5555555, 0x01234567); in TEST()
1849 TestSmiXor(masm, &exit, 0xC0, 0x5555555, 0x0fedcba9); in TEST()
1850 TestSmiXor(masm, &exit, 0xD0, Smi::kMinValue, -1); in TEST()
1854 ExitCode(masm); in TEST()
1858 masm->GetCode(&desc); in TEST()
1865 void TestSmiNot(MacroAssembler* masm, Label* exit, int id, int x) { in TestSmiNot() argument
1898 MacroAssembler* masm = &assembler; in TEST() local
1899 EntryCode(masm); in TEST()
1902 TestSmiNot(masm, &exit, 0x10, 0); in TEST()
1903 TestSmiNot(masm, &exit, 0x20, 1); in TEST()
1904 TestSmiNot(masm, &exit, 0x30, -1); in TEST()
1905 TestSmiNot(masm, &exit, 0x40, 127); in TEST()
1906 TestSmiNot(masm, &exit, 0x50, 65535); in TEST()
1907 TestSmiNot(masm, &exit, 0x60, Smi::kMinValue); in TEST()
1908 TestSmiNot(masm, &exit, 0x70, Smi::kMaxValue); in TEST()
1909 TestSmiNot(masm, &exit, 0x80, 0x05555555); in TEST()
1913 ExitCode(masm); in TEST()
1917 masm->GetCode(&desc); in TEST()
1924 void TestSmiShiftLeft(MacroAssembler* masm, Label* exit, int id, int x) { in TestSmiShiftLeft() argument
1991 MacroAssembler* masm = &assembler; in TEST() local
1992 EntryCode(masm); in TEST()
1995 TestSmiShiftLeft(masm, &exit, 0x10, 0); in TEST()
1996 TestSmiShiftLeft(masm, &exit, 0x50, 1); in TEST()
1997 TestSmiShiftLeft(masm, &exit, 0x90, 127); in TEST()
1998 TestSmiShiftLeft(masm, &exit, 0xD0, 65535); in TEST()
1999 TestSmiShiftLeft(masm, &exit, 0x110, Smi::kMaxValue); in TEST()
2000 TestSmiShiftLeft(masm, &exit, 0x150, Smi::kMinValue); in TEST()
2001 TestSmiShiftLeft(masm, &exit, 0x190, -1); in TEST()
2005 ExitCode(masm); in TEST()
2009 masm->GetCode(&desc); in TEST()
2016 void TestSmiShiftLogicalRight(MacroAssembler* masm, in TestSmiShiftLogicalRight() argument
2094 MacroAssembler* masm = &assembler; in TEST() local
2095 EntryCode(masm); in TEST()
2098 TestSmiShiftLogicalRight(masm, &exit, 0x10, 0); in TEST()
2099 TestSmiShiftLogicalRight(masm, &exit, 0x30, 1); in TEST()
2100 TestSmiShiftLogicalRight(masm, &exit, 0x50, 127); in TEST()
2101 TestSmiShiftLogicalRight(masm, &exit, 0x70, 65535); in TEST()
2102 TestSmiShiftLogicalRight(masm, &exit, 0x90, Smi::kMaxValue); in TEST()
2103 TestSmiShiftLogicalRight(masm, &exit, 0xB0, Smi::kMinValue); in TEST()
2104 TestSmiShiftLogicalRight(masm, &exit, 0xD0, -1); in TEST()
2108 ExitCode(masm); in TEST()
2112 masm->GetCode(&desc); in TEST()
2119 void TestSmiShiftArithmeticRight(MacroAssembler* masm, in TestSmiShiftArithmeticRight() argument
2160 MacroAssembler* masm = &assembler; in TEST() local
2161 EntryCode(masm); in TEST()
2164 TestSmiShiftArithmeticRight(masm, &exit, 0x10, 0); in TEST()
2165 TestSmiShiftArithmeticRight(masm, &exit, 0x20, 1); in TEST()
2166 TestSmiShiftArithmeticRight(masm, &exit, 0x30, 127); in TEST()
2167 TestSmiShiftArithmeticRight(masm, &exit, 0x40, 65535); in TEST()
2168 TestSmiShiftArithmeticRight(masm, &exit, 0x50, Smi::kMaxValue); in TEST()
2169 TestSmiShiftArithmeticRight(masm, &exit, 0x60, Smi::kMinValue); in TEST()
2170 TestSmiShiftArithmeticRight(masm, &exit, 0x70, -1); in TEST()
2174 ExitCode(masm); in TEST()
2178 masm->GetCode(&desc); in TEST()
2185 void TestPositiveSmiPowerUp(MacroAssembler* masm, Label* exit, int id, int x) { in TestPositiveSmiPowerUp() argument
2221 MacroAssembler* masm = &assembler; in TEST() local
2222 EntryCode(masm); in TEST()
2225 TestPositiveSmiPowerUp(masm, &exit, 0x20, 0); in TEST()
2226 TestPositiveSmiPowerUp(masm, &exit, 0x40, 1); in TEST()
2227 TestPositiveSmiPowerUp(masm, &exit, 0x60, 127); in TEST()
2228 TestPositiveSmiPowerUp(masm, &exit, 0x80, 128); in TEST()
2229 TestPositiveSmiPowerUp(masm, &exit, 0xA0, 255); in TEST()
2230 TestPositiveSmiPowerUp(masm, &exit, 0xC0, 256); in TEST()
2231 TestPositiveSmiPowerUp(masm, &exit, 0x100, 65535); in TEST()
2232 TestPositiveSmiPowerUp(masm, &exit, 0x120, 65536); in TEST()
2233 TestPositiveSmiPowerUp(masm, &exit, 0x140, Smi::kMaxValue); in TEST()
2237 ExitCode(masm); in TEST()
2241 masm->GetCode(&desc); in TEST()
2261 MacroAssembler* masm = &assembler; in TEST() local
2264 EntryCode(masm); in TEST()
2589 ExitCode(masm); in TEST()
2594 masm->GetCode(&desc); in TEST()
2610 MacroAssembler* masm = &assembler; // Create a pointer for the __ macro. in TEST() local
2611 EntryCode(masm); in TEST()
2737 ExitCode(masm); in TEST()
2741 masm->GetCode(&desc); in TEST()