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

Side by Side Diff: src/mips/assembler-mips.h

Issue 1749263002: MIPS: Improve Lsa/Dlsa implementations. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebased. Created 4 years, 9 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 | « no previous file | src/mips/assembler-mips.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 (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
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
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
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_
OLDNEW
« no previous file with comments | « no previous file | src/mips/assembler-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698