OLD | NEW |
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 void DecodeType2(Instr* instr); | 167 void DecodeType2(Instr* instr); |
168 void DecodeType3(Instr* instr); | 168 void DecodeType3(Instr* instr); |
169 void DecodeType4(Instr* instr); | 169 void DecodeType4(Instr* instr); |
170 void DecodeType5(Instr* instr); | 170 void DecodeType5(Instr* instr); |
171 void DecodeType6(Instr* instr); | 171 void DecodeType6(Instr* instr); |
172 void DecodeType7(Instr* instr); | 172 void DecodeType7(Instr* instr); |
173 | 173 |
174 // Executes one instruction. | 174 // Executes one instruction. |
175 void InstructionDecode(Instr* instr); | 175 void InstructionDecode(Instr* instr); |
176 | 176 |
| 177 // For use in calls that take two double values, constructed from r0, r1, r2 |
| 178 // and r3. |
| 179 void GetFpArgs(double* x, double* y); |
| 180 void SetFpResult(const double& result); |
| 181 void TrashCallerSaveRegisters(); |
| 182 |
177 // architecture state | 183 // architecture state |
178 int32_t registers_[16]; | 184 int32_t registers_[16]; |
179 bool n_flag_; | 185 bool n_flag_; |
180 bool z_flag_; | 186 bool z_flag_; |
181 bool c_flag_; | 187 bool c_flag_; |
182 bool v_flag_; | 188 bool v_flag_; |
183 | 189 |
184 // simulator support | 190 // simulator support |
185 char* stack_; | 191 char* stack_; |
186 bool pc_modified_; | 192 bool pc_modified_; |
187 int icount_; | 193 int icount_; |
188 | 194 |
189 // registered breakpoints | 195 // registered breakpoints |
190 Instr* break_pc_; | 196 Instr* break_pc_; |
191 instr_t break_instr_; | 197 instr_t break_instr_; |
192 }; | 198 }; |
193 | 199 |
194 } } // namespace assembler::arm | 200 } } // namespace assembler::arm |
195 | 201 |
196 #endif // defined(__arm__) | 202 #endif // defined(__arm__) |
197 | 203 |
198 #endif // V8_SIMULATOR_ARM_H_ | 204 #endif // V8_SIMULATOR_ARM_H_ |
OLD | NEW |