diff options
Diffstat (limited to 'deps/v8/src/base/platform/platform-fuchsia.cc')
-rw-r--r-- | deps/v8/src/base/platform/platform-fuchsia.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/deps/v8/src/base/platform/platform-fuchsia.cc b/deps/v8/src/base/platform/platform-fuchsia.cc index 38a7070e85..bba3f1baba 100644 --- a/deps/v8/src/base/platform/platform-fuchsia.cc +++ b/deps/v8/src/base/platform/platform-fuchsia.cc @@ -131,5 +131,21 @@ void OS::SignalCodeMovingGC() { UNREACHABLE(); // TODO(scottmg): Port, https://crbug.com/731217. } +int OS::GetUserTime(uint32_t* secs, uint32_t* usecs) { + const auto kNanosPerMicrosecond = 1000ULL; + const auto kMicrosPerSecond = 1000000ULL; + const zx_time_t nanos_since_thread_started = zx_clock_get(ZX_CLOCK_THREAD); + + // First convert to microseconds, rounding up. + const uint64_t micros_since_thread_started = + (nanos_since_thread_started + kNanosPerMicrosecond - 1ULL) / + kNanosPerMicrosecond; + + *secs = static_cast<uint32_t>(micros_since_thread_started / kMicrosPerSecond); + *usecs = + static_cast<uint32_t>(micros_since_thread_started % kMicrosPerSecond); + return 0; +} + } // namespace base } // namespace v8 |