about summary refs log tree commit diff
path: root/src/rt/rust_upcall.cpp
AgeCommit message (Collapse)AuthorLines
2012-05-18add a new debugging aid--tracingNiko Matsakis-0/+22
2012-04-18rt: Don't log in the stack switching failure pathBrian Anderson-5/+4
The runtime is in an uncertain state here and, instead of thinking about how to make the logger work correctly, let's just avoid it. Currently, it ends up hitting an assert saying that we can't log on the rust stack.
2012-04-16Get explicit unique estrs working.Graydon Hoare-5/+48
2012-04-03actually remove memory.h; include cleanupsJon Morton-1/+0
2012-04-03Refactor includes structure, getting rid of rust_internal.hJon Morton-2/+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-02Construct new strings through upcalls.Graydon Hoare-0/+21
2012-04-02Add global rust_get_current_taskJon Morton-15/+15
Previously two methods existed: rust_sched_loop::get_task and rust_task::get_task_from_tcb. Merge both of them into one, trying the faster one (tcb) first, and if that fails, the slower one from the tls.
2012-04-01Merge remote-tracking branch 'brson/mainthread'Brian Anderson-18/+18
Conflicts: src/rt/rust_sched_loop.cpp src/rt/rust_shape.cpp src/rt/rust_task.cpp
2012-03-31rt: Fix whitespaceBrian Anderson-2/+3
2012-03-31rt: Rename rust_task_thread to rust_sched_loopBrian Anderson-18/+18
This class no longer represents a thread; it just schedules tasks.
2012-03-28Fix some gcc-4.4-isms, should build now on 4.1+.Graydon Hoare-1/+2
2012-03-21rt: Use get_task_from_tcb during stack growth callsBrian Anderson-2/+2
2012-03-21rt: Rename record_sp to record_sp_limitBrian Anderson-3/+3
2012-03-21rt: Don't switch to the C stack on the upcall_new_stack fast pathBrian Anderson-18/+5
2012-03-21rt: Don't swatch stacks during upcall_del_stackBrian Anderson-6/+2
2012-03-19Send string concatenation to specialized upcall, shave 17s off librustc ↵Graydon Hoare-0/+28
compile time.
2012-03-16Remove shared tydescsMarijn Haverbeke-73/+0
All tydescs are static now, there's no need to worry about marshalling them between threads anymore.
2012-03-16Remove dynastack support from runtimeMarijn Haverbeke-89/+0
Issue #1982
2012-03-16Get rid of rust_crate_cache in the runtimeMarijn Haverbeke-67/+0
We are no longer generating dynamic tydescs or dicts. Issue #1982
2012-02-28rt: Reset the stack boundary after returning from crust functionsBrian Anderson-0/+3
2012-02-21Remove unused tydesc argument to upcall_shared_mallocMarijn Haverbeke-10/+5
2012-02-17rt: Make upcall_vec_push an intrinsicBrian Anderson-30/+20
2012-02-17rt: Don't hit TLS on upcall_vec_push unless necessaryBrian Anderson-5/+3
2012-02-17rt: Don't log on entry to upcall_vec_push. Also slowBrian Anderson-2/+0
2012-02-17rt: Don't do the stack canary check in upcall_vec_push. Too slowBrian Anderson-4/+0
2012-02-17rt: Simplify upcall_vec_pushBrian Anderson-23/+11
2012-02-09rt: Inline everything on the C-stack-switching pathBrian Anderson-1/+0
2012-02-09rt: Add upcall_call_shim_on_rust_stackBrian Anderson-1/+26
2012-02-09rt: Add rust_task::call_on_c_stackBrian Anderson-5/+3
2012-02-09rt: Rename call_shim_on_c_stack to call_and_change_stacksBrian Anderson-2/+2
2012-02-09rt: Rename new_stack to next_stack, del_stack to prev_stackBrian Anderson-4/+4
2012-02-03rt: Rename rust_scheduler to rust_task_threadBrian Anderson-33/+33
2012-02-03Remove experimental GC codeMarijn Haverbeke-6/+3
It's been sitting unused long enough to have bitrotted completely.
2012-02-01make boxes self-describing (fixes #1493)" (take 2)Niko Matsakis-18/+42
this will be used to generate a new snapshot.
2012-02-01Revert "make boxes self-describing (fixes #1493)" until a newNiko Matsakis-42/+18
snapshot is prepared.
2012-02-01make boxes self-describing (fixes #1493)Niko Matsakis-18/+42
2012-01-17roll back commit 1c7a62Niko Matsakis-9/+0
2012-01-17Use a memset upcall to zero things without static alignmentMarijn Haverbeke-0/+9
This fixes issues #843 and #1546. The cost of an upcall is unfortunate, though. I assume there must be a way to simply manually compute the pointer or size, using something akin to the formula in `align_to` in `rust_util.h`. I could not get this to work, unfortunately.
2012-01-12add tydescs into shape, rewrite walk_fn_contents()Niko Matsakis-5/+7
2012-01-12free uniq data we encounter on the sweep, walk thru them otherwiseNiko Matsakis-1/+1
2012-01-07fix valgrind error: allocate enough space for all type descsNiko Matsakis-1/+1
2012-01-06plug leak: free shared type descrs recursively, as we ought toNiko Matsakis-1/+3
2012-01-06fix how we walk functions to match new closure fmtNiko Matsakis-0/+1
2012-01-06Make binding of fns with bounded type parameters workMarijn Haverbeke-0/+26
Interns non-static dicts to heap-allocated equivalents so that they no longer have stack scope. Closes #1436
2012-01-01freebsd supportUser Jyyou-1/+1
2011-12-20rt: Don't check the stack canary on most upcallsBrian Anderson-10/+1
2011-12-20rt: Do fewer stack canary checksBrian Anderson-3/+5
2011-12-20rt: Add a canary value to the end of every stackBrian Anderson-3/+12
Check it on upcall entry and exit, and on stack deletion
2011-12-19rt: Give upcall_new_stack the same convention as other upcallsBrian Anderson-10/+13
2011-12-19rt: Give upcall_del_stack the same convention as other upcallsBrian Anderson-2/+6