+
+void lwt_trace_i (const char *format, size_t value1, size_t value2) {
+ if (halt_)
+ return;
+ LOCALIZE_THREAD_LOCAL(tid_, int);
+ lwt_buffer_t *tb = lwt_buf_[tid_];
+ if (tb != NULL) {
+ unsigned int u, l;
+ __asm__ __volatile__("rdtsc" : "=a" (l), "=d" (u));
+ uint64_t timestamp = ((uint64_t)u << 32) | l;
+ lwt_record_t temp = { timestamp, format, value1, value2 };
+
+ tb->x[tb->head++ & LWT_BUFFER_MASK] = temp;
+ }
+}