OLD | NEW |
1 // Copyright 2011 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 |
11 // with the distribution. | 11 // with the distribution. |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 | 269 |
270 // make sure to have a proper terminating character if reaching the limit | 270 // make sure to have a proper terminating character if reaching the limit |
271 cmd[COMMAND_SIZE] = 0; | 271 cmd[COMMAND_SIZE] = 0; |
272 arg1[ARG_SIZE] = 0; | 272 arg1[ARG_SIZE] = 0; |
273 arg2[ARG_SIZE] = 0; | 273 arg2[ARG_SIZE] = 0; |
274 | 274 |
275 // Undo all set breakpoints while running in the debugger shell. This will | 275 // Undo all set breakpoints while running in the debugger shell. This will |
276 // make them invisible to all commands. | 276 // make them invisible to all commands. |
277 UndoBreakpoints(); | 277 UndoBreakpoints(); |
278 | 278 |
279 while (!done) { | 279 while (!done && !sim_->has_bad_pc()) { |
280 if (last_pc != sim_->get_pc()) { | 280 if (last_pc != sim_->get_pc()) { |
281 disasm::NameConverter converter; | 281 disasm::NameConverter converter; |
282 disasm::Disassembler dasm(converter); | 282 disasm::Disassembler dasm(converter); |
283 // use a reasonably large buffer | 283 // use a reasonably large buffer |
284 v8::internal::EmbeddedVector<char, 256> buffer; | 284 v8::internal::EmbeddedVector<char, 256> buffer; |
285 dasm.InstructionDecode(buffer, | 285 dasm.InstructionDecode(buffer, |
286 reinterpret_cast<byte*>(sim_->get_pc())); | 286 reinterpret_cast<byte*>(sim_->get_pc())); |
287 PrintF(" 0x%08x %s\n", sim_->get_pc(), buffer.start()); | 287 PrintF(" 0x%08x %s\n", sim_->get_pc(), buffer.start()); |
288 last_pc = sim_->get_pc(); | 288 last_pc = sim_->get_pc(); |
289 } | 289 } |
(...skipping 3136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3426 uintptr_t address = *stack_slot; | 3426 uintptr_t address = *stack_slot; |
3427 set_register(sp, current_sp + sizeof(uintptr_t)); | 3427 set_register(sp, current_sp + sizeof(uintptr_t)); |
3428 return address; | 3428 return address; |
3429 } | 3429 } |
3430 | 3430 |
3431 } } // namespace v8::internal | 3431 } } // namespace v8::internal |
3432 | 3432 |
3433 #endif // USE_SIMULATOR | 3433 #endif // USE_SIMULATOR |
3434 | 3434 |
3435 #endif // V8_TARGET_ARCH_ARM | 3435 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |