summary refs log tree commit diff
path: root/src/rt
AgeCommit message (Collapse)AuthorLines
2013-09-25rustdoc: Add sundown to src/rt/Alex Crichton-0/+5454
This also starts compiling it in the same manner as linenoise, it's just bundled with librustrt directly, and we export just a few symbols out of it.
2013-09-23Remove the C(++) ISAAC Rng from the old rt.Huon Wilson-347/+0
This has to leave rust_gen_seed and rng_gen_seed around since they're used to initialise the std::rand RNGs.
2013-09-18auto merge of #9280 : alexcrichton/rust/less-c++, r=brsonbors-72/+23
Some of the functions could be converted to rust, but the functions dealing with signals were moved to rust_builtin.cpp instead (no reason to keep the original file around for one function). Closes #2674 Because less C++ is better C++!
2013-09-18Remove rust_run_program.cppAlex Crichton-72/+23
Some of the functions could be converted to rust, but the functions dealing with signals were moved to rust_builtin.cpp instead (no reason to keep the original file around for one function). Closes #2674
2013-09-18Implement process bindings to libuvAlex Crichton-0/+42
This is a re-landing of #8645, except that the bindings are *not* being used to power std::run just yet. Instead, this adds the bindings as standalone bindings inside the rt::io::process module. I made one major change from before, having to do with how pipes are created/bound. It's much clearer now when you can read/write to a pipe, as there's an explicit difference (different types) between an unbound and a bound pipe. The process configuration now takes unbound pipes (and consumes ownership of them), and will return corresponding pipe structures back if spawning is successful (otherwise everything is destroyed normally).
2013-09-16std: bind uv_fs_readdir(), flesh out DirectoryInfo and docs/cleanupJeff Olson-0/+11
2013-09-16std: adding file::{stat,mkdir,rmdir}, FileInfo and FileReader/FileWriterJeff Olson-21/+21
add ignores for win32 tests on previous file io stuff...
2013-09-16merge cleanupJeff Olson-21/+21
2013-09-16std/rt: in-progress file io workJeff Olson-0/+47
std: remove unneeded field from RequestData struct std: rt::uv::file - map us_fs_stat & start refactoring calls into FsRequest std: stubbing out stat calls from the top-down into uvio std: us_fs_* operations are now by-val self methods on FsRequest std: post-rebase cleanup std: add uv_fs_mkdir|rmdir + tests & minor test cleanup in rt::uv::file WORKING: fleshing out FileStat and FileInfo + tests std: reverting test files.. refactoring back and cleanup...
2013-09-13Remove all usage of change_dir_lockedAlex Crichton-14/+0
While usage of change_dir_locked is synchronized against itself, it's not synchronized against other relative path usage, so I'm of the opinion that it just really doesn't help in running tests. In order to prevent the problems that have been cropping up, this completely removes the function. All existing tests (except one) using it have been moved to run-pass tests where they get their own process and don't need to be synchronized with anyone else. There is one now-ignored rustpkg test because when I moved it to a run-pass test apparently run-pass isn't set up to have 'extern mod rustc' (it ends up having linkage failures).
2013-09-12auto merge of #9087 : fhahn/rust/rust_crate_map, r=brsonbors-175/+0
This patch converts the rust_crate_map.cpp to Rust as mentioned at the end of #8880.
2013-09-13Convert rust_crate_map.cpp to RustFlorian Hahn-175/+0
Conflicts: src/libstd/rt/logging.rs
2013-09-12Add linenoise lock helpers to rustrt.def.in.Huon Wilson-0/+2
2013-09-11extra: use a mutex to wrap linenoise calls and make them threadsafe.Huon Wilson-0/+12
Fixes #3921.
2013-09-06Upgrade libuv to the current master (again)Alex Crichton-10/+2
This is a reopening of the libuv-upgrade part of #8645. Hopefully this won't cause random segfaults all over the place. The windows regression in testing should also be fixed (it shouldn't build the whole compiler twice). A notable difference from before is that gyp is now a git submodule instead of always git-cloned at make time. This allows bundling for releases more easily. Closes #8850
2013-09-05std::rt: Add libuv bindings for getaddrinfoBrian Anderson-0/+6
2013-09-04auto merge of #8880 : fhahn/rust/issue_8703, r=brsonbors-174/+37
I've started working on #8703. RUST_LOG="::help" should work, I hope I'll be able to finish the rest this weekend.
2013-09-04Convert rust_log.cpp to Rust, closes #8703Florian Hahn-174/+37
2013-09-03add type name to the tydescDaniel Micay-0/+6
Closes #8926
2013-09-01Fix incorrect strftime error handling in rust_localtimeBirunthan Mohanathas-3/+6
Closes #8702.
2013-08-29Revert "auto merge of #8645 : alexcrichton/rust/issue-6436-run-non-blocking, ↵Brian Anderson-44/+11
r=brson" This reverts commit b8d1fa399402c71331aefd634d710004e00b73a6, reversing changes made to f22b4b169854c8a4ba86c16ee43327d6bcf94562. Conflicts: mk/rt.mk src/libuv
2013-08-27Implement process bindings to libuvAlex Crichton-0/+41
Closes #6436
2013-08-27Upgrade libuv to the current master + our patchesAlex Crichton-11/+3
There were two main differences with the old libuv and the master version: 1. The uv_last_error function is now gone. The error code returned by each function is the "last error" so now a UvError is just a wrapper around a c_int. 2. The repo no longer includes a makefile, and the build system has change. According to the build directions on joyent/libuv, this now downloads a `gyp` program into the `libuv/build` directory and builds using that. This shouldn't add any dependences on autotools or anything like that. Closes #8407 Closes #6567 Closes #6315
2013-08-26Support Win64 context switchingklutzy-9/+75
This patch saves and restores win64's nonvolatile registers. This patch also saves stack information of thread environment block (TEB), which is at %gs:0x08 and %gs:0x10.
2013-08-26rt: Support SEH/SJLJ personality routineklutzy-6/+16
2013-08-26rt: Make valgrind Win64-compatibleklutzy-6/+12
2013-08-26rt: Add {get,record}_sp_limit on Win64klutzy-0/+8
Uses ArbitraryUserPointer area at gs:0x28.
2013-08-26rt: Remove leading underscore on Win64klutzy-3/+6
Win64 convention does not use underscore.
2013-08-24std: Convert the runtime TLS key to a Rust global to avoid FFIBrian Anderson-12/+6
2013-08-23rt: Remove rust_abiBrian Anderson-168/+0
2013-08-23rt: Remove rust_util.cppBrian Anderson-37/+0
2013-08-23rt: Remove old precise GC codeBrian Anderson-123/+0
2013-08-23rt: Move some test functions to rust_test_helpersBrian Anderson-51/+50
2013-08-23rt: Remove exit_status helpersBrian Anderson-17/+0
2013-08-23rt: Remove sync.hBrian Anderson-54/+0
2013-08-23rt: Memory regions are never synchronized nowBrian Anderson-26/+8
2013-08-23rt: Remove timerBrian Anderson-126/+26
2013-08-23rt: Remove indexed_listBrian Anderson-115/+0
2013-08-23rt: Remove rust_exchange_allocBrian Anderson-70/+0
2013-08-23rt: Remove last use of C++ exchange allocBrian Anderson-1/+1
2013-08-22auto merge of #8596 : vadimcn/rust/master, r=alexcrichtonbors-14/+10
This resolves issue #908. Notable changes: - On Windows, LLVM integrated assembler emits bad stack unwind tables when segmented stacks are enabled. However, unwind info directives in the assembly output are correct, so we generate assembly first and then run it through an external assembler, just like it is already done for Android builds. - Linker is invoked via "g++" command instead of "gcc": g++ passes the appropriate magic parameters to the linker, which ensure correct registration of stack unwind tables in dynamic libraries.
2013-08-22make check appeasementJeff Olson-1/+1
2013-08-22rt: re-adding lines erroneous stripped out in merge conflictJeff Olson-0/+9
2013-08-22std: stripping unneeded fcntl.h include from rust_uv.cppJeff Olson-1/+0
2013-08-22std: remove fcntl const bindings + making valgrind clean w/ no owned vecsJeff Olson-45/+0
2013-08-22std: add read and unlink to low-level FileDescriptor + end-to-end CRUD testJeff Olson-5/+32
2013-08-22std: working tests for low-level libuv open, write and close operationsJeff Olson-4/+48
2013-08-22std: bootstrapping libuv-based fileio in newrt... open & closeJeff Olson-0/+10
the test "touch"es a new file
2013-08-22Emit unwind info in rustrt assembly files on Windows.Vadim Chugunov-10/+10
2013-08-22Un-disable stack unwinding on Windows.Vadim Chugunov-4/+0