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 1125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |