OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 // generated RegExp code with 7 parameters. This is a convenience function, | 214 // generated RegExp code with 7 parameters. This is a convenience function, |
215 // which sets up the simulator state and grabs the result on return. | 215 // which sets up the simulator state and grabs the result on return. |
216 int32_t Call(byte* entry, int argument_count, ...); | 216 int32_t Call(byte* entry, int argument_count, ...); |
217 | 217 |
218 // Push an address onto the JS stack. | 218 // Push an address onto the JS stack. |
219 uintptr_t PushAddress(uintptr_t address); | 219 uintptr_t PushAddress(uintptr_t address); |
220 | 220 |
221 // Pop an address from the JS stack. | 221 // Pop an address from the JS stack. |
222 uintptr_t PopAddress(); | 222 uintptr_t PopAddress(); |
223 | 223 |
| 224 // Debugger input. |
| 225 void set_last_debugger_input(char* input); |
| 226 char* last_debugger_input() { return last_debugger_input_; } |
| 227 |
224 // ICache checking. | 228 // ICache checking. |
225 static void FlushICache(v8::internal::HashMap* i_cache, void* start, | 229 static void FlushICache(v8::internal::HashMap* i_cache, void* start, |
226 size_t size); | 230 size_t size); |
227 | 231 |
228 // Returns true if pc register contains one of the 'special_values' defined | 232 // Returns true if pc register contains one of the 'special_values' defined |
229 // below (bad_ra, end_sim_pc). | 233 // below (bad_ra, end_sim_pc). |
230 bool has_bad_pc() const; | 234 bool has_bad_pc() const; |
231 | 235 |
232 private: | 236 private: |
233 enum special_values { | 237 enum special_values { |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 uint32_t FCSR_; | 355 uint32_t FCSR_; |
352 | 356 |
353 // Simulator support. | 357 // Simulator support. |
354 // Allocate 1MB for stack. | 358 // Allocate 1MB for stack. |
355 static const size_t stack_size_ = 1 * 1024*1024; | 359 static const size_t stack_size_ = 1 * 1024*1024; |
356 char* stack_; | 360 char* stack_; |
357 bool pc_modified_; | 361 bool pc_modified_; |
358 int icount_; | 362 int icount_; |
359 int break_count_; | 363 int break_count_; |
360 | 364 |
| 365 // Debugger input. |
| 366 char* last_debugger_input_; |
| 367 |
361 // Icache simulation. | 368 // Icache simulation. |
362 v8::internal::HashMap* i_cache_; | 369 v8::internal::HashMap* i_cache_; |
363 | 370 |
364 v8::internal::Isolate* isolate_; | 371 v8::internal::Isolate* isolate_; |
365 | 372 |
366 // Registered breakpoints. | 373 // Registered breakpoints. |
367 Instruction* break_pc_; | 374 Instruction* break_pc_; |
368 Instr break_instr_; | 375 Instr break_instr_; |
369 | 376 |
370 // Stop is disabled if bit 31 is set. | 377 // Stop is disabled if bit 31 is set. |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 | 423 |
417 static inline void UnregisterCTryCatch() { | 424 static inline void UnregisterCTryCatch() { |
418 Simulator::current(Isolate::Current())->PopAddress(); | 425 Simulator::current(Isolate::Current())->PopAddress(); |
419 } | 426 } |
420 }; | 427 }; |
421 | 428 |
422 } } // namespace v8::internal | 429 } } // namespace v8::internal |
423 | 430 |
424 #endif // !defined(USE_SIMULATOR) | 431 #endif // !defined(USE_SIMULATOR) |
425 #endif // V8_MIPS_SIMULATOR_MIPS_H_ | 432 #endif // V8_MIPS_SIMULATOR_MIPS_H_ |
OLD | NEW |