Index: src/arm64/simulator-arm64.cc |
diff --git a/src/arm64/simulator-arm64.cc b/src/arm64/simulator-arm64.cc |
index 41d20a5bba01fbc8e0741ca938a5a82aa978aed2..e97a0b4df8ef7f5d7b554d093b996a7ce8b136be 100644 |
--- a/src/arm64/simulator-arm64.cc |
+++ b/src/arm64/simulator-arm64.cc |
@@ -80,11 +80,11 @@ TEXT_COLOUR clr_printf = FLAG_log_colour ? COLOUR(GREEN) : ""; |
// This is basically the same as PrintF, with a guard for FLAG_trace_sim. |
-void PRINTF_CHECKING TraceSim(const char* format, ...) { |
+void Simulator::TraceSim(const char* format, ...) { |
if (FLAG_trace_sim) { |
va_list arguments; |
va_start(arguments, format); |
- OS::VPrint(format, arguments); |
+ OS::VFPrint(stream_, format, arguments); |
va_end(arguments); |
} |
} |
@@ -1001,7 +1001,8 @@ void Simulator::FPCompare(double val0, double val1) { |
void Simulator::SetBreakpoint(Instruction* location) { |
for (unsigned i = 0; i < breakpoints_.size(); i++) { |
if (breakpoints_.at(i).location == location) { |
- PrintF("Existing breakpoint at %p was %s\n", |
+ PrintF(stream_, |
+ "Existing breakpoint at %p was %s\n", |
reinterpret_cast<void*>(location), |
breakpoints_.at(i).enabled ? "disabled" : "enabled"); |
breakpoints_.at(i).enabled = !breakpoints_.at(i).enabled; |
@@ -1010,14 +1011,15 @@ void Simulator::SetBreakpoint(Instruction* location) { |
} |
Breakpoint new_breakpoint = {location, true}; |
breakpoints_.push_back(new_breakpoint); |
- PrintF("Set a breakpoint at %p\n", reinterpret_cast<void*>(location)); |
+ PrintF(stream_, |
+ "Set a breakpoint at %p\n", reinterpret_cast<void*>(location)); |
} |
void Simulator::ListBreakpoints() { |
- PrintF("Breakpoints:\n"); |
+ PrintF(stream_, "Breakpoints:\n"); |
for (unsigned i = 0; i < breakpoints_.size(); i++) { |
- PrintF("%p : %s\n", |
+ PrintF(stream_, "%p : %s\n", |
reinterpret_cast<void*>(breakpoints_.at(i).location), |
breakpoints_.at(i).enabled ? "enabled" : "disabled"); |
} |
@@ -1035,7 +1037,7 @@ void Simulator::CheckBreakpoints() { |
} |
} |
if (hit_a_breakpoint) { |
- PrintF("Hit and disabled a breakpoint at %p.\n", |
+ PrintF(stream_, "Hit and disabled a breakpoint at %p.\n", |
reinterpret_cast<void*>(pc_)); |
Debug(); |
} |
@@ -3181,12 +3183,12 @@ bool Simulator::GetValue(const char* desc, int64_t* value) { |
bool Simulator::PrintValue(const char* desc) { |
if (strcmp(desc, "csp") == 0) { |
ASSERT(CodeFromName(desc) == static_cast<int>(kSPRegInternalCode)); |
- PrintF("%s csp:%s 0x%016" PRIx64 "%s\n", |
+ PrintF(stream_, "%s csp:%s 0x%016" PRIx64 "%s\n", |
clr_reg_name, clr_reg_value, xreg(31, Reg31IsStackPointer), clr_normal); |
return true; |
} else if (strcmp(desc, "wcsp") == 0) { |
ASSERT(CodeFromName(desc) == static_cast<int>(kSPRegInternalCode)); |
- PrintF("%s wcsp:%s 0x%08" PRIx32 "%s\n", |
+ PrintF(stream_, "%s wcsp:%s 0x%08" PRIx32 "%s\n", |
clr_reg_name, clr_reg_value, wreg(31, Reg31IsStackPointer), clr_normal); |
return true; |
} |
@@ -3196,7 +3198,7 @@ bool Simulator::PrintValue(const char* desc) { |
if (i < 0 || static_cast<unsigned>(i) >= kNumberOfFPRegisters) return false; |
if (desc[0] == 'v') { |
- PrintF("%s %s:%s 0x%016" PRIx64 "%s (%s%s:%s %g%s %s:%s %g%s)\n", |
+ PrintF(stream_, "%s %s:%s 0x%016" PRIx64 "%s (%s%s:%s %g%s %s:%s %g%s)\n", |
clr_fpreg_name, VRegNameForCode(i), |
clr_fpreg_value, double_to_rawbits(dreg(i)), |
clr_normal, |
@@ -3207,25 +3209,25 @@ bool Simulator::PrintValue(const char* desc) { |
clr_normal); |
return true; |
} else if (desc[0] == 'd') { |
- PrintF("%s %s:%s %g%s\n", |
+ PrintF(stream_, "%s %s:%s %g%s\n", |
clr_fpreg_name, DRegNameForCode(i), |
clr_fpreg_value, dreg(i), |
clr_normal); |
return true; |
} else if (desc[0] == 's') { |
- PrintF("%s %s:%s %g%s\n", |
+ PrintF(stream_, "%s %s:%s %g%s\n", |
clr_fpreg_name, SRegNameForCode(i), |
clr_fpreg_value, sreg(i), |
clr_normal); |
return true; |
} else if (desc[0] == 'w') { |
- PrintF("%s %s:%s 0x%08" PRIx32 "%s\n", |
+ PrintF(stream_, "%s %s:%s 0x%08" PRIx32 "%s\n", |
clr_reg_name, WRegNameForCode(i), clr_reg_value, wreg(i), clr_normal); |
return true; |
} else { |
// X register names have a wide variety of starting characters, but anything |
// else will be an X register. |
- PrintF("%s %s:%s 0x%016" PRIx64 "%s\n", |
+ PrintF(stream_, "%s %s:%s 0x%016" PRIx64 "%s\n", |
clr_reg_name, XRegNameForCode(i), clr_reg_value, xreg(i), clr_normal); |
return true; |
} |
@@ -3544,14 +3546,16 @@ void Simulator::VisitException(Instruction* instr) { |
// terms of speed. |
if (FLAG_trace_sim_messages || FLAG_trace_sim || (parameters & BREAK)) { |
if (message != NULL) { |
- PrintF("%sDebugger hit %d: %s%s%s\n", |
+ PrintF(stream_, |
+ "%sDebugger hit %d: %s%s%s\n", |
clr_debug_number, |
code, |
clr_debug_message, |
message, |
clr_normal); |
} else { |
- PrintF("%sDebugger hit %d.%s\n", |
+ PrintF(stream_, |
+ "%sDebugger hit %d.%s\n", |
clr_debug_number, |
code, |
clr_normal); |