Reviewers: William Hesse, Description: 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. Please review this at http://codereview.chromium.org/114062 Affected files: M test/cctest/test-log.cc Index: test/cctest/test-log.cc diff --git a/test/cctest/test-log.cc b/test/cctest/test-log.cc index 005be475ecab551e416cc20d6196a6fb5debbe77..f3f7efc710b99091c6e1e268acfc12ff09477c5f 100644 --- a/test/cctest/test-log.cc +++ b/test/cctest/test-log.cc @@ -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); --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
