[Zion] Move to StrFormat for debug line.

This commit is contained in:
Drew Galbraith 2023-11-05 09:24:09 -08:00
parent 4af19d010f
commit 69aced2220
23 changed files with 142 additions and 89 deletions

View file

@ -21,6 +21,12 @@ void dbgcstr(const char* str) {
}
}
void dbg(const glcr::StringView& str) {
for (uint64_t i = 0; i < str.size(); i++) {
dbgputchar(str[i]);
}
}
void U64ToStr(uint64_t u, char* str) {
uint64_t len = 0;
uint64_t u2 = u;
@ -77,7 +83,7 @@ void MemToStr(uint64_t u, char* str) {
void AddProcPrefix() {
if (gScheduler != nullptr) {
auto t = gScheduler->CurrentThread();
dbg("[%u.%u] ", t->pid(), t->tid());
dbg(glcr::StrFormat("[{}.{}] ", t->pid(), t->tid()));
}
}
@ -134,6 +140,12 @@ void dbg_internal(const char* fmt, va_list args) {
void early_dbgln(const char* str) { dbgcstr(str); }
void dbgln(const glcr::StringView& str) {
AddProcPrefix();
dbg(str);
dbg("\n");
}
void dbg(const char* fmt, ...) {
va_list arg;
va_start(arg, fmt);

View file

@ -1,5 +1,6 @@
#pragma once
#include <glacier/string/str_format.h>
#include <stdarg.h>
#include "include/ztypes.h"
@ -8,10 +9,19 @@
// before allocations are available.
void early_dbgln(const char* str);
void dbg(const char* fmt, ...);
void dbgln(const char* str, ...);
void panic(const char* str, ...);
void dbgln(const glcr::StringView& str);
template <typename... Args>
void dbgln(const char* str, Args... args) {
dbgln(glcr::StrFormat(str, args...));
}
template <typename... Args>
void panic(const char* str, Args... args) {
dbgln(glcr::StrFormat(str, args...));
dbgln("PANIC");
}
#define UNREACHABLE \
panic("Unreachable %s, %s", __FILE__, __LINE__); \
panic("Unreachable {}, {}", __FILE__, __LINE__); \
__builtin_unreachable();