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

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

Issue 1423493006: MIPS: Fix 'MIPS:r6 compact branch optimization.' (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase, merge cctest/test-disasm-mips/Type0 fix. Created 5 years, 1 month 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 1125 matching lines...) Expand 10 before | Expand all | Expand 10 after
1136 1136
1137 void CheckTrampolinePool(); 1137 void CheckTrampolinePool();
1138 1138
1139 void PatchConstantPoolAccessInstruction(int pc_offset, int offset, 1139 void PatchConstantPoolAccessInstruction(int pc_offset, int offset,
1140 ConstantPoolEntry::Access access, 1140 ConstantPoolEntry::Access access,
1141 ConstantPoolEntry::Type type) { 1141 ConstantPoolEntry::Type type) {
1142 // No embedded constant pool support. 1142 // No embedded constant pool support.
1143 UNREACHABLE(); 1143 UNREACHABLE();
1144 } 1144 }
1145 1145
1146 bool IsPrevInstrCompactBranch() { return prev_instr_compact_branch_; }
1147
1146 protected: 1148 protected:
1147 // Relocation for a type-recording IC has the AST id added to it. This 1149 // Relocation for a type-recording IC has the AST id added to it. This
1148 // member variable is a way to pass the information from the call site to 1150 // member variable is a way to pass the information from the call site to
1149 // the relocation info. 1151 // the relocation info.
1150 TypeFeedbackId recorded_ast_id_; 1152 TypeFeedbackId recorded_ast_id_;
1151 1153
1152 int32_t buffer_space() const { return reloc_info_writer.pos() - pc_; } 1154 int32_t buffer_space() const { return reloc_info_writer.pos() - pc_; }
1153 1155
1154 // Decode branch instruction at pos and return branch target pos. 1156 // Decode branch instruction at pos and return branch target pos.
1155 int target_at(int pos, bool is_internal); 1157 int target_at(int pos, bool is_internal);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1199 1201
1200 void EndBlockGrowBuffer() { 1202 void EndBlockGrowBuffer() {
1201 DCHECK(block_buffer_growth_); 1203 DCHECK(block_buffer_growth_);
1202 block_buffer_growth_ = false; 1204 block_buffer_growth_ = false;
1203 } 1205 }
1204 1206
1205 bool is_buffer_growth_blocked() const { 1207 bool is_buffer_growth_blocked() const {
1206 return block_buffer_growth_; 1208 return block_buffer_growth_;
1207 } 1209 }
1208 1210
1209 bool IsPrevInstrCompactBranch() { return prev_instr_compact_branch_; }
1210
1211 private: 1211 private:
1212 inline static void set_target_internal_reference_encoded_at(Address pc, 1212 inline static void set_target_internal_reference_encoded_at(Address pc,
1213 Address target); 1213 Address target);
1214 1214
1215 // Buffer size and constant pool distance are checked together at regular 1215 // Buffer size and constant pool distance are checked together at regular
1216 // intervals of kBufferCheckInterval emitted bytes. 1216 // intervals of kBufferCheckInterval emitted bytes.
1217 static const int kBufferCheckInterval = 1*KB/2; 1217 static const int kBufferCheckInterval = 1*KB/2;
1218 1218
1219 // Code generation. 1219 // Code generation.
1220 // The relocation writer's position is at least kGap bytes below the end of 1220 // The relocation writer's position is at least kGap bytes below the end of
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
1428 public: 1428 public:
1429 explicit EnsureSpace(Assembler* assembler) { 1429 explicit EnsureSpace(Assembler* assembler) {
1430 assembler->CheckBuffer(); 1430 assembler->CheckBuffer();
1431 } 1431 }
1432 }; 1432 };
1433 1433
1434 } // namespace internal 1434 } // namespace internal
1435 } // namespace v8 1435 } // namespace v8
1436 1436
1437 #endif // V8_ARM_ASSEMBLER_MIPS_H_ 1437 #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