about summary refs log tree commit diff
path: root/src/rt/memory_region.cpp
AgeCommit message (Collapse)AuthorLines
2013-04-21rt: Don't make memory_region depend on rust_envBrian Anderson-6/+9
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-10/+3
it doesn't actually call calloc, so it's fairly pointless
2012-12-15rt: Do some casting to avoid warningsBrian Anderson-2/+2
2012-12-15Long linesBrian Anderson-2/+8
2012-12-15Check for oom in a few more placesJesse Jones-0/+8
2012-12-10Add license boilerplate to more files.Graydon Hoare-0/+10
2012-04-03Refactor includes structure, getting rid of rust_internal.hJon Morton-1/+3
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-01remove rust_srvJon Morton-8/+8
2012-04-01replace assertion macros with plain assertsJon Morton-5/+5
2012-03-29rt: Track backtraces of all allocations with RUSTRT_TRACK_ALLOCATIONS=3Brian Anderson-0/+17
2012-03-02rt: Move RUST_POISON_ON_FREE into rust_envBrian Anderson-7/+1
2012-02-17rt: Don't take the lock when reallocing in the kernel memory regionBrian Anderson-2/+2
2011-12-12fix track alloc codeNiko Matsakis-5/+9
2011-11-08rewrite so that memory allocations have 0 overhead by defaultNiko Matsakis-23/+44
2011-11-08Correct the arithmetic on 64-bit builds.Niko Matsakis-8/+18
2011-09-11Remove hack_allow_leaksBrian Anderson-8/+3
Happy to close the loop on this one. Issue #236
2011-09-06rt: Implement poison-on-free, for debugging memory issuesPatrick Walton-0/+20
2011-09-01Reduce the amount of locking in the kernel's memory regionBrian Anderson-4/+4
The only thing here that really needs locking on malloc and free is access to the allocation list, which is only used for TRACK_ALLOCATIONS. Improves bench/task-perf-vector-party by 70%.
2011-08-16Disabling TRACK_ALLOCATIONSEric Holk-2/+2
2011-08-16Removed trans_comm.rs from the compiler. Updating aio/sio to work with the ↵Eric Holk-1/+1
new chan and port system, started on a networking module for the standard library.
2011-08-15Properly ref counting to fix valgrind issues on linux.Eric Holk-1/+1
2011-08-15Removed spawn and task from the parser. Updated all the tests except for the ↵Eric Holk-1/+1
benchmarks.
2011-08-15Fixed memory accounting and task stack creation bugs.Eric Holk-29/+48
2011-08-15Working on more spawn test cases.Eric Holk-1/+1
2011-08-08Disabling TRACK_ALLOCATIONSEric Holk-1/+1
2011-08-08Introduced task handles.unknown-1/+1
This is the new way to refer to tasks in rust-land. Currently all they do is serve as a key to look up the old rust_task structure. Ideally they won't be ref counted, but baby steps.
2011-08-05Atomic ref counting for chans.Eric Holk-1/+1
2011-08-05Log tags in memory_region::{free,realloc}Rob Arnold-4/+4
Make this useful and consistent with the destructor.
2011-07-29Merge pull request #781 from robarnold/upstream-stablerobarnold-2/+4
More useful leak debugging output.
2011-07-28Turn off TRACK_ALLOCATIONSBrian Anderson-1/+1
2011-07-28When using the allow leaks hack don't even print a warning about the leakBrian Anderson-3/+0
This is only used for the test runner and in that case it just makes the test output confusing
2011-07-28Do all runtime calls to getenv at initializationBrian Anderson-1/+1
getenv is not threadsafe and (maybe as a result) it's randomly crashing with CFLAGS=-g and RUST_THREADS=32. Calls from rust code are still on their own.
2011-07-28Atomic reference counting for tasks.Eric Holk-1/+1
2011-07-28More useful leak debugging output.Rob Arnold-2/+4
When printing out leaked allocations, print the allocation tag and address of the returned pointer.
2011-07-22Fixing a use of uninitialized memory error in valgrind.Eric Holk-2/+2
2011-07-21Improving move semantics for channel operations.Eric Holk-1/+1
This lets us un-XFAIL task-comm-10.rs.
2011-07-21Lots of work on memory tracking and channels.Eric Holk-55/+39
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-1/+12
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-13Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.Graydon Hoare-3/+3
2011-07-13Remove 'Nop.' comments, add emacs lines, remove obsolete file.Graydon Hoare-1/+0
2011-07-13Fix compile-command lines in rt.Graydon Hoare-1/+1
2011-07-07Made TRACK_ALLOCATIONS add only constant time overhead. This makes itEric Holk-5/+48
feasible to turn it on and run rustc.
2011-07-07Work on debugging race conditions.Eric Holk-6/+17
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-06-16rt: memory_region::free(NULL) shouldn't touch the live allocation countPatrick Walton-0/+1
2011-03-02Comment-out TRACK_ALLOCATIONS again. Leave a note about it.Graydon Hoare-1/+4
2011-03-02Parse parameter types for fmt extensionBrian Anderson-1/+1
2011-02-14Disable TRACK_ALLOCATIONS by default, it's a bit heavy-handed.Graydon Hoare-1/+1
2010-11-30Make the ugly detailed leak-spray on rustc failures optional.Graydon Hoare-7/+21
2010-09-07Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita-5/+2
domains can only talk to other domains via handles, and with the help of the rust_kernel.
2010-08-17Lots of changes around memory managment in the Runtime. Added memory regions ↵Michael Bebenita-0/+100
and fixed race caused by calling rust_srv::malloc() from multiple threads when sending messages.