diff options
| author | Marijn Haverbeke <marijnh@gmail.com> | 2011-04-07 22:05:45 +0200 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2011-04-07 15:15:30 -0700 |
| commit | 9a7576fe2cdd169313b5e25be6bf485407adb496 (patch) | |
| tree | 36f5c9a5baaae95be1fb3cdc9b5b76814b08e803 /src/rt/rust_kernel.cpp | |
| parent | 6dcf6218b1e0e70e60afe8d1a9f336adad060362 (diff) | |
| download | rust-9a7576fe2cdd169313b5e25be6bf485407adb496.tar.gz rust-9a7576fe2cdd169313b5e25be6bf485407adb496.zip | |
Move to macro-based logging checks in the C++ code
No functions should be called for log statements that turn out to be inactive.
Diffstat (limited to 'src/rt/rust_kernel.cpp')
| -rw-r--r-- | src/rt/rust_kernel.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/rt/rust_kernel.cpp b/src/rt/rust_kernel.cpp index df6b655a45b..9b8347bc1f8 100644 --- a/src/rt/rust_kernel.cpp +++ b/src/rt/rust_kernel.cpp @@ -1,5 +1,10 @@ #include "rust_internal.h" +#define KLOG(...) \ + if (_log.is_tracing(rust_log::KERN)) { \ + log(rust_log::KERN, __VA_ARGS__); \ + } else + rust_kernel::rust_kernel(rust_srv *srv) : _region(&srv->local_region), _log(srv, NULL), @@ -20,9 +25,8 @@ rust_kernel::create_domain(const rust_crate *crate, const char *name) { message_queue->associate(handle); domains.append(dom); message_queues.append(message_queue); - log(rust_log::KERN | rust_log::TASK, - "created domain: " PTR ", name: %s, index: %d, domains %d", - dom, name, dom->list_index, domains.length()); + KLOG("created domain: " PTR ", name: %s, index: %d, domains %d", + dom, name, dom->list_index, domains.length()); _kernel_lock.signal_all(); _kernel_lock.unlock(); return handle; @@ -31,8 +35,7 @@ rust_kernel::create_domain(const rust_crate *crate, const char *name) { void rust_kernel::destroy_domain(rust_dom *dom) { _kernel_lock.lock(); - log(rust_log::KERN, - "deleting domain: " PTR ", name: %s, index: %d, domains %d", + KLOG("deleting domain: " PTR ", name: %s, index: %d, domains %d", dom, dom->name, dom->list_index, domains.length()); domains.remove(dom); dom->message_queue->disassociate(); @@ -98,12 +101,12 @@ rust_kernel::join_all_domains() { _kernel_lock.wait(); } _kernel_lock.unlock(); - log(rust_log::KERN, "joined domains"); + KLOG("joined domains"); } void rust_kernel::log_all_domain_state() { - log(rust_log::KERN, "log_all_domain_state: %d domains", domains.length()); + KLOG("log_all_domain_state: %d domains", domains.length()); for (uint32_t i = 0; i < domains.length(); i++) { domains[i]->log_state(); } @@ -155,14 +158,14 @@ rust_kernel::start_kernel_loop() { void rust_kernel::run() { - log(rust_log::KERN, "started kernel loop"); + KLOG("started kernel loop"); start_kernel_loop(); - log(rust_log::KERN, "finished kernel loop"); + KLOG("finished kernel loop"); } void rust_kernel::terminate_kernel_loop() { - log(rust_log::KERN, "terminating kernel loop"); + KLOG("terminating kernel loop"); _interrupt_kernel_loop = true; signal_kernel_lock(); join(); @@ -181,13 +184,13 @@ rust_kernel::~rust_kernel() { // messages. pump_message_queues(); - log(rust_log::KERN, "freeing handles"); + KLOG("freeing handles"); free_handles(_task_handles); free_handles(_port_handles); free_handles(_dom_handles); - log(rust_log::KERN, "freeing queues"); + KLOG("freeing queues"); rust_message_queue *queue = NULL; while (message_queues.pop(&queue)) { |
