Revision: 4521
Author: [email protected]
Date: Wed Apr 28 00:15:34 2010
Log: Put the icache checks in the ARM simulator behind a flag,
off by default, to speed up debug mode.
Review URL: http://codereview.chromium.org/1787006
http://code.google.com/p/v8/source/detail?r=4521
Modified:
/branches/bleeding_edge/src/arm/simulator-arm.cc
/branches/bleeding_edge/src/flag-definitions.h
=======================================
--- /branches/bleeding_edge/src/arm/simulator-arm.cc Thu Apr 22 05:41:10
2010
+++ /branches/bleeding_edge/src/arm/simulator-arm.cc Wed Apr 28 00:15:34
2010
@@ -541,7 +541,6 @@
void Simulator::CheckICache(Instr* instr) {
-#ifdef DEBUG
intptr_t address = reinterpret_cast<intptr_t>(instr);
void* page = reinterpret_cast<void*>(address & (~CachePage::kPageMask));
void* line = reinterpret_cast<void*>(address & (~CachePage::kLineMask));
@@ -560,7 +559,6 @@
memcpy(cached_line, line, CachePage::kLineLength);
*cache_valid_byte = CachePage::LINE_VALID;
}
-#endif
}
@@ -2441,7 +2439,9 @@
// Executes the current instruction.
void Simulator::InstructionDecode(Instr* instr) {
- CheckICache(instr);
+ if (v8::internal::FLAG_check_icache) {
+ CheckICache(instr);
+ }
pc_modified_ = false;
if (::v8::internal::FLAG_trace_sim) {
disasm::NameConverter converter;
=======================================
--- /branches/bleeding_edge/src/flag-definitions.h Thu Apr 15 02:34:47 2010
+++ /branches/bleeding_edge/src/flag-definitions.h Wed Apr 28 00:15:34 2010
@@ -232,6 +232,7 @@
// simulator-arm.cc and simulator-mips.cc
DEFINE_bool(trace_sim, false, "Trace simulator execution")
+DEFINE_bool(check_icache, false, "Check icache flushes in ARM simulator")
DEFINE_int(stop_sim_at, 0, "Simulator stop after x number of instructions")
DEFINE_int(sim_stack_alignment, 8,
"Stack alingment in bytes in simulator (4 or 8, 8 is default)")
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev