static ERTS_INLINE Sint64 get_birth_time(void) { #ifdef ERTS_HAVE_OS_MONOTONIC_TIME_SUPPORT return (Sint64) erts_os_monotonic_time(); #else return (Sint64) erts_atomic64_inc_read_nob(&birth_time_counter); #endif }
void erts_raw_get_unique_integer(Uint64 val[ERTS_UNIQUE_INT_RAW_VALUES]) { ErtsSchedulerData *esdp = erts_get_scheduler_data(); if (esdp) { val[0] = (Uint64) esdp->thr_id; val[1] = esdp->unique++; } else { val[0] = (Uint64) 0; val[1] = (Uint64) erts_atomic64_inc_read_nob(&unique_data.w.val1); } }