OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
743 // doesn't happen. | 743 // doesn't happen. |
744 void sll(Register rd, Register rt, uint16_t sa, bool coming_from_nop = false); | 744 void sll(Register rd, Register rt, uint16_t sa, bool coming_from_nop = false); |
745 void sllv(Register rd, Register rt, Register rs); | 745 void sllv(Register rd, Register rt, Register rs); |
746 void srl(Register rd, Register rt, uint16_t sa); | 746 void srl(Register rd, Register rt, uint16_t sa); |
747 void srlv(Register rd, Register rt, Register rs); | 747 void srlv(Register rd, Register rt, Register rs); |
748 void sra(Register rt, Register rd, uint16_t sa); | 748 void sra(Register rt, Register rd, uint16_t sa); |
749 void srav(Register rt, Register rd, Register rs); | 749 void srav(Register rt, Register rd, Register rs); |
750 void rotr(Register rd, Register rt, uint16_t sa); | 750 void rotr(Register rd, Register rt, uint16_t sa); |
751 void rotrv(Register rd, Register rt, Register rs); | 751 void rotrv(Register rd, Register rt, Register rs); |
752 | 752 |
753 // Address computing instructions with shift. | |
754 void lsa(Register rd, Register rt, Register rs, uint8_t sa); | |
755 | |
756 // ------------Memory-instructions------------- | 753 // ------------Memory-instructions------------- |
757 | 754 |
758 void lb(Register rd, const MemOperand& rs); | 755 void lb(Register rd, const MemOperand& rs); |
759 void lbu(Register rd, const MemOperand& rs); | 756 void lbu(Register rd, const MemOperand& rs); |
760 void lh(Register rd, const MemOperand& rs); | 757 void lh(Register rd, const MemOperand& rs); |
761 void lhu(Register rd, const MemOperand& rs); | 758 void lhu(Register rd, const MemOperand& rs); |
762 void lw(Register rd, const MemOperand& rs); | 759 void lw(Register rd, const MemOperand& rs); |
763 void lwl(Register rd, const MemOperand& rs); | 760 void lwl(Register rd, const MemOperand& rs); |
764 void lwr(Register rd, const MemOperand& rs); | 761 void lwr(Register rd, const MemOperand& rs); |
765 void sb(Register rd, const MemOperand& rs); | 762 void sb(Register rd, const MemOperand& rs); |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1147 void PatchConstantPoolAccessInstruction(int pc_offset, int offset, | 1144 void PatchConstantPoolAccessInstruction(int pc_offset, int offset, |
1148 ConstantPoolEntry::Access access, | 1145 ConstantPoolEntry::Access access, |
1149 ConstantPoolEntry::Type type) { | 1146 ConstantPoolEntry::Type type) { |
1150 // No embedded constant pool support. | 1147 // No embedded constant pool support. |
1151 UNREACHABLE(); | 1148 UNREACHABLE(); |
1152 } | 1149 } |
1153 | 1150 |
1154 bool IsPrevInstrCompactBranch() { return prev_instr_compact_branch_; } | 1151 bool IsPrevInstrCompactBranch() { return prev_instr_compact_branch_; } |
1155 | 1152 |
1156 protected: | 1153 protected: |
| 1154 // Load Scaled Address instruction. |
| 1155 void lsa(Register rd, Register rt, Register rs, uint8_t sa); |
| 1156 |
1157 // Relocation for a type-recording IC has the AST id added to it. This | 1157 // Relocation for a type-recording IC has the AST id added to it. This |
1158 // member variable is a way to pass the information from the call site to | 1158 // member variable is a way to pass the information from the call site to |
1159 // the relocation info. | 1159 // the relocation info. |
1160 TypeFeedbackId recorded_ast_id_; | 1160 TypeFeedbackId recorded_ast_id_; |
1161 | 1161 |
1162 int32_t buffer_space() const { return reloc_info_writer.pos() - pc_; } | 1162 int32_t buffer_space() const { return reloc_info_writer.pos() - pc_; } |
1163 | 1163 |
1164 // Decode branch instruction at pos and return branch target pos. | 1164 // Decode branch instruction at pos and return branch target pos. |
1165 int target_at(int pos, bool is_internal); | 1165 int target_at(int pos, bool is_internal); |
1166 | 1166 |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1453 public: | 1453 public: |
1454 explicit EnsureSpace(Assembler* assembler) { | 1454 explicit EnsureSpace(Assembler* assembler) { |
1455 assembler->CheckBuffer(); | 1455 assembler->CheckBuffer(); |
1456 } | 1456 } |
1457 }; | 1457 }; |
1458 | 1458 |
1459 } // namespace internal | 1459 } // namespace internal |
1460 } // namespace v8 | 1460 } // namespace v8 |
1461 | 1461 |
1462 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 1462 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
OLD | NEW |