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

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

Issue 1779713009: Implement optional turbofan UnalignedLoad and UnalignedStore operators (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix failures in cctest/test-run-wasm-64/Run_Wasm_LoadStoreI64_sx due to missing implementation of U… 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
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 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1202 UNREACHABLE(); 1202 UNREACHABLE();
1203 } 1203 }
1204 1204
1205 bool IsPrevInstrCompactBranch() { return prev_instr_compact_branch_; } 1205 bool IsPrevInstrCompactBranch() { return prev_instr_compact_branch_; }
1206 1206
1207 protected: 1207 protected:
1208 // Load Scaled Address instructions. 1208 // Load Scaled Address instructions.
1209 void lsa(Register rd, Register rt, Register rs, uint8_t sa); 1209 void lsa(Register rd, Register rt, Register rs, uint8_t sa);
1210 void dlsa(Register rd, Register rt, Register rs, uint8_t sa); 1210 void dlsa(Register rd, Register rt, Register rs, uint8_t sa);
1211 1211
1212 // Helpers.
1213 void LoadRegPlusOffsetToAt(const MemOperand& src);
1214
1212 // Relocation for a type-recording IC has the AST id added to it. This 1215 // Relocation for a type-recording IC has the AST id added to it. This
1213 // member variable is a way to pass the information from the call site to 1216 // member variable is a way to pass the information from the call site to
1214 // the relocation info. 1217 // the relocation info.
1215 TypeFeedbackId recorded_ast_id_; 1218 TypeFeedbackId recorded_ast_id_;
1216 1219
1217 inline static void set_target_internal_reference_encoded_at(Address pc, 1220 inline static void set_target_internal_reference_encoded_at(Address pc,
1218 Address target); 1221 Address target);
1219 1222
1220 int64_t buffer_space() const { return reloc_info_writer.pos() - pc_; } 1223 int64_t buffer_space() const { return reloc_info_writer.pos() - pc_; }
1221 1224
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
1398 Opcode opcode, Register rs, int32_t offset21, 1401 Opcode opcode, Register rs, int32_t offset21,
1399 CompactBranchType is_compact_branch = CompactBranchType::NO); 1402 CompactBranchType is_compact_branch = CompactBranchType::NO);
1400 void GenInstrImmediate(Opcode opcode, Register rs, uint32_t offset21); 1403 void GenInstrImmediate(Opcode opcode, Register rs, uint32_t offset21);
1401 void GenInstrImmediate( 1404 void GenInstrImmediate(
1402 Opcode opcode, int32_t offset26, 1405 Opcode opcode, int32_t offset26,
1403 CompactBranchType is_compact_branch = CompactBranchType::NO); 1406 CompactBranchType is_compact_branch = CompactBranchType::NO);
1404 1407
1405 void GenInstrJump(Opcode opcode, 1408 void GenInstrJump(Opcode opcode,
1406 uint32_t address); 1409 uint32_t address);
1407 1410
1408 // Helpers.
1409 void LoadRegPlusOffsetToAt(const MemOperand& src);
1410
1411 // Labels. 1411 // Labels.
1412 void print(Label* L); 1412 void print(Label* L);
1413 void bind_to(Label* L, int pos); 1413 void bind_to(Label* L, int pos);
1414 void next(Label* L, bool is_internal); 1414 void next(Label* L, bool is_internal);
1415 1415
1416 // One trampoline consists of: 1416 // One trampoline consists of:
1417 // - space for trampoline slots, 1417 // - space for trampoline slots,
1418 // - space for labels. 1418 // - space for labels.
1419 // 1419 //
1420 // Space for trampoline slots is equal to slot_count * 2 * kInstrSize. 1420 // Space for trampoline slots is equal to slot_count * 2 * kInstrSize.
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
1503 public: 1503 public:
1504 explicit EnsureSpace(Assembler* assembler) { 1504 explicit EnsureSpace(Assembler* assembler) {
1505 assembler->CheckBuffer(); 1505 assembler->CheckBuffer();
1506 } 1506 }
1507 }; 1507 };
1508 1508
1509 } // namespace internal 1509 } // namespace internal
1510 } // namespace v8 1510 } // namespace v8
1511 1511
1512 #endif // V8_ARM_ASSEMBLER_MIPS_H_ 1512 #endif // V8_ARM_ASSEMBLER_MIPS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698