diff options
| author | Eric Holk <eholk@mozilla.com> | 2011-07-18 12:02:26 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-07-21 11:51:22 -0700 |
| commit | 3ae4dcd41e72d197e3882835253745f79588b04a (patch) | |
| tree | 38b0fa41afe156057c8913f779fda2e4ca0b08ac /src/rt/rust_message.cpp | |
| parent | a44fb04d57400f70ad58c1e35fc9dd9a7c43de07 (diff) | |
| download | rust-3ae4dcd41e72d197e3882835253745f79588b04a.tar.gz rust-3ae4dcd41e72d197e3882835253745f79588b04a.zip | |
Lots of work on memory tracking and channels.
We're trying to get closer to doing correct move semantics for channel operations. This involves a lot of cleanup (such as removing the unused sched parameter from rust_vec constructor) and making circular_buffer kernel_owned. Added tagging for memory allocations. This means we give a string tag to everything we allocate. If we leak something and TRACK_ALLOCATIONS is enabled, then it's much easier now to tell exactly what is leaking.
Diffstat (limited to 'src/rt/rust_message.cpp')
| -rw-r--r-- | src/rt/rust_message.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rt/rust_message.cpp b/src/rt/rust_message.cpp index 85b6ed6b089..59645d6d5bd 100644 --- a/src/rt/rust_message.cpp +++ b/src/rt/rust_message.cpp @@ -47,7 +47,8 @@ send(notification_type type, const char* label, rust_handle<rust_task> *source, rust_handle<rust_task> *target) { memory_region *region = &target->message_queue->region; notify_message *message = - new (region) notify_message(region, type, label, source, target); + new (region, "notify_message") + notify_message(region, type, label, source, target); target->message_queue->enqueue(message); } @@ -91,8 +92,8 @@ send(uint8_t *buffer, size_t buffer_sz, const char* label, memory_region *region = &port->message_queue->region; data_message *message = - new (region) data_message(region, buffer, buffer_sz, label, source, - port); + new (region, "data_message") + data_message(region, buffer, buffer_sz, label, source, port); LOG(source->referent(), comm, "==> sending \"%s\"" PTR " in queue " PTR, label, message, &port->message_queue); port->message_queue->enqueue(message); |
