| Index: src/arm/simulator-arm.cc
|
| ===================================================================
|
| --- src/arm/simulator-arm.cc (revision 6437)
|
| +++ src/arm/simulator-arm.cc (working copy)
|
| @@ -153,7 +153,12 @@
|
| if (sim_->isWatchedStop(code) && !sim_->watched_stops[code].desc) {
|
| sim_->watched_stops[code].desc = msg;
|
| }
|
| - PrintF("Simulator hit %s\n", msg);
|
| + // Print the stop message and code if it is not the default code.
|
| + if (code != kMaxStopCode) {
|
| + PrintF("Simulator hit stop %u: %s\n", code, msg);
|
| + } else {
|
| + PrintF("Simulator hit %s\n", msg);
|
| + }
|
| sim_->set_pc(sim_->get_pc() + 2 * Instr::kInstrSize);
|
| Debug();
|
| }
|
| @@ -450,7 +455,7 @@
|
| PrintF("DIV BY ZERO flag: %d; ", sim_->div_zero_vfp_flag_);
|
| PrintF("OVERFLOW flag: %d; ", sim_->overflow_vfp_flag_);
|
| PrintF("UNDERFLOW flag: %d; ", sim_->underflow_vfp_flag_);
|
| - PrintF("INEXACT flag: %d; ", sim_->inexact_vfp_flag_);
|
| + PrintF("INEXACT flag: %d;\n", sim_->inexact_vfp_flag_);
|
| } else if (strcmp(cmd, "stop") == 0) {
|
| int32_t value;
|
| intptr_t stop_pc = sim_->get_pc() - 2 * Instr::kInstrSize;
|
| @@ -2902,6 +2907,10 @@
|
| break;
|
| }
|
| }
|
| + // If the instruction is a non taken conditional stop, we need to skip the
|
| + // inlined message address.
|
| + } else if (instr->IsStop()) {
|
| + set_pc(get_pc() + 2 * Instr::kInstrSize);
|
| }
|
| if (!pc_modified_) {
|
| set_register(pc, reinterpret_cast<int32_t>(instr) + Instr::kInstrSize);
|
|
|