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

Side by Side Diff: src/DartARM32/assembler_arm.h

Issue 1418313003: Handle branch relative to pc in ARM integrated assembler. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix nits. 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/DartARM32/assembler_arm.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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 // 4 //
5 // This is forked from Dart revision df52deea9f25690eb8b66c5995da92b70f7ac1fe 5 // This is forked from Dart revision df52deea9f25690eb8b66c5995da92b70f7ac1fe
6 // Please update the (git) revision if we merge changes from Dart. 6 // Please update the (git) revision if we merge changes from Dart.
7 // https://code.google.com/p/dart/wiki/GettingTheSource 7 // https://code.google.com/p/dart/wiki/GettingTheSource
8 8
9 #ifndef VM_ASSEMBLER_ARM_H_ 9 #ifndef VM_ASSEMBLER_ARM_H_
10 #define VM_ASSEMBLER_ARM_H_ 10 #define VM_ASSEMBLER_ARM_H_
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 } 140 }
141 141
142 #if 0 142 #if 0
143 // Moved to decodeOperand() in IceAssemblerARM32.cpp 143 // Moved to decodeOperand() in IceAssemblerARM32.cpp
144 // Data-processing operands - Rotated immediate. 144 // Data-processing operands - Rotated immediate.
145 Operand(uint32_t rotate, uint32_t immed8) { 145 Operand(uint32_t rotate, uint32_t immed8) {
146 ASSERT((rotate < (1 << kRotateBits)) && (immed8 < (1 << kImmed8Bits))); 146 ASSERT((rotate < (1 << kRotateBits)) && (immed8 < (1 << kImmed8Bits)));
147 type_ = 1; 147 type_ = 1;
148 encoding_ = (rotate << kRotateShift) | (immed8 << kImmed8Shift); 148 encoding_ = (rotate << kRotateShift) | (immed8 << kImmed8Shift);
149 } 149 }
150 #endif
151 150
152 #if 0
153 // Moved to decodeOperand() in IceAssemblerARM32.cpp 151 // Moved to decodeOperand() in IceAssemblerARM32.cpp
154 // Data-processing operands - Register. 152 // Data-processing operands - Register.
155 explicit Operand(Register rm) { 153 explicit Operand(Register rm) {
156 type_ = 0; 154 type_ = 0;
157 encoding_ = static_cast<uint32_t>(rm); 155 encoding_ = static_cast<uint32_t>(rm);
158 } 156 }
159 #endif
160 157
161 #if 0
162 // Moved to encodeShiftRotateImm5() 158 // Moved to encodeShiftRotateImm5()
163 // Data-processing operands - Logical shift/rotate by immediate. 159 // Data-processing operands - Logical shift/rotate by immediate.
164 Operand(Register rm, Shift shift, uint32_t shift_imm) { 160 Operand(Register rm, Shift shift, uint32_t shift_imm) {
165 ASSERT(shift_imm < (1 << kShiftImmBits)); 161 ASSERT(shift_imm < (1 << kShiftImmBits));
166 type_ = 0; 162 type_ = 0;
167 encoding_ = shift_imm << kShiftImmShift | 163 encoding_ = shift_imm << kShiftImmShift |
168 static_cast<uint32_t>(shift) << kShiftShift | 164 static_cast<uint32_t>(shift) << kShiftShift |
169 static_cast<uint32_t>(rm); 165 static_cast<uint32_t>(rm);
170 } 166 }
171 #endif 167 #endif
(...skipping 942 matching lines...) Expand 10 before | Expand all | Expand 10 after
1114 1110
1115 #if 0 1111 #if 0
1116 // Moved to ARM32::AssemblerARM32::emitType01() 1112 // Moved to ARM32::AssemblerARM32::emitType01()
1117 void EmitType01(Condition cond, 1113 void EmitType01(Condition cond,
1118 int type, 1114 int type,
1119 Opcode opcode, 1115 Opcode opcode,
1120 int set_cc, 1116 int set_cc,
1121 Register rn, 1117 Register rn,
1122 Register rd, 1118 Register rd,
1123 Operand o); 1119 Operand o);
1124 #endif
1125 1120
1121 // Moved to ARM32::AssemblerARM32::emitType05()
1126 void EmitType5(Condition cond, int32_t offset, bool link); 1122 void EmitType5(Condition cond, int32_t offset, bool link);
1127 1123
1128 #if 0
1129 // Moved to ARM32::AssemberARM32::emitMemOp() 1124 // Moved to ARM32::AssemberARM32::emitMemOp()
1130 void EmitMemOp(Condition cond, 1125 void EmitMemOp(Condition cond,
1131 bool load, 1126 bool load,
1132 bool byte, 1127 bool byte,
1133 Register rd, 1128 Register rd,
1134 Address ad); 1129 Address ad);
1135 #endif 1130 #endif
1136 1131
1137 void EmitMemOpAddressMode3(Condition cond, 1132 void EmitMemOpAddressMode3(Condition cond,
1138 int32_t mode, 1133 int32_t mode,
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1207 SRegister sm); 1202 SRegister sm);
1208 1203
1209 void EmitSIMDqqq(int32_t opcode, OperandSize sz, 1204 void EmitSIMDqqq(int32_t opcode, OperandSize sz,
1210 QRegister qd, QRegister qn, QRegister qm); 1205 QRegister qd, QRegister qn, QRegister qm);
1211 1206
1212 void EmitSIMDddd(int32_t opcode, OperandSize sz, 1207 void EmitSIMDddd(int32_t opcode, OperandSize sz,
1213 DRegister dd, DRegister dn, DRegister dm); 1208 DRegister dd, DRegister dn, DRegister dm);
1214 1209
1215 void EmitFarBranch(Condition cond, int32_t offset, bool link); 1210 void EmitFarBranch(Condition cond, int32_t offset, bool link);
1216 void EmitBranch(Condition cond, Label* label, bool link); 1211 void EmitBranch(Condition cond, Label* label, bool link);
1212 #if 0
1213 // Moved to ARM32::AssemblerARM32::encodeBranchoffset().
1217 int32_t EncodeBranchOffset(int32_t offset, int32_t inst); 1214 int32_t EncodeBranchOffset(int32_t offset, int32_t inst);
1215 // Moved to ARM32::AssemberARM32::decodeBranchOffset().
1218 static int32_t DecodeBranchOffset(int32_t inst); 1216 static int32_t DecodeBranchOffset(int32_t inst);
1217 #endif
1219 int32_t EncodeTstOffset(int32_t offset, int32_t inst); 1218 int32_t EncodeTstOffset(int32_t offset, int32_t inst);
1220 int32_t DecodeTstOffset(int32_t inst); 1219 int32_t DecodeTstOffset(int32_t inst);
1221 1220
1222 void StoreIntoObjectFilter(Register object, Register value, Label* no_update); 1221 void StoreIntoObjectFilter(Register object, Register value, Label* no_update);
1223 1222
1224 // Shorter filtering sequence that assumes that value is not a smi. 1223 // Shorter filtering sequence that assumes that value is not a smi.
1225 void StoreIntoObjectFilterNoSmi(Register object, 1224 void StoreIntoObjectFilterNoSmi(Register object,
1226 Register value, 1225 Register value,
1227 Label* no_update); 1226 Label* no_update);
1228 1227
(...skipping 17 matching lines...) Expand all
1246 Register new_value, 1245 Register new_value,
1247 FieldContent old_content); 1246 FieldContent old_content);
1248 1247
1249 DISALLOW_ALLOCATION(); 1248 DISALLOW_ALLOCATION();
1250 DISALLOW_COPY_AND_ASSIGN(Assembler); 1249 DISALLOW_COPY_AND_ASSIGN(Assembler);
1251 }; 1250 };
1252 1251
1253 } // namespace dart 1252 } // namespace dart
1254 1253
1255 #endif // VM_ASSEMBLER_ARM_H_ 1254 #endif // VM_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/DartARM32/assembler_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698