2
0

tsc_darwin.odin 377 B

1234567891011121314151617
  1. #+private
  2. package time
  3. import "base:intrinsics"
  4. @require import "core:sys/unix"
  5. _get_tsc_frequency :: proc "contextless" () -> (freq: u64, ok: bool) {
  6. when ODIN_ARCH == .amd64 {
  7. unix.sysctlbyname("machdep.tsc.frequency", &freq) or_return
  8. } else when ODIN_ARCH == .arm64 {
  9. freq = u64(intrinsics.read_cycle_counter_frequency())
  10. } else {
  11. return
  12. }
  13. ok = true
  14. return
  15. }