From 88574c3cea87bc8f789883bcd518b8a91fb1a776 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Fri, 15 Jul 2011 18:37:57 -0700 Subject: rustc: Implement interior string logging in DPS --- src/rt/rust_upcall.cpp | 10 ++++++++++ src/rt/rustrt.def.in | 1 + 2 files changed, 11 insertions(+) (limited to 'src/rt') diff --git a/src/rt/rust_upcall.cpp b/src/rt/rust_upcall.cpp index b6b8fb28668..d734625fa30 100644 --- a/src/rt/rust_upcall.cpp +++ b/src/rt/rust_upcall.cpp @@ -75,6 +75,16 @@ upcall_log_str(rust_task *task, uint32_t level, rust_str *str) { } } +extern "C" CDECL void +upcall_log_istr(rust_task *task, uint32_t level, rust_ivec *str) { + LOG_UPCALL_ENTRY(task); + if (task->sched->log_lvl < level) + return; + const char *buf = (const char *) + (str->fill ? str->payload.data : str->payload.ptr->data); + task->sched->log(task, level, "rust: %s", buf); +} + extern "C" CDECL void upcall_trace_word(rust_task *task, uintptr_t i) { LOG_UPCALL_ENTRY(task); diff --git a/src/rt/rustrt.def.in b/src/rt/rustrt.def.in index dc94c73d813..f762f4a9be3 100644 --- a/src/rt/rustrt.def.in +++ b/src/rt/rustrt.def.in @@ -68,6 +68,7 @@ upcall_kill upcall_log_double upcall_log_float upcall_log_int +upcall_log_istr upcall_log_str upcall_malloc upcall_mark -- cgit 1.4.1-3-g733a5