rust/src
Jeff Olson 8769409612 rt: adding rust_uv_* binding for kernel malloc and free'ing :/
I need these in the context of doing various malloc/free operations for
libuv structs that need to live in the heap, because of API workflow
(there's no stack to put them in). This has cropped up several times
when impl'ing the high-level API for things like timers, but I've decided
to take the plunge and use this approach for the net::tcp module.

Technically, this can be avoided by spawning a new
task that contains the needed memory structures on its stack and then
having it block for the duration of the time we need that memory to be
valid (this is what I did in std::timer). Exposing this API provides a
much lower overhead way to address
the issue, albeit with safety concerns. The main mitigation policy should
be to use malloc/free with libuv handles only when the handles, are then
associated with a resource or class-with-dtor. So we have a finite lifetime
for the object and can gaurantee a free(), barring a runtime crash (in
which case you have bigger problems!)
2012-05-22 22:29:16 -07:00
..
cargo Remove some dead code. 2012-05-19 10:08:43 -07:00
compiletest Fix compiletest::header::iter_header to work with new-style for loops 2012-05-03 17:45:06 -07:00
etc vim: Fix syntax of number literals 2012-05-05 11:43:07 +09:00
fuzzer remove mutable cycle from ast_fold 2012-05-21 20:07:14 -07:00
libcore core: add result::unwrap() .. patch from @nmatsakis 2012-05-22 22:29:16 -07:00
librustsyntax Merge branch 'master' of git://github.com/mozilla/rust 2012-05-22 18:23:32 -07:00
libstd std: tightening up net::tcp, server/client test done, still has races.. 2012-05-22 22:29:16 -07:00
libuv@1170ffba3a
llvm@3a57b672f8 Update llvm and integrate clang and compiler-rt. 2012-04-30 17:48:38 -07:00
rt rt: adding rust_uv_* binding for kernel malloc and free'ing :/ 2012-05-22 22:29:16 -07:00
rustc Convert more resource tests to use classes with dtors 2012-05-22 22:12:18 -04:00
rustdoc Send is no longer a subkind of copy. This allows for sendable, but non-copyable resources. Closes #2420. 2012-05-22 14:10:32 -07:00
rustllvm Update llvm and integrate clang and compiler-rt. 2012-04-30 17:48:38 -07:00
test Merge pull request #2430 from mmeyerho/master 2012-05-22 20:39:53 -07:00
README.txt
snapshots.txt Register snapshots 2012-05-21 18:08:39 -07:00

This is preliminary version of the Rust compiler, libraries and tools

Source layout:

rustc/             The self-hosted compiler

libcore/           The core library (imported and linked by default)
libstd/            The standard library (slightly more peripheral code)
librustsyntax/     The Rust parser and pretty-printer

rt/                The runtime system
rt/rust_*.cpp      - The majority of the runtime services
rt/isaac           - The PRNG used for pseudo-random choices in the runtime
rt/bigint          - The bigint library used for the 'big' type
rt/uthash          - Small hashtable-and-list library for C, used in runtime
rt/sync            - Concurrency utils
rt/util            - Small utility classes for the runtime.
rt/vg              - Valgrind headers
rt/msvc            - MSVC support

test/              Testsuite
test/compile-fail  - Tests that should fail to compile
test/run-fail      - Tests that should compile, run and fail
test/run-pass      - Tests that should compile, run and succeed
test/bench         - Benchmarks and miscellanea
test/pretty        - Pretty-printer tests
test/auxiliary     - Dependencies of tests

compiletest/       The test runner

cargo/             The package manager

rustdoc/           The Rust API documentation tool

llvm/              The LLVM submodule

libuv/             The libuv submodule

rustllvm/          LLVM support code

fuzzer/            A collection of fuzz testers

etc/               Scripts, editor support, misc