about summary refs log tree commit diff
path: root/src/rt
AgeCommit message (Collapse)AuthorLines
2011-10-21Free vectors during cc sweepBrian Anderson-3/+126
2011-10-21Record the internal reference count of environment boxes. Closes #981Brian Anderson-19/+28
2011-10-20Convert DPRINT to LOG in rust_cc.cpp and add more loggingBrian Anderson-16/+18
2011-10-20Remove the last vestiges of main.llMarijn Haverbeke-56/+0
Closes #992
2011-10-20Don't rely on main.ll anymoreMarijn Haverbeke-14/+1
I'll remove the actual file after I register a snapshot. Issue #992
2011-10-20Get rid of taskpointer-passing throughout the compilerMarijn Haverbeke-18/+17
Only intrinsics still take a dummy taskptr. We'll have to do some makefile stunts to snapshot a version without taskptrs-in-intrinsics. Issue #466
2011-10-20Do not pass taskpointers to "rust" native functionsMarijn Haverbeke-88/+63
Issue #466
2011-10-20Remove taskptr argument from upcallsMarijn Haverbeke-19/+23
Issue #466
2011-10-20Remove spawn_wrap and main_wrap kludgesMarijn Haverbeke-40/+9
This isn't needed now that our functions are cdecl (and was apparently only still working by accident). Issue #992
2011-10-20Use snap runtime, and the old main.o, for stage1Marijn Haverbeke-0/+43
This is intended to be reverted again after I register the next snapshot.
2011-10-05rt: Make C stack switching Valgrind-clean by warning Valgrind when we're ↵Patrick Walton-1/+12
about to write to the C stack from the Rust stack
2011-10-05remove pthread_exit() from rust_start()Niko Matsakis-6/+0
It was causing OS X Lion to hang and (according to Apple) is undefined in any case
2011-10-04rt: Switch the AIO stuff to the C stackPatrick Walton-18/+16
2011-10-03rt: Switch the libuv bindings over to not using explicit task pointersPatrick Walton-17/+27
2011-10-03rt: Fix comment typo in rust_uv.cppPatrick Walton-1/+1
2011-10-03rt: Make the builtins no longer take an explicit task parameterPatrick Walton-60/+99
2011-09-30rt: Omit leading underscore on symbol names on LinuxPatrick Walton-0/+5
2011-09-29rt: Fix assembler for C calls to work more like a regular function callPatrick Walton-5/+8
2011-09-28rt: Add a call stub that switches to the C stack, untested as of yetPatrick Walton-0/+16
2011-09-28rt: Add an upcall to allocate space on the C stack. This will be used for ↵Patrick Walton-9/+31
native calls on the C stack.
2011-09-28rt: Expose the C stack inside the Rust scheduler so that C calls can switch ↵Patrick Walton-4/+5
to it
2011-09-28rustc: Switch to cdecl for all calls. This is needed to make stack growth ↵Patrick Walton-1/+1
efficient, as I need to use eax and ecx in the function prologue and can't afford to stomp on incoming arguments.
2011-09-27rt: Store the task in TLSPatrick Walton-1/+76
2011-09-26rt: Don't run arbitrary destructors on cycle collection; that's just broken.Patrick Walton-8/+1
2011-09-26rt: Turn on cycle collection at task death; add a test casePatrick Walton-3/+20
2011-09-26rt: Make the logic that moves environments between tasks update the GC alloc ↵Patrick Walton-6/+48
chain correctly
2011-09-26rt: Remove obsolete commentPatrick Walton-2/+0
2011-09-23rt: Sweep in cycle collectionPatrick Walton-2/+13
2011-09-23rt: Whitespace policePatrick Walton-6/+6
2011-09-23rt: Turn off some debug codePatrick Walton-4/+6
2011-09-23rt: Get rid of the hack that looks for captured type descriptors adjacent to ↵Patrick Walton-28/+52
the root one for functions and objects
2011-09-23Update to libuv commit 3ca382.Erick Tryzelaar-7162/+28243
This patch changes libuv's gyp build system to make it's own makefiles. To generate them for rust, run these commands. They requires python 2.x to work: $ mkdir -p src/rt/libuv/build $ svn co http://gyp.googlecode.com/svn src/rt/libuv/build/gyp $ ./etc/src/gyp_uv
2011-09-23rt: Add missing <stdint.h> in rust_abi.hPatrick Walton-0/+1
2011-09-23rt: Add missing const on the Windows pathPatrick Walton-1/+1
2011-09-23rt: Get RUST_TRACK_ORIGINS working. You can now call 'debug::dump_origin' in ↵Patrick Walton-35/+51
gdb and get a backtrace saying where a box came from.
2011-09-23rt: Factor out stack walking into rust_abi.cppPatrick Walton-31/+48
2011-09-23rt: Fix message formatting issues in rust_debugPatrick Walton-3/+4
2011-09-23rt: ifdef out backtrace() on WindowsPatrick Walton-3/+15
2011-09-23rt: Fix build bustage due to gcc's format string warningsPatrick Walton-2/+2
2011-09-23rt: Add a RUST_TRACK_ORIGINS debug flag to help track down memory corruptionPatrick Walton-10/+119
2011-09-23rt: Factor out the logic that handles the various magic debug environment ↵Patrick Walton-15/+39
variables
2011-09-23rt: Remove the problematic min()/max()/align()/abs() macros from ↵Patrick Walton-12/+0
isaac/standard.h, as they're unused
2011-09-22Remove is_stateful flag from tydesc. Closes #136Brian Anderson-5/+3
2011-09-22Fix long lineMarijn Haverbeke-1/+2
2011-09-22Fix missing cast in do_ccMarijn Haverbeke-1/+1
Apparently not needed on Mac (clang?), but breaking the win and linux boxes.
2011-09-21rustc: Port the fn and obj traversal logic over from the GC branch. Doesn't ↵Patrick Walton-26/+43
actually do anything yet due to lack of support in trans.
2011-09-21rt: Implement cycle collection marking. Simple cycles can now be detected.Patrick Walton-6/+244
2011-09-21Log and compare unique boxesBrian Anderson-0/+48
Issue #409
2011-09-20Re-wrap long lineJesse Ruderman-2/+2
2011-09-20rt: Zero out allocations so that the CC won't die if it happens to run while ↵Patrick Walton-0/+2
a box is being constructed. This is kind of unfortunate.