From 48b4679396b2fbb70c8214b625acb4673307f84e Mon Sep 17 00:00:00 2001 From: "mikhail.naganov@gmail.com" <mikhail.naganov@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00> Date: Fri, 29 May 2009 09:33:53 +0000 Subject: [PATCH] Use uint in ProfLazyMode test when measuring time delta. While testing ProfLazyMode stability I encountered a situation when the cycle supposed to run for 200 ms started to run "infinitely" because delta between two int64_t values became negative. Review URL: http://codereview.chromium.org/115918 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- test/cctest/test-log.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/test/cctest/test-log.cc b/test/cctest/test-log.cc index aca9492b0..005be475e 100644 --- a/test/cctest/test-log.cc +++ b/test/cctest/test-log.cc @@ -166,9 +166,11 @@ 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. - const int64_t started_us = i::OS::Ticks(); - while (i::OS::Ticks() - started_us < 200 * 1000) { + // 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) { CompileAndRunScript(script_src.start()); } -- 2.34.1