about summary refs log tree commit diff
path: root/src/rt/memory_region.h
AgeCommit message (Collapse)AuthorLines
2013-10-26Rewrite boxed_region/memory_region in RustAlex Crichton-107/+0
This drops more of the old C++ runtime to rather be written in rust. A few features were lost along the way, but hopefully not too many. The main loss is that there are no longer backtraces associated with allocations (rust doesn't have a way of acquiring those just yet). Other than that though, I believe that the rest of the debugging utilities made their way over into rust. Closes #8704
2013-08-23rt: Memory regions are never synchronized nowBrian Anderson-3/+1
2013-07-17rt: Print alloc backtraces for bad release_alloc with RUSTRT_TRACK_ALLOCATIONSKeegan McAllister-0/+2
Probably the env var should be renamed from DETAILED_LEAKS but I'm leaving aside that breaking change for now.
2013-04-21rt: Don't make memory_region depend on rust_envBrian Anderson-2/+3
I am going to use memory_region and boxed_region as the local heap in the new scheduler, for now at least, and I don't have a rust_env available.
2013-02-14rm the unused calloc wrapper from memory_regionDaniel Micay-2/+1
it doesn't actually call calloc, so it's fairly pointless
2012-12-15WhitespaceBrian Anderson-1/+1
2012-12-15Made a bunch more classes non-copyableJesse Jones-0/+5
2012-12-10Add license boilerplate to more files.Graydon Hoare-0/+10
2012-06-21Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.Graydon Hoare-2/+2
2012-06-21Comments only: annotate FIXMEsTim Chevalier-1/+1
2012-04-03Refactor includes structure, getting rid of rust_internal.hJon Morton-0/+2
Many changes to code structure are included: - removed TIME_SLICE_IN_MS - removed sychronized_indexed_list - removed region_owned - kernel_owned move to kernel.h, task_owned moved to task.h - global configs moved to rust_globals.h - changed #pragma once to standard guard in rust_upcall.h - got rid of memory.h
2012-04-01rt: rust_env is a structBrian Anderson-1/+1
2012-04-01remove rust_srvJon Morton-3/+3
2012-03-31rt: Fix whitespaceBrian Anderson-1/+0
2012-03-29rt: Track backtraces of all allocations with RUSTRT_TRACK_ALLOCATIONS=3Brian Anderson-0/+5
2012-03-05rt: Remove virtual methods from memory_region, rust_srvBrian Anderson-1/+1
2012-02-01make boxes self-describing (fixes #1493)" (take 2)Niko Matsakis-4/+4
this will be used to generate a new snapshot.
2012-02-01Revert "make boxes self-describing (fixes #1493)" until a newNiko Matsakis-4/+4
snapshot is prepared.
2012-02-01make boxes self-describing (fixes #1493)Niko Matsakis-4/+4
2011-12-14export upcall_clone_type_descNiko Matsakis-1/+1
2011-12-12fix track alloc codeNiko Matsakis-1/+0
2011-11-08rewrite so that memory allocations have 0 overhead by defaultNiko Matsakis-2/+15
2011-11-08Correct the arithmetic on 64-bit builds.Niko Matsakis-1/+1
2011-09-11Remove hack_allow_leaksBrian Anderson-5/+0
Happy to close the loop on this one. Issue #236
2011-09-06rt: Implement poison-on-free, for debugging memory issuesPatrick Walton-1/+3
2011-08-15Fixed memory accounting and task stack creation bugs.Eric Holk-1/+4
2011-08-08rt: Align mallocs to 16 byte boundariesPatrick Walton-0/+1
2011-07-21Lots of work on memory tracking and channels.Eric Holk-7/+18
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.
2011-07-20Add a huge hack to allow the test runner to continue if a single task leaksBrian Anderson-0/+5
This is just until unwinding works. Adds a flag to the runtime to turn the memory leak checks on task destruction into warnings instead of fatal errors. I am so sorry. Issue #428
2011-07-13Fix compile-command lines in rt.Graydon Hoare-1/+1
2011-07-07Work on debugging race conditions.Eric Holk-0/+3
Ports and channels have been moved to the kernel pool, since they've been known to outlive their associated task. This probably isn't the right thing to do, the life cycle needs fixed instead. Some refactorying in memory_region.cpp. Added a helper function to increment and decrement the allocation counter. This makes it easier to switch between atomic and non-atomic increments. Using atomic increments for now, although this still does not fix the problem.
2011-07-07Removing the synchronized memory region from tasks.Eric Holk-3/+0
2011-06-27A little tidying in rt.Graydon Hoare-1/+1
2010-11-30Make the ugly detailed leak-spray on rustc failures optional.Graydon Hoare-0/+1
2010-09-08Tidy up the sync dir, remove dead or mis-designed code in favour of OS ↵Graydon Hoare-2/+13
primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin.
2010-09-07Added "new" inline operators to memory regions.Michael Bebenita-0/+8
2010-08-17Lots of changes around memory managment in the Runtime. Added memory regions ↵Michael Bebenita-0/+37
and fixed race caused by calling rust_srv::malloc() from multiple threads when sending messages.