summaryrefslogtreecommitdiff
path: root/deps/v8/src/base/platform/platform-fuchsia.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/base/platform/platform-fuchsia.cc')
-rw-r--r--deps/v8/src/base/platform/platform-fuchsia.cc16
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