about summary refs log tree commit diff
path: root/src/rt/rust_kernel.h
AgeCommit message (Collapse)AuthorLines
2013-05-07rt: Move win32_require out of the rust_kernel typeBrian Anderson-4/+0
This is only used on rust_rng, which I am trying to extricate from the kernel.
2013-02-15rm unused hash table from the runtimeDaniel Micay-1/+0
2013-02-14auto merge of #4938 : thestinger/rust/no_zero, r=brsonbors-1/+0
I removed the unused wrappers methods named `calloc` because they relied on the malloc wrapper having a `bool zero = true` default parameter (which resulted in some accidental zeroing). Perhaps wrapping the actual calloc function would be useful, but I don't know of an existing use case that could use it so I just removed these. This gives an ~1% performance improvement for TreeMap, which does a lot of small allocations. Vectors use `realloc` which didn't zero before these changes so there's no measurable change in performance.
2013-02-14get rid of unused exchange_alloc calloc methodDaniel Micay-1/+0
this isn't actually calloc - it calls the malloc wrapper which no longer zeroes
2013-02-09Rename dec/inc_weak_task_count to inc/dec_live_count and remove ↵Zack Corr-4/+2
register_task/unregister_task. Closes #4768
2013-02-06Rewrite the exchange allocator to work without an active scheduler. #4457Brian Anderson-3/+4
2013-02-01rt: Remove portsBrian Anderson-17/+2
2013-01-25Merge remote-tracking branch 'brson/nocommupstream'Brian Anderson-14/+29
Conflicts: src/libcore/private.rs src/libcore/task/mod.rs src/libcore/task/spawn.rs src/libstd/net_tcp.rs src/libstd/uv_global_loop.rs src/libstd/uv_iotask.rs
2013-01-23Remove old comm-based weak task interfaceBrian Anderson-7/+0
2013-01-23std: Convert uv_global_loop to use pipesBrian Anderson-5/+0
2013-01-23core: Convert getenv/setenv to use a mutexBrian Anderson-3/+0
This much simpler implementation uses a global mutex and eliminates the kernel environment channel.
2013-01-23core: Add new weak task APIBrian Anderson-0/+2
2013-01-17Add a license check to tidy. #4018Brian Anderson-1/+0
2013-01-17core: Add private global data interface. #3915Brian Anderson-0/+1
2013-01-15Add at_exit function #4450Brian Anderson-0/+18
2013-01-15Spawn new tasks onto the primary scheduler by default. #3760Brian Anderson-1/+10
2012-12-10Add license boilerplate to more files.Graydon Hoare-0/+10
2012-07-20[1/4 for #2365, #2671] Fix create/kill race with schedulers and tasks during ↵Ben Blum-1/+5
rust_kernel::fail
2012-06-13Add a malloc_dyn upcall for dynamically sized allocations on the shared heap.Michael Sullivan-0/+11
2012-06-02rt: Improve docs for main, kernel, scheduler, and taskBrian Anderson-9/+35
2012-04-30core: Serialize all access to the environment using a weak global taskBrian Anderson-0/+3
2012-04-27rt: remove unneccesary c++ functions and rust_kernel data, re: global loopJeff Olson-3/+0
2012-04-20replace impl of globa_async_handle with one using atomic compare-and-swapJeff Olson-5/+3
2012-04-20don't use ::malloc for initializing the global_async_handle in rust_kernelJeff Olson-0/+1
2012-04-20rt: whitespace cleanup for existing libuv integrationJeff Olson-7/+7
2012-04-20add needed fields for global libuv loop + bindings to manage from rustJeff Olson-0/+9
adding two pointers fields to rust_kernel :( .. have to do manual malloc/free for one of the fields, which feels wrong
2012-04-07core: Add priv::weaken_taskBrian Anderson-0/+15
2012-04-03Merge remote-tracking branch 'brson/mainthread'Brian Anderson-1/+15
Conflicts: src/rt/rust_kernel.cpp src/rt/rust_scheduler.cpp src/rt/rust_scheduler.h
2012-04-03rt: Fix bugs in the osmain schedulerBrian Anderson-0/+2
2012-04-03rt: Futz with headers to satisfy FreeBSDBrian Anderson-1/+2
2012-04-03fix 'I don't know how C works'Jon Morton-0/+2
2012-04-03actually remove memory.h; include cleanupsJon Morton-7/+3
2012-04-03Refactor includes structure, getting rid of rust_internal.hJon Morton-0/+21
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-03core: Add a scheduler mode, osmain, to spawn onto the main schedulerBrian Anderson-0/+2
2012-04-02rt: Run a single-threaded scheduler on the main threadBrian Anderson-1/+11
2012-04-01remove rust_srvJon Morton-5/+1
2012-03-31rt: Introduce rust_sched_reaperBrian Anderson-1/+5
This just moves the responsibility for joining with scheduler threads off to a worker thread. This will be needed when we allow tasks to be scheduled on the main thread.
2012-03-15rt: Remove the kernel task tableBrian Anderson-6/+1
2012-03-15rt: Look up ports through a single port tableBrian Anderson-0/+10
Instead of a two-level lookup, just use one big table
2012-03-01rt: Remove rust_kernel::live_tasks. UnusedBrian Anderson-5/+1
2012-02-27rt: Don't zero new stacksBrian Anderson-0/+1
2012-02-27rt: Change the way the kernel exits to avoid pthread leaksBrian Anderson-5/+7
This makes the kernel join every scheduler thread before exiting in order to ensure that all threads are completely terminated before the process exits. On my machine, for 32-bit targets, this was causing regular valgrind errors.
2012-02-09fix build on freebsdJyun-Yan You-1/+1
2012-02-08rt: Hold schedulers in a mapBrian Anderson-3/+6
2012-02-08rt: Refactor the rust_kernel interface a bitBrian Anderson-4/+5
2012-02-08rt: Delete schedulers immediately upon releaseBrian Anderson-1/+0
This will be needed once we support dynamically changing schedulers.
2012-02-08rt: Change the scheme used for terminating the kernelBrian Anderson-0/+9
Instead of joining on the scheduler threads, instead keep a count of active schedulers. When there are no more schedulers raise a signal for the main thread to continue. This will be required once schedulers can be added and removed from the running kernel.
2012-02-04rt: Expand rust_kernel::live_tasks to a uintptr_tBrian Anderson-1/+1
2012-02-04rt: Stop using atomic ops on rust_kernel::live_tasksBrian Anderson-3/+4
These ops are all done within spitting distance of a suitable lock, so just protect it with the lock.
2012-02-03rt: Clean up the way the kernel tracks tasksBrian Anderson-6/+10