about summary refs log tree commit diff
path: root/src/rt/rust_kernel.cpp
AgeCommit message (Collapse)AuthorLines
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-322/+0
2013-07-22std: Remove at_exit API. UnusedBrian Anderson-47/+0
2013-07-22std: Remove unstable::global. UnusedBrian Anderson-2/+1
2013-06-30simplify the exchange allocatorDaniel Micay-1/+0
* stop using an atomic counter, this has a significant cost and valgrind will already catch these leaks * remove the extra layer of function calls * remove the assert of non-null in free, freeing null is well defined but throwing a failure from free will not be * stop initializing the `prev`/`next` pointers * abort on out-of-memory, failing won't necessarily work
2013-06-06Deduplicate words in code commentsAlexei Sholik-1/+1
2013-05-07rt: Move win32_require out of the rust_kernel typeBrian Anderson-19/+0
This is only used on rust_rng, which I am trying to extricate from the kernel.
2013-02-28rt: Comment out an assert in rust_kernel. #4711Brian Anderson-2/+5
2013-02-14auto merge of #4938 : thestinger/rust/no_zero, r=brsonbors-5/+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-5/+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-27/+10
register_task/unregister_task. Closes #4768
2013-02-06Rewrite the exchange allocator to work without an active scheduler. #4457Brian Anderson-5/+5
2013-02-01rt: Remove portsBrian Anderson-58/+0
2013-01-23Remove old comm-based weak task interfaceBrian Anderson-42/+0
2013-01-23std: Convert uv_global_loop to use pipesBrian Anderson-1/+0
2013-01-23core: Convert getenv/setenv to use a mutexBrian Anderson-1/+0
This much simpler implementation uses a global mutex and eliminates the kernel environment channel.
2013-01-23core: Add new weak task APIBrian Anderson-7/+17
2013-01-17core: Add private global data interface. #3915Brian Anderson-2/+2
2013-01-15Add at_exit function #4450Brian Anderson-0/+44
2013-01-15Spawn new tasks onto the primary scheduler by default. #3760Brian Anderson-17/+74
2012-12-10Add license boilerplate to more files.Graydon Hoare-0/+10
2012-09-19core: Allocate threads on demand, not on scheduler startupPhilipp Brüschweiler-5/+7
API change: rust_kernel::create_scheduler() or rust_scheduler::rust_scheduler() respecitevly now take ownership of the launch factory argument, it is needed to create new threads on demand. Also renames rustrt::sched_threads() to rustrt::rust_sched_threads() for consistency. Added rustrt::rust_max_sched_threads() to return the maximal number of scheduled threads of the current scheduler. Fixes #3493.
2012-07-20[4/4 for #2365, #2671] Reassign one last fixme to #908. Close #2365. Close ↵Ben Blum-1/+1
#2671.
2012-07-20[3/4 for #2365, #2671] Fix exit/kill race with scheds during rust_kernel::failBen Blum-8/+7
2012-07-20[1/4 for #2365, #2671] Fix create/kill race with schedulers and tasks during ↵Ben Blum-4/+8
rust_kernel::fail
2012-07-13Add asserts to check fail_sched_loop() only onceBen Blum-1/+1
2012-06-28Cleanup failure handling around rust_new_task_in_sched - closes #2668Ben Blum-1/+3
2012-06-21Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this.Graydon Hoare-12/+11
2012-06-21Comments only: annotate FIXMEsTim Chevalier-1/+1
2012-06-13Add a malloc_dyn upcall for dynamically sized allocations on the shared heap.Michael Sullivan-0/+5
2012-05-07rt: Start tasks, ports and scheds at 1, assert when we see 0. Closes #2321Brian Anderson-3/+5
2012-04-30core: Serialize all access to the environment using a weak global taskBrian Anderson-3/+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-4/+3
2012-04-20don't use ::malloc for initializing the global_async_handle in rust_kernelJeff Olson-2/+3
2012-04-20clean and trying the global loop test as two separate loop lifetimes..Jeff Olson-2/+2
.. seeing an occasional valgrind/barf spew on some invalid read/writes.. need to investigate further.. i think its related to my poor citizen conduct, re: pointers stashed in rust_kernel..
2012-04-20add needed fields for global libuv loop + bindings to manage from rustJeff Olson-0/+7
adding two pointers fields to rust_kernel :( .. have to do manual malloc/free for one of the fields, which feels wrong
2012-04-20rt: Delete some incorrect commentsBrian Anderson-3/+0
2012-04-20rt: Take the weak_task_lock in end_weak_tasksBrian Anderson-1/+1
Don't remember why it's commented out. Probably an oversight.
2012-04-07core: Add priv::weaken_taskBrian Anderson-1/+80
2012-04-03Merge remote-tracking branch 'brson/mainthread'Brian Anderson-9/+47
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-6/+11
2012-04-03rt: Fix bugs in the osmain schedulerBrian Anderson-1/+13
2012-04-03rt: Futz with headers to satisfy FreeBSDBrian Anderson-2/+0
2012-04-03fix 'I don't know how C works'Jon Morton-1/+2
2012-04-03Refactor includes structure, getting rid of rust_internal.hJon Morton-1/+4
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-02rt: Run a single-threaded scheduler on the main threadBrian Anderson-9/+30
2012-04-02rt: cleanup passing around of rust_envJon Morton-1/+1
2012-04-01remove rust_srvJon Morton-6/+5
2012-04-01replace assertion macros with plain assertsJon Morton-6/+6
2012-04-01rt: Allow some schedulers to stay alive even without tasks to executeBrian Anderson-1/+1