Fix wait interval calculation in ProfLazyMode test.

Also, add a small delay to be sure that all ticks are logged prior to leaving CheckThatProfilerWorks function.

Review URL: http://codereview.chromium.org/114062


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 1bb3976a
......@@ -166,17 +166,19 @@ static int CheckThatProfilerWorks(int log_pos) {
"for (var i = 0; i < 1000; ++i) { "
"(function(x) { return %d * x; })(i); }",
log_pos);
// Run code for 200 msecs to get some ticks. Use uint to always have
// non-negative delta.
const uint64_t started_us = i::OS::Ticks();
uint64_t delta;
while ((delta = i::OS::Ticks() - started_us) < 200 * 1000) {
// Run code for 200 msecs to get some ticks.
const double end_time = i::OS::TimeCurrentMillis() + 200;
while (i::OS::TimeCurrentMillis() < end_time) {
CompileAndRunScript(script_src.start());
}
Logger::PauseProfiler();
CHECK(!LoggerTestHelper::IsSamplerActive());
// Wait 50 msecs to allow Profiler thread to process the last
// tick sample it has got.
i::OS::Sleep(50);
// Now we must have compiler and tick records.
int log_size = GetLogLines(log_pos, &buffer);
printf("log_size: %d\n", log_size);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment