diff options
Diffstat (limited to 'JavaScriptCore/runtime/TimeoutChecker.cpp')
| -rw-r--r-- | JavaScriptCore/runtime/TimeoutChecker.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/JavaScriptCore/runtime/TimeoutChecker.cpp b/JavaScriptCore/runtime/TimeoutChecker.cpp index 250fdaf..04d904d 100644 --- a/JavaScriptCore/runtime/TimeoutChecker.cpp +++ b/JavaScriptCore/runtime/TimeoutChecker.cpp @@ -84,6 +84,13 @@ static inline unsigned getCPUTime() GetThreadTimes(GetCurrentThread(), &creationTime, &exitTime, &kernelTime.fileTime, &userTime.fileTime); return userTime.fileTimeAsLong / 10000 + kernelTime.fileTimeAsLong / 10000; +#elif OS(SYMBIAN) + RThread current; + TTimeIntervalMicroSeconds cpuTime; + + TInt err = current.GetCpuTime(cpuTime); + ASSERT_WITH_MESSAGE(err == KErrNone, "GetCpuTime failed with %d", err); + return cpuTime.Int64() / 1000; #elif PLATFORM(BREWMP) // This function returns a continuously and linearly increasing millisecond // timer from the time the device was powered on. @@ -91,7 +98,10 @@ static inline unsigned getCPUTime() return GETUPTIMEMS(); #else // FIXME: We should return the time the current thread has spent executing. - return currentTime() * 1000; + + // use a relative time from first call in order to avoid an overflow + static double firstTime = currentTime(); + return (currentTime() - firstTime) * 1000; #endif } |
