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

Side by Side Diff: src/arm/simulator-arm.h

Issue 11428137: ARM: Make use of d16-d31 when available. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Rebase Created 7 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « src/arm/macro-assembler-arm.cc ('k') | src/arm/simulator-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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 sp = 13, 135 sp = 13,
136 lr = 14, 136 lr = 14,
137 pc = 15, 137 pc = 15,
138 s0 = 0, s1, s2, s3, s4, s5, s6, s7, 138 s0 = 0, s1, s2, s3, s4, s5, s6, s7,
139 s8, s9, s10, s11, s12, s13, s14, s15, 139 s8, s9, s10, s11, s12, s13, s14, s15,
140 s16, s17, s18, s19, s20, s21, s22, s23, 140 s16, s17, s18, s19, s20, s21, s22, s23,
141 s24, s25, s26, s27, s28, s29, s30, s31, 141 s24, s25, s26, s27, s28, s29, s30, s31,
142 num_s_registers = 32, 142 num_s_registers = 32,
143 d0 = 0, d1, d2, d3, d4, d5, d6, d7, 143 d0 = 0, d1, d2, d3, d4, d5, d6, d7,
144 d8, d9, d10, d11, d12, d13, d14, d15, 144 d8, d9, d10, d11, d12, d13, d14, d15,
145 num_d_registers = 16 145 d16, d17, d18, d19, d20, d21, d22, d23,
146 d24, d25, d26, d27, d28, d29, d30, d31,
147 num_d_registers = 32
146 }; 148 };
147 149
148 explicit Simulator(Isolate* isolate); 150 explicit Simulator(Isolate* isolate);
149 ~Simulator(); 151 ~Simulator();
150 152
151 // The currently executing Simulator instance. Potentially there can be one 153 // The currently executing Simulator instance. Potentially there can be one
152 // for each native thread. 154 // for each native thread.
153 static Simulator* current(v8::internal::Isolate* isolate); 155 static Simulator* current(v8::internal::Isolate* isolate);
154 156
155 // Accessors for register state. Reading the pc value adheres to the ARM 157 // Accessors for register state. Reading the pc value adheres to the ARM
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 // Saturating instructions require a Q flag to indicate saturation. 366 // Saturating instructions require a Q flag to indicate saturation.
365 // There is currently no way to read the CPSR directly, and thus read the Q 367 // There is currently no way to read the CPSR directly, and thus read the Q
366 // flag, so this is left unimplemented. 368 // flag, so this is left unimplemented.
367 int32_t registers_[16]; 369 int32_t registers_[16];
368 bool n_flag_; 370 bool n_flag_;
369 bool z_flag_; 371 bool z_flag_;
370 bool c_flag_; 372 bool c_flag_;
371 bool v_flag_; 373 bool v_flag_;
372 374
373 // VFP architecture state. 375 // VFP architecture state.
374 unsigned int vfp_register[num_s_registers]; 376 // TODO(hans): Rename vfp_register to vfp_registers_.
377 unsigned int vfp_register[num_d_registers * 2];
375 bool n_flag_FPSCR_; 378 bool n_flag_FPSCR_;
376 bool z_flag_FPSCR_; 379 bool z_flag_FPSCR_;
377 bool c_flag_FPSCR_; 380 bool c_flag_FPSCR_;
378 bool v_flag_FPSCR_; 381 bool v_flag_FPSCR_;
379 382
380 // VFP rounding mode. See ARM DDI 0406B Page A2-29. 383 // VFP rounding mode. See ARM DDI 0406B Page A2-29.
381 VFPRoundingMode FPSCR_rounding_mode_; 384 VFPRoundingMode FPSCR_rounding_mode_;
382 385
383 // VFP FP exception flags architecture state. 386 // VFP FP exception flags architecture state.
384 bool inv_op_vfp_flag_; 387 bool inv_op_vfp_flag_;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 460
458 static inline void UnregisterCTryCatch() { 461 static inline void UnregisterCTryCatch() {
459 Simulator::current(Isolate::Current())->PopAddress(); 462 Simulator::current(Isolate::Current())->PopAddress();
460 } 463 }
461 }; 464 };
462 465
463 } } // namespace v8::internal 466 } } // namespace v8::internal
464 467
465 #endif // !defined(USE_SIMULATOR) 468 #endif // !defined(USE_SIMULATOR)
466 #endif // V8_ARM_SIMULATOR_ARM_H_ 469 #endif // V8_ARM_SIMULATOR_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/macro-assembler-arm.cc ('k') | src/arm/simulator-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698