about summary refs log tree commit diff
path: root/src/rt/rust_task.h
AgeCommit message (Collapse)AuthorLines
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-681/+0
2013-06-26rt: Release big stacks immediately after use to avoid holding on to them ↵Brian Anderson-4/+15
through yields This avoids the following pathological scenario that makes threadring OOM: 1) task calls C using fast_ffi, borrowing a big stack from the scheduler. 2) task returns from C and places the big stack on the task-local stack segment list 3) task calls further Rust functions that require growing the stack, and for this reuses the big stack 4) task yields, failing to return the big stack to the scheduler. 5) repeat 500+ times and OOM Conflicts: src/rt/rust_task.cpp
2013-06-06Deduplicate words in code commentsAlexei Sholik-1/+1
2013-05-17auto merge of #6249 : crabtw/rust/arm, r=brsonbors-0/+3
It uses the private field of TCB head to store stack limit. I tested on my Raspberry PI. A simple hello world program ran without any problem. However, for a more complex program, it segfaulted as #6231.
2013-05-09improve MIPS backend and implement segmented stacksJyun-Yan You-1/+1
2013-05-07preliminary Linux ARM supportJyun-Yan You-0/+3
2013-05-05Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freezeNiko Matsakis-0/+4
Conflicts: src/libcore/core.rc src/libcore/hashmap.rs src/libcore/num/f32.rs src/libcore/num/f64.rs src/libcore/num/float.rs src/libcore/num/int-template.rs src/libcore/num/num.rs src/libcore/num/strconv.rs src/libcore/num/uint-template.rs src/libcore/ops.rs src/libcore/os.rs src/libcore/prelude.rs src/libcore/rt/mod.rs src/libcore/unstable/lang.rs src/librustc/driver/session.rs src/librustc/middle/astencode.rs src/librustc/middle/borrowck/check_loans.rs src/librustc/middle/borrowck/gather_loans.rs src/librustc/middle/borrowck/loan.rs src/librustc/middle/borrowck/preserve.rs src/librustc/middle/liveness.rs src/librustc/middle/mem_categorization.rs src/librustc/middle/region.rs src/librustc/middle/trans/base.rs src/librustc/middle/trans/inline.rs src/librustc/middle/trans/reachable.rs src/librustc/middle/typeck/check/_match.rs src/librustc/middle/typeck/check/regionck.rs src/librustc/util/ppaux.rs src/libstd/arena.rs src/libstd/ebml.rs src/libstd/json.rs src/libstd/serialize.rs src/libstd/std.rc src/libsyntax/ast_map.rs src/libsyntax/parse/parser.rs src/test/compile-fail/borrowck-uniq-via-box.rs src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs src/test/run-pass/borrowck-nested-calls.rs
2013-05-02Add error if RED_ZONE_SIZE doesn't get definedJames Miller-0/+4
2013-05-01add an option to debug borrows (RUST_DEBUG_BORROW) so you canNiko Matsakis-0/+5
find out where the offending borrow occurred. This ... still needs some work.
2013-04-23Remove a stray new operator in rust_task.hAlex Crichton-6/+0
2013-04-21auto merge of #5887 : jdm/rust/stackbounds, r=brsonbors-0/+1
This is needed to allow GC to work in SpiderMonkey.
2013-04-21rt: Make the C stack segment accessible to runtime users.Josh Matthews-0/+1
2013-04-19rt: Remove dump_stacksPatrick Walton-2/+0
2013-04-19rt: Fix scalability problem with big stacks on 32 bitPatrick Walton-0/+14
2013-03-17rt: Inline get_sp_limit/set_sp_limit/get_sp for x86_64.Luqman Aden-12/+1
2013-03-03rt: MIPS32 supportJyun-Yan You-0/+3
2013-02-13rt: get rid of rust_fn and replace with fn_env_pair plus a little cleanup.Luqman Aden-2/+0
2013-02-06rt: Add rust_try_get_current_taskBrian Anderson-2/+8
2013-02-01rt: Remove get_frame_glue_fns. UnusedBrian Anderson-2/+0
2013-02-01rt: Remove portsBrian Anderson-15/+0
2013-01-13Support ARM and Androidkyeongwoon-0/+3
Conflicts: src/libcore/os.rs src/librustc/back/link.rs src/librustc/driver/driver.rs src/librustc/metadata/loader.rs src/librustc/middle/trans/base.rs
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-09-25rt: Remove the cycle collectorPatrick Walton-2/+0
2012-09-05rt: Make the boxed region come earlier in the rust_task structure.Patrick Walton-1/+1
This is so that GC can find it more easily.
2012-08-24Document task shutdown protocol and justify its concurrency safety. Close ↵Ben Blum-7/+76
#2696. Close bblum's internship.
2012-08-24Avoid lifecycle_lock traffic in call_on_rust_stack. (close #3270)Ben Blum-10/+6
2012-08-01Linked failure: enable unidirectional propagate test; replace FIXMEs with ↵Ben Blum-2/+2
comments (tag #1868).
2012-07-25minor rt cleanupBen Blum-1/+1
2012-07-25Remove notification channels in runtime (closes #1078)Ben Blum-6/+0
2012-07-24Change yield() and wait_event() to be MUST_CHECK and return the killed flag. ↵Ben Blum-2/+4
(closes #2875)
2012-07-24tiny runtime cleanupBen Blum-1/+0
2012-07-24Add 'do atomically { .. }' for exclusivesBen Blum-0/+3
2012-07-20[3/4 for #2365, #2671] Fix exit/kill race with scheds during rust_kernel::failBen Blum-2/+0
2012-07-20[1/4 for #2365, #2671] Fix create/kill race with schedulers and tasks during ↵Ben Blum-0/+1
rust_kernel::fail
2012-07-17Tasks should not hold a ref to their parent (Close #1789)Ben Blum-7/+2
2012-07-13Oops, switch more TODOs to FIXMEsBen Blum-1/+1
2012-07-13Reintroduce linked failure (killing runtime)Ben Blum-0/+4
This reverts commit 5724c6454950617c292daba89cdb9a3b4c862430.
2012-07-13Reintroduce linked failure (rust_port locking)Ben Blum-2/+4
This reverts commit a10f52c5793b358a16e3e98db4b16c65ba8e254b.
2012-07-13Reintroduce linked failure (renaming runtime fns)Ben Blum-4/+4
This reverts commit 3b159c6d5ba48643e8982e7cadbc1745e9f29f62.
2012-07-13Reintroduce linked failure (lifecycle lock)Ben Blum-9/+7
This reverts commit 08c40c5eb7bda79850f725308b72c1451fb67a86.
2012-07-13Reintroduce linked failureBen Blum-2/+0
This reverts commit acb86921a62ba01726fd922f55d0176fa6c1df7c.
2012-07-12Revert linked failureBen Blum-0/+2
This reverts commit 5d6d3d056592cf4d68afbce6084245ea6733865c.
2012-07-12Revert linked failure (lifecycle lock)Ben Blum-7/+9
This reverts commit 74f4b8d901cf16ef8dc601749108f4d79d7b53e0.
2012-07-12Revert linked failure (renaming runtime fns)Ben Blum-4/+4
Revert "Rename runtime *_locked() and *_unlocked() fns to *_inner() (closes #2864)" This reverts commit b897696a3abde84e57cda3f6e4267be3b647835c.
2012-07-12Revert linked failure (rust_port locking)Ben Blum-4/+2
This reverts commit 343e9de8ef4ee9727f027c896ce99f09611b9603.
2012-07-12Revert linked failure (killing runtime)Ben Blum-4/+0
This reverts commit 200a2ded3245eb0a1ca7b265ce83adba16d75b97.
2012-07-12Fix linked failure with root taskgroup to kill the runtime too.Ben Blum-0/+4
2012-07-12Proper locking with blocked_on()/wakeup() in rust_port. Closes #2787. Closes ↵Ben Blum-2/+4
#1923.