Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(530)

Side by Side Diff: src/x64/assembler-x64.cc

Issue 125185: X64: Implementation of a bunch of stubs, and some new opcodes. (Closed)
Patch Set: Addressed review comments. Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/x64/assembler-x64.h ('k') | src/x64/codegen-x64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 406
407 407
408 void Assembler::arithmetic_op(byte opcode, Register dst, Register src) { 408 void Assembler::arithmetic_op(byte opcode, Register dst, Register src) {
409 EnsureSpace ensure_space(this); 409 EnsureSpace ensure_space(this);
410 last_pc_ = pc_; 410 last_pc_ = pc_;
411 emit_rex_64(dst, src); 411 emit_rex_64(dst, src);
412 emit(opcode); 412 emit(opcode);
413 emit_modrm(dst, src); 413 emit_modrm(dst, src);
414 } 414 }
415 415
416
417 void Assembler::arithmetic_op_32(byte opcode, Register dst, Register src) {
418 EnsureSpace ensure_space(this);
419 last_pc_ = pc_;
420 emit_optional_rex_32(dst, src);
421 emit(opcode);
422 emit_modrm(dst, src);
423 }
424
425
416 void Assembler::immediate_arithmetic_op(byte subcode, 426 void Assembler::immediate_arithmetic_op(byte subcode,
417 Register dst, 427 Register dst,
418 Immediate src) { 428 Immediate src) {
419 EnsureSpace ensure_space(this); 429 EnsureSpace ensure_space(this);
420 last_pc_ = pc_; 430 last_pc_ = pc_;
421 emit_rex_64(dst); 431 emit_rex_64(dst);
422 if (is_int8(src.value_)) { 432 if (is_int8(src.value_)) {
423 emit(0x83); 433 emit(0x83);
424 emit_modrm(subcode, dst); 434 emit_modrm(subcode, dst);
425 emit(src.value_); 435 emit(src.value_);
(...skipping 19 matching lines...) Expand all
445 emit(src.value_); 455 emit(src.value_);
446 } else { 456 } else {
447 emit(0x81); 457 emit(0x81);
448 emit_operand(subcode, dst); 458 emit_operand(subcode, dst);
449 emitl(src.value_); 459 emitl(src.value_);
450 } 460 }
451 } 461 }
452 462
453 463
454 void Assembler::immediate_arithmetic_op_32(byte subcode, 464 void Assembler::immediate_arithmetic_op_32(byte subcode,
465 Register dst,
466 Immediate src) {
467 EnsureSpace ensure_space(this);
468 last_pc_ = pc_;
469 emit_optional_rex_32(dst);
470 emit(0x83);
471 if (is_int8(src.value_)) {
472 emit_modrm(subcode, dst);
473 emit(src.value_);
474 } else if (dst.is(rax)) {
475 emit(0x05 | (subcode << 3));
476 emitl(src.value_);
477 } else {
478 emit(0x81);
479 emit_modrm(subcode, dst);
480 emitl(src.value_);
481 }
482 }
483
484
485 void Assembler::immediate_arithmetic_op_32(byte subcode,
455 const Operand& dst, 486 const Operand& dst,
456 Immediate src) { 487 Immediate src) {
457 EnsureSpace ensure_space(this); 488 EnsureSpace ensure_space(this);
458 last_pc_ = pc_; 489 last_pc_ = pc_;
459 emit_optional_rex_32(dst); 490 emit_optional_rex_32(dst);
460 if (is_int8(src.value_)) { 491 if (is_int8(src.value_)) {
461 emit(0x83); 492 emit(0x83);
462 emit_operand(subcode, dst); 493 emit_operand(subcode, dst);
463 emit(src.value_); 494 emit(src.value_);
464 } else { 495 } else {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 532
502 void Assembler::shift(Register dst, int subcode) { 533 void Assembler::shift(Register dst, int subcode) {
503 EnsureSpace ensure_space(this); 534 EnsureSpace ensure_space(this);
504 last_pc_ = pc_; 535 last_pc_ = pc_;
505 emit_rex_64(dst); 536 emit_rex_64(dst);
506 emit(0xD3); 537 emit(0xD3);
507 emit_modrm(subcode, dst); 538 emit_modrm(subcode, dst);
508 } 539 }
509 540
510 541
542 void Assembler::shift_32(Register dst, int subcode) {
543 EnsureSpace ensure_space(this);
544 last_pc_ = pc_;
545 emit_optional_rex_32(dst);
546 emit(0xD3);
547 emit_modrm(subcode, dst);
548 }
549
550
511 void Assembler::bt(const Operand& dst, Register src) { 551 void Assembler::bt(const Operand& dst, Register src) {
512 EnsureSpace ensure_space(this); 552 EnsureSpace ensure_space(this);
513 last_pc_ = pc_; 553 last_pc_ = pc_;
514 emit_rex_64(src, dst); 554 emit_rex_64(src, dst);
515 emit(0x0F); 555 emit(0x0F);
516 emit(0xA3); 556 emit(0xA3);
517 emit_operand(src, dst); 557 emit_operand(src, dst);
518 } 558 }
519 559
520 560
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 673
634 void Assembler::idiv(Register src) { 674 void Assembler::idiv(Register src) {
635 EnsureSpace ensure_space(this); 675 EnsureSpace ensure_space(this);
636 last_pc_ = pc_; 676 last_pc_ = pc_;
637 emit_rex_64(src); 677 emit_rex_64(src);
638 emit(0xF7); 678 emit(0xF7);
639 emit_modrm(0x7, src); 679 emit_modrm(0x7, src);
640 } 680 }
641 681
642 682
683 void Assembler::imul(Register dst, Register src) {
684 EnsureSpace ensure_space(this);
685 last_pc_ = pc_;
686 emit_rex_64(dst, src);
687 emit(0x0F);
688 emit(0xAF);
689 emit_modrm(dst, src);
690 }
691
692
643 void Assembler::imul(Register dst, const Operand& src) { 693 void Assembler::imul(Register dst, const Operand& src) {
644 EnsureSpace ensure_space(this); 694 EnsureSpace ensure_space(this);
645 last_pc_ = pc_; 695 last_pc_ = pc_;
646 emit_rex_64(dst, src); 696 emit_rex_64(dst, src);
647 emit(0x0F); 697 emit(0x0F);
648 emit(0xAF); 698 emit(0xAF);
649 emit_operand(dst, src); 699 emit_operand(dst, src);
650 } 700 }
651 701
652 702
653 void Assembler::imul(Register dst, Register src, Immediate imm) { 703 void Assembler::imul(Register dst, Register src, Immediate imm) {
654 EnsureSpace ensure_space(this); 704 EnsureSpace ensure_space(this);
655 last_pc_ = pc_; 705 last_pc_ = pc_;
656 emit_rex_64(dst, src); 706 emit_rex_64(dst, src);
657 if (is_int8(imm.value_)) { 707 if (is_int8(imm.value_)) {
658 emit(0x6B); 708 emit(0x6B);
659 emit_modrm(dst, src); 709 emit_modrm(dst, src);
660 emit(imm.value_); 710 emit(imm.value_);
661 } else { 711 } else {
662 emit(0x69); 712 emit(0x69);
663 emit_modrm(dst, src); 713 emit_modrm(dst, src);
664 emitl(imm.value_); 714 emitl(imm.value_);
665 } 715 }
666 } 716 }
667 717
668 718
719 void Assembler::imull(Register dst, Register src) {
720 EnsureSpace ensure_space(this);
721 last_pc_ = pc_;
722 emit_optional_rex_32(dst, src);
723 emit(0x0F);
724 emit(0xAF);
725 emit_modrm(dst, src);
726 }
727
728
669 void Assembler::incq(Register dst) { 729 void Assembler::incq(Register dst) {
670 EnsureSpace ensure_space(this); 730 EnsureSpace ensure_space(this);
671 last_pc_ = pc_; 731 last_pc_ = pc_;
672 emit_rex_64(dst); 732 emit_rex_64(dst);
673 emit(0xFF); 733 emit(0xFF);
674 emit_modrm(0x0, dst); 734 emit_modrm(0x0, dst);
675 } 735 }
676 736
677 737
678 void Assembler::incq(const Operand& dst) { 738 void Assembler::incq(const Operand& dst) {
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
964 emit(0xB8 | dst.code() & 0x7); 1024 emit(0xB8 | dst.code() & 0x7);
965 if (value->IsHeapObject()) { 1025 if (value->IsHeapObject()) {
966 emitq(reinterpret_cast<uintptr_t>(value.location()), mode); 1026 emitq(reinterpret_cast<uintptr_t>(value.location()), mode);
967 } else { 1027 } else {
968 ASSERT_EQ(RelocInfo::NONE, mode); 1028 ASSERT_EQ(RelocInfo::NONE, mode);
969 emitq(reinterpret_cast<uintptr_t>(*value), RelocInfo::NONE); 1029 emitq(reinterpret_cast<uintptr_t>(*value), RelocInfo::NONE);
970 } 1030 }
971 } 1031 }
972 1032
973 1033
1034 void Assembler::movsxlq(Register dst, Register src) {
1035 EnsureSpace ensure_space(this);
1036 last_pc_ = pc_;
1037 emit_rex_64(dst, src);
1038 emit(0x63);
1039 emit_modrm(dst, src);
1040 }
1041
1042
1043 void Assembler::movzxbq(Register dst, const Operand& src) {
1044 EnsureSpace ensure_space(this);
1045 last_pc_ = pc_;
1046 emit_rex_64(dst, src);
1047 emit(0x0F);
1048 emit(0xB6);
1049 emit_operand(dst, src);
1050 }
1051
1052
974 void Assembler::mul(Register src) { 1053 void Assembler::mul(Register src) {
975 EnsureSpace ensure_space(this); 1054 EnsureSpace ensure_space(this);
976 last_pc_ = pc_; 1055 last_pc_ = pc_;
977 emit_rex_64(src); 1056 emit_rex_64(src);
978 emit(0xF7); 1057 emit(0xF7);
979 emit_modrm(0x4, src); 1058 emit_modrm(0x4, src);
980 } 1059 }
981 1060
982 1061
983 void Assembler::neg(Register dst) { 1062 void Assembler::neg(Register dst) {
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
1357 emit(mask); 1436 emit(mask);
1358 } else { 1437 } else {
1359 emit_rex_64(dst); 1438 emit_rex_64(dst);
1360 emit(0xF7); 1439 emit(0xF7);
1361 emit_modrm(0, dst); 1440 emit_modrm(0, dst);
1362 emit(mask); 1441 emit(mask);
1363 } 1442 }
1364 } 1443 }
1365 1444
1366 1445
1446 // FPU instructions
1447
1448
1449 void Assembler::fld(int i) {
1450 EnsureSpace ensure_space(this);
1451 last_pc_ = pc_;
1452 emit_farith(0xD9, 0xC0, i);
1453 }
1454
1455
1456 void Assembler::fld1() {
1457 EnsureSpace ensure_space(this);
1458 last_pc_ = pc_;
1459 emit(0xD9);
1460 emit(0xE8);
1461 }
1462
1463
1464 void Assembler::fldz() {
1465 EnsureSpace ensure_space(this);
1466 last_pc_ = pc_;
1467 emit(0xD9);
1468 emit(0xEE);
1469 }
1470
1471
1472 void Assembler::fld_s(const Operand& adr) {
1473 EnsureSpace ensure_space(this);
1474 last_pc_ = pc_;
1475 emit(0xD9);
1476 emit_operand(0, adr);
1477 }
1478
1479
1480 void Assembler::fld_d(const Operand& adr) {
1481 EnsureSpace ensure_space(this);
1482 last_pc_ = pc_;
1483 emit(0xDD);
1484 emit_operand(0, adr);
1485 }
1486
1487
1488 void Assembler::fstp_s(const Operand& adr) {
1489 EnsureSpace ensure_space(this);
1490 last_pc_ = pc_;
1491 emit(0xD9);
1492 emit_operand(3, adr);
1493 }
1494
1495
1496 void Assembler::fstp_d(const Operand& adr) {
1497 EnsureSpace ensure_space(this);
1498 last_pc_ = pc_;
1499 emit(0xDD);
1500 emit_operand(3, adr);
1501 }
1502
1503
1504 void Assembler::fild_s(const Operand& adr) {
1505 EnsureSpace ensure_space(this);
1506 last_pc_ = pc_;
1507 emit(0xDB);
1508 emit_operand(0, adr);
1509 }
1510
1511
1512 void Assembler::fild_d(const Operand& adr) {
1513 EnsureSpace ensure_space(this);
1514 last_pc_ = pc_;
1515 emit(0xDF);
1516 emit_operand(5, adr);
1517 }
1518
1519
1520 void Assembler::fistp_s(const Operand& adr) {
1521 EnsureSpace ensure_space(this);
1522 last_pc_ = pc_;
1523 emit(0xDB);
1524 emit_operand(3, adr);
1525 }
1526
1527
1528 void Assembler::fisttp_s(const Operand& adr) {
1529 ASSERT(CpuFeatures::IsEnabled(CpuFeatures::SSE3));
1530 EnsureSpace ensure_space(this);
1531 last_pc_ = pc_;
1532 emit(0xDB);
1533 emit_operand(1, adr);
1534 }
1535
1536
1537 void Assembler::fist_s(const Operand& adr) {
1538 EnsureSpace ensure_space(this);
1539 last_pc_ = pc_;
1540 emit(0xDB);
1541 emit_operand(2, adr);
1542 }
1543
1544
1545 void Assembler::fistp_d(const Operand& adr) {
1546 EnsureSpace ensure_space(this);
1547 last_pc_ = pc_;
1548 emit(0xDF);
1549 emit_operand(8, adr);
1550 }
1551
1552
1553 void Assembler::fabs() {
1554 EnsureSpace ensure_space(this);
1555 last_pc_ = pc_;
1556 emit(0xD9);
1557 emit(0xE1);
1558 }
1559
1560
1561 void Assembler::fchs() {
1562 EnsureSpace ensure_space(this);
1563 last_pc_ = pc_;
1564 emit(0xD9);
1565 emit(0xE0);
1566 }
1567
1568
1569 void Assembler::fcos() {
1570 EnsureSpace ensure_space(this);
1571 last_pc_ = pc_;
1572 emit(0xD9);
1573 emit(0xFF);
1574 }
1575
1576
1577 void Assembler::fsin() {
1578 EnsureSpace ensure_space(this);
1579 last_pc_ = pc_;
1580 emit(0xD9);
1581 emit(0xFE);
1582 }
1583
1584
1585 void Assembler::fadd(int i) {
1586 EnsureSpace ensure_space(this);
1587 last_pc_ = pc_;
1588 emit_farith(0xDC, 0xC0, i);
1589 }
1590
1591
1592 void Assembler::fsub(int i) {
1593 EnsureSpace ensure_space(this);
1594 last_pc_ = pc_;
1595 emit_farith(0xDC, 0xE8, i);
1596 }
1597
1598
1599 void Assembler::fisub_s(const Operand& adr) {
1600 EnsureSpace ensure_space(this);
1601 last_pc_ = pc_;
1602 emit(0xDA);
1603 emit_operand(4, adr);
1604 }
1605
1606
1607 void Assembler::fmul(int i) {
1608 EnsureSpace ensure_space(this);
1609 last_pc_ = pc_;
1610 emit_farith(0xDC, 0xC8, i);
1611 }
1612
1613
1614 void Assembler::fdiv(int i) {
1615 EnsureSpace ensure_space(this);
1616 last_pc_ = pc_;
1617 emit_farith(0xDC, 0xF8, i);
1618 }
1619
1620
1621 void Assembler::faddp(int i) {
1622 EnsureSpace ensure_space(this);
1623 last_pc_ = pc_;
1624 emit_farith(0xDE, 0xC0, i);
1625 }
1626
1627
1628 void Assembler::fsubp(int i) {
1629 EnsureSpace ensure_space(this);
1630 last_pc_ = pc_;
1631 emit_farith(0xDE, 0xE8, i);
1632 }
1633
1634
1635 void Assembler::fsubrp(int i) {
1636 EnsureSpace ensure_space(this);
1637 last_pc_ = pc_;
1638 emit_farith(0xDE, 0xE0, i);
1639 }
1640
1641
1642 void Assembler::fmulp(int i) {
1643 EnsureSpace ensure_space(this);
1644 last_pc_ = pc_;
1645 emit_farith(0xDE, 0xC8, i);
1646 }
1647
1648
1649 void Assembler::fdivp(int i) {
1650 EnsureSpace ensure_space(this);
1651 last_pc_ = pc_;
1652 emit_farith(0xDE, 0xF8, i);
1653 }
1654
1655
1656 void Assembler::fprem() {
1657 EnsureSpace ensure_space(this);
1658 last_pc_ = pc_;
1659 emit(0xD9);
1660 emit(0xF8);
1661 }
1662
1663
1664 void Assembler::fprem1() {
1665 EnsureSpace ensure_space(this);
1666 last_pc_ = pc_;
1667 emit(0xD9);
1668 emit(0xF5);
1669 }
1670
1671
1672 void Assembler::fxch(int i) {
1673 EnsureSpace ensure_space(this);
1674 last_pc_ = pc_;
1675 emit_farith(0xD9, 0xC8, i);
1676 }
1677
1678
1679 void Assembler::fincstp() {
1680 EnsureSpace ensure_space(this);
1681 last_pc_ = pc_;
1682 emit(0xD9);
1683 emit(0xF7);
1684 }
1685
1686
1687 void Assembler::ffree(int i) {
1688 EnsureSpace ensure_space(this);
1689 last_pc_ = pc_;
1690 emit_farith(0xDD, 0xC0, i);
1691 }
1692
1693
1694 void Assembler::ftst() {
1695 EnsureSpace ensure_space(this);
1696 last_pc_ = pc_;
1697 emit(0xD9);
1698 emit(0xE4);
1699 }
1700
1701
1702 void Assembler::fucomp(int i) {
1703 EnsureSpace ensure_space(this);
1704 last_pc_ = pc_;
1705 emit_farith(0xDD, 0xE8, i);
1706 }
1707
1708
1709 void Assembler::fucompp() {
1710 EnsureSpace ensure_space(this);
1711 last_pc_ = pc_;
1712 emit(0xDA);
1713 emit(0xE9);
1714 }
1715
1716
1717 void Assembler::fcompp() {
1718 EnsureSpace ensure_space(this);
1719 last_pc_ = pc_;
1720 emit(0xDE);
1721 emit(0xD9);
1722 }
1723
1724
1725 void Assembler::fnstsw_ax() {
1726 EnsureSpace ensure_space(this);
1727 last_pc_ = pc_;
1728 emit(0xDF);
1729 emit(0xE0);
1730 }
1731
1732
1733 void Assembler::fwait() {
1734 EnsureSpace ensure_space(this);
1735 last_pc_ = pc_;
1736 emit(0x9B);
1737 }
1738
1739
1740 void Assembler::frndint() {
1741 EnsureSpace ensure_space(this);
1742 last_pc_ = pc_;
1743 emit(0xD9);
1744 emit(0xFC);
1745 }
1746
1747
1748 void Assembler::fnclex() {
1749 EnsureSpace ensure_space(this);
1750 last_pc_ = pc_;
1751 emit(0xDB);
1752 emit(0xE2);
1753 }
1754
1755
1756 void Assembler::emit_farith(int b1, int b2, int i) {
1757 ASSERT(is_uint8(b1) && is_uint8(b2)); // wrong opcode
1758 ASSERT(0 <= i && i < 8); // illegal stack offset
1759 emit(b1);
1760 emit(b2 + i);
1761 }
1762
1763
1367 // Relocation information implementations 1764 // Relocation information implementations
1368 1765
1369 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) { 1766 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data) {
1370 ASSERT(rmode != RelocInfo::NONE); 1767 ASSERT(rmode != RelocInfo::NONE);
1371 // Don't record external references unless the heap will be serialized. 1768 // Don't record external references unless the heap will be serialized.
1372 if (rmode == RelocInfo::EXTERNAL_REFERENCE && 1769 if (rmode == RelocInfo::EXTERNAL_REFERENCE &&
1373 !Serializer::enabled() && 1770 !Serializer::enabled() &&
1374 !FLAG_debug_code) { 1771 !FLAG_debug_code) {
1375 return; 1772 return;
1376 } 1773 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1456 #include "register-allocator.h" 1853 #include "register-allocator.h"
1457 #include "runtime.h" 1854 #include "runtime.h"
1458 #include "scopes.h" 1855 #include "scopes.h"
1459 #include "serialize.h" 1856 #include "serialize.h"
1460 #include "stub-cache.h" 1857 #include "stub-cache.h"
1461 #include "unicode.h" 1858 #include "unicode.h"
1462 1859
1463 namespace v8 { 1860 namespace v8 {
1464 namespace internal { 1861 namespace internal {
1465 1862
1466 void ArgumentsAccessStub::GenerateNewObject(MacroAssembler* a) {
1467 UNIMPLEMENTED();
1468 }
1469
1470 void ArgumentsAccessStub::GenerateReadElement(MacroAssembler* a) {
1471 UNIMPLEMENTED();
1472 }
1473
1474 void ArgumentsAccessStub::GenerateReadLength(MacroAssembler* a) {
1475 UNIMPLEMENTED();
1476 }
1477
1478 1863
1479 void BreakLocationIterator::ClearDebugBreakAtReturn() { 1864 void BreakLocationIterator::ClearDebugBreakAtReturn() {
1480 UNIMPLEMENTED(); 1865 UNIMPLEMENTED();
1481 } 1866 }
1482 1867
1483 bool BreakLocationIterator::IsDebugBreakAtReturn() { 1868 bool BreakLocationIterator::IsDebugBreakAtReturn() {
1484 UNIMPLEMENTED(); 1869 UNIMPLEMENTED();
1485 return false; 1870 return false;
1486 } 1871 }
1487 1872
1488 void BreakLocationIterator::SetDebugBreakAtReturn() { 1873 void BreakLocationIterator::SetDebugBreakAtReturn() {
1489 UNIMPLEMENTED(); 1874 UNIMPLEMENTED();
1490 } 1875 }
1491 1876
1492 void CallIC::Generate(MacroAssembler* a, int b, ExternalReference const& c) { 1877 void CallIC::Generate(MacroAssembler* a, int b, ExternalReference const& c) {
1493 UNIMPLEMENTED(); 1878 UNIMPLEMENTED();
1494 } 1879 }
1495 1880
1496 void CallIC::GenerateMegamorphic(MacroAssembler* a, int b) { 1881 void CallIC::GenerateMegamorphic(MacroAssembler* a, int b) {
1497 UNIMPLEMENTED(); 1882 UNIMPLEMENTED();
1498 } 1883 }
1499 1884
1500 void CallIC::GenerateNormal(MacroAssembler* a, int b) { 1885 void CallIC::GenerateNormal(MacroAssembler* a, int b) {
1501 UNIMPLEMENTED(); 1886 UNIMPLEMENTED();
1502 } 1887 }
1503 1888
1504 Object* CallStubCompiler::CompileCallConstant(Object* a,
1505 JSObject* b,
1506 JSFunction* c,
1507 StubCompiler::CheckType d,
1508 Code::Flags flags) {
1509 UNIMPLEMENTED();
1510 return NULL;
1511 }
1512
1513 Object* CallStubCompiler::CompileCallField(Object* a,
1514 JSObject* b,
1515 int c,
1516 String* d,
1517 Code::Flags flags) {
1518 UNIMPLEMENTED();
1519 return NULL;
1520 }
1521
1522 Object* CallStubCompiler::CompileCallInterceptor(Object* a,
1523 JSObject* b,
1524 String* c) {
1525 UNIMPLEMENTED();
1526 return NULL;
1527 }
1528
1529 void JumpTarget::DoBind() { 1889 void JumpTarget::DoBind() {
1530 UNIMPLEMENTED(); 1890 UNIMPLEMENTED();
1531 } 1891 }
1532 1892
1533 void JumpTarget::DoBranch(Condition a, Hint b) { 1893 void JumpTarget::DoBranch(Condition a, Hint b) {
1534 UNIMPLEMENTED(); 1894 UNIMPLEMENTED();
1535 } 1895 }
1536 1896
1537 void JumpTarget::DoJump() { 1897 void JumpTarget::DoJump() {
1538 UNIMPLEMENTED(); 1898 UNIMPLEMENTED();
1539 } 1899 }
1540 1900
1541 Object* LoadStubCompiler::CompileLoadCallback(JSObject* a,
1542 JSObject* b,
1543 AccessorInfo* c,
1544 String* d) {
1545 UNIMPLEMENTED();
1546 return NULL;
1547 }
1548
1549 Object* LoadStubCompiler::CompileLoadConstant(JSObject* a,
1550 JSObject* b,
1551 Object* c,
1552 String* d) {
1553 UNIMPLEMENTED();
1554 return NULL;
1555 }
1556
1557 Object* LoadStubCompiler::CompileLoadField(JSObject* a,
1558 JSObject* b,
1559 int c,
1560 String* d) {
1561 UNIMPLEMENTED();
1562 return NULL;
1563 }
1564
1565 Object* LoadStubCompiler::CompileLoadInterceptor(JSObject* a,
1566 JSObject* b,
1567 String* c) {
1568 UNIMPLEMENTED();
1569 return NULL;
1570 }
1571
1572 Object* StoreStubCompiler::CompileStoreCallback(JSObject* a,
1573 AccessorInfo* b,
1574 String* c) {
1575 UNIMPLEMENTED();
1576 return NULL;
1577 }
1578
1579 Object* StoreStubCompiler::CompileStoreField(JSObject* a,
1580 int b,
1581 Map* c,
1582 String* d) {
1583 UNIMPLEMENTED();
1584 return NULL;
1585 }
1586
1587 Object* StoreStubCompiler::CompileStoreInterceptor(JSObject* a, String* b) {
1588 UNIMPLEMENTED();
1589 return NULL;
1590 }
1591
1592 Object* StubCompiler::CompileLazyCompile(Code::Flags a) {
1593 UNIMPLEMENTED();
1594 return NULL;
1595 }
1596 1901
1597 } } // namespace v8::internal 1902 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/x64/assembler-x64.h ('k') | src/x64/codegen-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698