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 1147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1158 // No embedded constant pool support. | 1158 // No embedded constant pool support. |
1159 UNREACHABLE(); | 1159 UNREACHABLE(); |
1160 } | 1160 } |
1161 | 1161 |
1162 bool IsPrevInstrCompactBranch() { return prev_instr_compact_branch_; } | 1162 bool IsPrevInstrCompactBranch() { return prev_instr_compact_branch_; } |
1163 | 1163 |
1164 protected: | 1164 protected: |
1165 // Load Scaled Address instruction. | 1165 // Load Scaled Address instruction. |
1166 void lsa(Register rd, Register rt, Register rs, uint8_t sa); | 1166 void lsa(Register rd, Register rt, Register rs, uint8_t sa); |
1167 | 1167 |
| 1168 // Helpers. |
| 1169 void LoadRegPlusOffsetToAt(const MemOperand& src); |
| 1170 |
1168 // Relocation for a type-recording IC has the AST id added to it. This | 1171 // Relocation for a type-recording IC has the AST id added to it. This |
1169 // member variable is a way to pass the information from the call site to | 1172 // member variable is a way to pass the information from the call site to |
1170 // the relocation info. | 1173 // the relocation info. |
1171 TypeFeedbackId recorded_ast_id_; | 1174 TypeFeedbackId recorded_ast_id_; |
1172 | 1175 |
1173 int32_t buffer_space() const { return reloc_info_writer.pos() - pc_; } | 1176 int32_t buffer_space() const { return reloc_info_writer.pos() - pc_; } |
1174 | 1177 |
1175 // Decode branch instruction at pos and return branch target pos. | 1178 // Decode branch instruction at pos and return branch target pos. |
1176 int target_at(int pos, bool is_internal); | 1179 int target_at(int pos, bool is_internal); |
1177 | 1180 |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1355 CompactBranchType is_compact_branch = CompactBranchType::NO); | 1358 CompactBranchType is_compact_branch = CompactBranchType::NO); |
1356 void GenInstrImmediate(Opcode opcode, Register rs, uint32_t offset21); | 1359 void GenInstrImmediate(Opcode opcode, Register rs, uint32_t offset21); |
1357 void GenInstrImmediate( | 1360 void GenInstrImmediate( |
1358 Opcode opcode, int32_t offset26, | 1361 Opcode opcode, int32_t offset26, |
1359 CompactBranchType is_compact_branch = CompactBranchType::NO); | 1362 CompactBranchType is_compact_branch = CompactBranchType::NO); |
1360 | 1363 |
1361 | 1364 |
1362 void GenInstrJump(Opcode opcode, | 1365 void GenInstrJump(Opcode opcode, |
1363 uint32_t address); | 1366 uint32_t address); |
1364 | 1367 |
1365 // Helpers. | |
1366 void LoadRegPlusOffsetToAt(const MemOperand& src); | |
1367 | 1368 |
1368 // Labels. | 1369 // Labels. |
1369 void print(Label* L); | 1370 void print(Label* L); |
1370 void bind_to(Label* L, int pos); | 1371 void bind_to(Label* L, int pos); |
1371 void next(Label* L, bool is_internal); | 1372 void next(Label* L, bool is_internal); |
1372 | 1373 |
1373 // One trampoline consists of: | 1374 // One trampoline consists of: |
1374 // - space for trampoline slots, | 1375 // - space for trampoline slots, |
1375 // - space for labels. | 1376 // - space for labels. |
1376 // | 1377 // |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1464 public: | 1465 public: |
1465 explicit EnsureSpace(Assembler* assembler) { | 1466 explicit EnsureSpace(Assembler* assembler) { |
1466 assembler->CheckBuffer(); | 1467 assembler->CheckBuffer(); |
1467 } | 1468 } |
1468 }; | 1469 }; |
1469 | 1470 |
1470 } // namespace internal | 1471 } // namespace internal |
1471 } // namespace v8 | 1472 } // namespace v8 |
1472 | 1473 |
1473 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 1474 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
OLD | NEW |