Commit Graph

21631 Commits

Author SHA1 Message Date
Felix S. Klock II
cc477dfa74 Added note that there is still more to do on 5516.
Also added regression test for the byte vs codepoint issues that the
previous commit fixes.
2013-08-24 12:12:30 +02:00
bors
bb9c71fe82 auto merge of #8722 : graydon/rust/2013-08-23-test-shard, r=msullivan
This makes it relatively easy for us to split testsuite load between machines in buildbot. I've added buildbot-side support for setting up builders with -a.b suffixes (eg. linux-64-opt-vg-0.5, linux-64-opt-vg-1.5, linux-64-opt-vg-2.5, linux-64-opt-vg-3.5, linux-64-opt-vg-4.5 causes the valgrind-supervised testsuite to split 5 ways across hosts).
2013-08-24 02:21:27 -07:00
bors
8bf65a156c auto merge of #8719 : msullivan/rust/cleanup, r=catamorphism
r?
2013-08-24 01:11:28 -07:00
Brian Anderson
39e8cb6df3 Don't copy metadata after loading 2013-08-23 23:38:04 -07:00
Kevin Ballard
6b4ceff610 Add new function str.truncate() 2013-08-23 22:31:06 -07:00
Brian Anderson
468d023fe9 std: Convert some assert!s to rtassert! 2013-08-23 21:19:59 -07:00
Brian Anderson
30a7a5b8fa Define cfg(rtopt) when optimizing. Turn off runtime sanity checks
Naturally, and sadly, turning off sanity checks in the runtime is
a noticable performance win. The particular test I'm running goes from
~1.5 s to ~1.3s.

Sanity checks are turned *on* when not optimizing, or when cfg
includes `rtdebug` or `rtassert`.
2013-08-23 21:19:59 -07:00
Brian Anderson
4c75d36d0e std: Reduce TLS access 2013-08-23 21:19:59 -07:00
bors
c96b1d89c4 auto merge of #8716 : andrew-d/rust/andrew-fix-warnings, r=alexcrichton
Small, but whatever 🎱
2013-08-23 20:56:27 -07:00
Brian Anderson
041d8e899f Allow metadata to be not compressed 2013-08-23 19:31:54 -07:00
bors
f9979247d1 auto merge of #8705 : brson/rust/lesscxx, r=graydon 2013-08-23 18:41:30 -07:00
Brian Anderson
9cdfe1e603 rt: Remove rust_abi 2013-08-23 18:38:59 -07:00
Brian Anderson
0ee24437ce rt: Remove rust_util.cpp 2013-08-23 18:38:59 -07:00
Brian Anderson
b72c43739d rt: Remove old precise GC code 2013-08-23 18:38:59 -07:00
Brian Anderson
c17447f8b3 rt: Move some test functions to rust_test_helpers 2013-08-23 18:38:59 -07:00
Brian Anderson
4541c6cfe3 rt: Remove exit_status helpers 2013-08-23 18:38:59 -07:00
Brian Anderson
b4ef59db2f rt: Remove sync.h 2013-08-23 18:38:59 -07:00
Brian Anderson
e3419f9c45 rt: Memory regions are never synchronized now 2013-08-23 18:38:59 -07:00
Brian Anderson
0a1baef4f5 rt: Remove timer 2013-08-23 18:38:56 -07:00
bors
7b5a91f4b3 auto merge of #8724 : thestinger/rust/fix-transmute, r=graydon
Monomorphize's normalization results in a 2% decrease in non-optimized
code size for libstd, so there's a negligible cost to removing it. This
also fixes several visit glue bugs because normalize wasn't considering
the differences in visit glue between types.

Closes #8720
2013-08-23 17:26:32 -07:00
Ben Blum
d468b7c0bf Document the task watching / exit code propagation implementation. 2013-08-23 19:55:03 -04:00
Daniel Micay
180e235d3d fix performance regression from invalid IR
Monomorphize's normalization results in a 2% decrease in non-optimized
code size for libstd, so there's a negligible cost to removing it. This
also fixes several visit glue bugs because normalize wasn't considering
the differences in visit glue between types.

Closes #8720
2013-08-23 19:23:54 -04:00
Ben Blum
c678b22276 Talk about trait bounds in the tutorial. 2013-08-23 19:20:34 -04:00
Graydon Hoare
2fb5c49abb test: add support for sharding testsuite by passing --test-shard=a.b 2013-08-23 15:30:23 -07:00
Brian Anderson
4c5f62539b Fix some vector function failure tests. Closes #8698 2013-08-23 14:49:17 -07:00
Brian Anderson
a9d28b2d9d rt: Remove indexed_list 2013-08-23 14:46:23 -07:00
Brian Anderson
b3fa43f6e0 rt: Remove rust_exchange_alloc 2013-08-23 14:46:23 -07:00
Brian Anderson
74b2d9e19b rt: Remove last use of C++ exchange alloc 2013-08-23 14:46:23 -07:00
Andrew Dunham
347943640e Fix two small warnings 2013-08-23 17:26:52 -04:00
Steven Fackler
d6eee6a7d2 Rename {Reader,Writer}ByteConversions methods
The method names in std::rt::io::extensions::WriterByteConversions are
the same as those in std::io::WriterUtils and a resolve error causes
rustc to fail after trying to find an impl of io::Writer instead of
trying to look for rt::io::Writer as well.

Same goes for ReaderByteConversions.
2013-08-23 10:53:29 -07:00
Michael Sullivan
7bee0501ca Use the proper monomorphized ty::t for llvm alias hints. Closes #7260. 2013-08-23 10:27:38 -07:00
Felix S. Klock II
ae63a3e400 Make getopts count (and thus align/paginate) in terms of codepoints not bytes. 2013-08-23 18:31:13 +02:00
bors
2c0f9bd354 auto merge of #8695 : thestinger/rust/build, r=pcwalton
We currently have no need for the frame pointers on any platform. They
may eventually be needed on platforms without an equivalent to the DWARF
call frame information to walk the stack in the garbage collector.

Closes #7477
2013-08-23 09:01:20 -07:00
bors
f8c4f0ea9c auto merge of #8684 : michaelwoerister/rust/stepping_and_scope_fixes, r=jdm
This PR contains some code cleanup and the fix for issue #8670.
~~I am not sure about issue #8442 (could not reproduce it). @jdm, could check after this is merged and possibly close the issue then?~~ (closed now)

Some interesting facts: With this commit, it should be possible to compile libstd with `-Zdebug-info` (it does not work yet with `-Zextra-debug-info` but we are getting there). Switching debug info on increases the compile time for libstd by about 2 seconds.

@catamorphism I get one failing test in rustpkg:
`package_script_with_default_build` says: `task <unnamed> failed at 'Couldn't copy file', /home/mw/rust/src/librustpkg/tests.rs:689`
Would you have any idea what that is about? Seems be something wrong on my machine...

Cheers,
Michael

Fixes #8670
2013-08-23 07:46:19 -07:00
bors
943f9aaa4a auto merge of #8692 : kballard/rust/ffi-tutorial-c_str, r=huonw
The FFI tutorial still incorrectly stated that strings were terminated
with
2013-08-23 06:31:19 -07:00
bors
4edf3758d1 auto merge of #8691 : anasazi/rust/fix-timer-interface, r=brson
Resolves #8687.
2013-08-23 05:16:21 -07:00
bors
f5018c5a4c auto merge of #8686 : kmcallister/rust/doc, r=catamorphism 2013-08-23 04:01:21 -07:00
bors
ea32d019c4 auto merge of #8682 : adridu59/rust/master, r=cmr 2013-08-23 02:46:24 -07:00
bors
db55cd92de auto merge of #8681 : mrordinaire/rust/remove-set_args, r=brson 2013-08-23 01:31:26 -07:00
bors
5e5e2c71e4 auto merge of #8677 : bblum/rust/scratch, r=alexcrichton
r anybody; there isn't anything complicated here
2013-08-23 00:16:28 -07:00
bors
0688bde47f auto merge of #8671 : kballard/rust/range_inclusive-size-hint, r=thestinger
r? @thestinger
2013-08-22 22:31:27 -07:00
bors
9e1e152091 auto merge of #8596 : vadimcn/rust/master, r=alexcrichton
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-22 21:06:25 -07:00
Vadim Chugunov
651f38258d Disabled broken tests in std::vec. 2013-08-22 20:02:20 -07:00
Vadim Chugunov
12ecdb6381 Enabled unit tests in std and extra. 2013-08-22 20:02:20 -07:00
bors
6f70377041 auto merge of #8639 : singingboyo/rust/use-decl-doc, r=thestinger
Attempt #2 of [this pull request](https://github.com/mozilla/rust/pull/8597) since my tired mind decided messing up my repo, then deleting and re-forking was a good idea.  This is identical to the second last commit in that PR.  (The one before I ruined everything.)

This is an improvement to use_decl docs, which will hopefully improve understanding of how resolution works and where `extern mod` and module declarations should go to make them visible to use declarations.
2013-08-22 19:51:28 -07:00
Brandon Sanderson
35ec01a3f7 Clarify use_decl module resolution docs. 2013-08-22 19:32:22 -07:00
Do Nhat Minh
77df8b809a removed os::set_args, closing #8325
removed pub on real_args, changed test to use args
2013-08-23 10:26:37 +08:00
bors
95c542e7fe auto merge of #8655 : olsonjeffery/rust/newrt_file_io, r=pcwalton,brson
This PR includes the addition of the essential CRUD functionality exposed as a part of the `uv_fs_*` api. There's a lot more to be done, but the essential abstractions are in place and can be easily expanded.

A summary:

* `rt::io::file::FileStream` is fleshed out and behaves as a *non-positional* file stream (that is, it has a cursor that can be viewed/changed via `tell` and `seek`
* The underlying abstraction in `RtioFileStream` exposes pairs of `read(), write()` and `pread(), pwrite()`. The latter two take explicit `offset` params and don't respect the current cursor location in a file afaik. They both use the same underlying libuv impl
* Because libuv explicitly does *not* support `seek`/`tell` operations, these are impl'd in `UvFileStream` by using `lseek(2)` on the raw file descriptor.
* I did my best to flesh out and adhere to the stubbing that was already present in `rt::io::file` and the tests should back that up. There may be things missing.
* All of the work to test `seek`/`tell` is done in `rt::io::file`, even though the actual impl is down in `rt::uv::uvio`.
* We have the ability to spin up an `~RtioFileStream` from a raw file descriptor. This would be useful for interacting with stdin and stdout via newrt.
* The lowest level abstractions (in `rt::uv::file`) support fully synchronous/blocking interactions with the uv API and there is a CRUD test using it. This may also be useful for blocking printf, if desired (the default would be non-blocking and uses libuv's io threadpool)

There are a few polish things I need to do still (the foremost that I know of is undefined behavior when seek'ing beyond the file's boundary).

After this lands, I want to move on to mapping more of the `uv_fs_*` API (especially `uv_fs_stat`). Also a few people have mentioned interest in `uv_pipe_t` support. I'm open to suggestions.
2013-08-22 18:36:28 -07:00
Daniel Micay
0ac02e7c4f make: stop disabling frame pointer elimination
We currently have no need for the frame pointers on any platform. They
may eventually be needed on platforms without an equivalent to the DWARF
call frame information to walk the stack in the garbage collector.

Closes #7477
2013-08-22 20:49:48 -04:00
Daniel Micay
db14469e21 make: rm LLVM_BUILD_ENV
using this to turn off the frame pointers isn't needed, and doesn't
actually work right now because the reference to it omits the target
triple
2013-08-22 20:43:50 -04:00