Commit graph

25148 commits

Author SHA1 Message Date
bors 89907089c2 auto merge of #11301 : vadimcn/rust/fix-android, r=brson
This fixes stack unwinding on targets using ARM EHABI.
closes #11147
2014-01-04 11:56:46 -08:00
bors b432e82515 auto merge of #11306 : alexcrichton/rust/native-bounds, r=pcwalton
This allows inspection of the current task's bounds regardless of what the
underlying task is.

Closes #11293
2014-01-04 10:16:51 -08:00
bors d86cb6a39f auto merge of #11299 : brson/rust/exp10, r=pcwalton
LLVM appears to generate calls to exp10 on ARM and bionic does not define it.

This makes code that links to libextra (which I guess does some exponentiation on the stat module) link correctly.
2014-01-04 09:02:05 -08:00
bors fcca394ffb auto merge of #11295 : sfackler/rust/de-jank-encoder, r=brson 2014-01-04 07:41:51 -08:00
bors 14c24accbc auto merge of #11271 : adridu59/rust/patch-io, r=huonw 2014-01-04 06:26:52 -08:00
bors 48dc2cbf23 auto merge of #11292 : brson/rust/llvmconfig, r=alexcrichton
In a multi-host build the mklldeps.py tool is getting called before
all the llvm-configs are built. I am not actually sure the cause. I
had convinced myself that DEF_LLVM_RULES needed to be called before
the llvmdeps.rs rule, but now looking at it again I can't see why.

Here's the error: http://buildbot.rust-lang.org/builders/dist2-linux/builds/11/steps/compile/logs/stdio

r? @alexcrichton
2014-01-04 05:11:53 -08:00
Adrien Tétar 95ace50643 std: io: add some code examples
Closes #11232.
2014-01-04 13:07:11 +01:00
Adrien Tétar ba801577b9 doc: un-xfail conditions tutorial 2014-01-04 13:06:54 +01:00
bors 690e464444 auto merge of #11291 : brson/rust/copy-runtime-deps, r=alexcrichton
In copying the license for the third-party bins it is attempting
to delete a directory that doesn't exist.
2014-01-04 03:56:55 -08:00
bors 239fb1f6ee auto merge of #11283 : brson/rust/doublefailure, r=alexcrichton
Previously this was an `rtabort!`, indicating a runtime bug. Promote
this to a more intentional abort and print a (slightly) more
informative error message.

Can't test this sense our test suite can't handle an abort exit.

I consider this to close #910, and that we should open another issue about implementing less conservative semantics here.
2014-01-04 00:32:09 -08:00
Alex Crichton dcaf10f8de Add a stack_bounds function to the Runtime trait
This allows inspection of the current task's bounds regardless of what the
underlying task is.

Closes #11293
2014-01-04 00:08:03 -08:00
Vadim Chugunov cefb2c7e45 Fix ARM unwinding. 2014-01-03 23:34:15 -08:00
bors 3dd7c49faf auto merge of #11251 : pcwalton/rust/remove-at-mut, r=pcwalton
r? @nikomatsakis 

for the borrow checker changes. Write guards are now eliminated.
2014-01-03 22:36:53 -08:00
Patrick Walton 8092153634 libsyntax: Fix tests. 2014-01-03 22:22:40 -08:00
Brian Anderson bc78d86985 rt: Define exp10 on Android
LLVM appears to generate calls to exp10 on ARM and bionic does not
define it.
2014-01-03 21:29:40 -08:00
bors 0ff6c12ce9 auto merge of #11280 : c-a/rust/inline_byteswap, r=brson
After writing some benchmarks for ebml::reader::vuint_at() I noticed that LLVM doesn't seem to inline the from_be32 function even though it only does a call to the bswap32 intrinsic in the x86_64 case. Marking the functions with #[inline(always)] fixes that and seems to me a reasonable thing to do. I got the following measurements in my vuint_at() benchmarks:

- Before
test ebml::bench::vuint_at_A_aligned          ... bench:      1075 ns/iter (+/- 58)
test ebml::bench::vuint_at_A_unaligned        ... bench:      1073 ns/iter (+/- 5)
test ebml::bench::vuint_at_D_aligned          ... bench:      1150 ns/iter (+/- 5)
test ebml::bench::vuint_at_D_unaligned        ... bench:      1151 ns/iter (+/- 6)

- Inline from_be32
test ebml::bench::vuint_at_A_aligned          ... bench:       769 ns/iter (+/- 9)
test ebml::bench::vuint_at_A_unaligned        ... bench:       795 ns/iter (+/- 6)
test ebml::bench::vuint_at_D_aligned          ... bench:       758 ns/iter (+/- 8)
test ebml::bench::vuint_at_D_unaligned        ... bench:       759 ns/iter (+/- 8)

- Using vuint_at_slow()
test ebml::bench::vuint_at_A_aligned          ... bench:       646 ns/iter (+/- 7)
test ebml::bench::vuint_at_A_unaligned        ... bench:       645 ns/iter (+/- 3)
test ebml::bench::vuint_at_D_aligned          ... bench:       907 ns/iter (+/- 4)
test ebml::bench::vuint_at_D_unaligned        ... bench:      1085 ns/iter (+/- 16)

As expected inlining from_be32() gave a considerable speedup.
I also tried how the "slow" version fared against the optimized version and noticed that it's
actually a bit faster for small A class integers (using only two bytes) but slower for big D class integers (using four bytes)
2014-01-03 21:21:50 -08:00
bors 8bfd2a84cf auto merge of #11277 : brson/rust/more0.9, r=alexcrichton 2014-01-03 17:16:50 -08:00
Steven Fackler d45b3643b8 Remove a hacky buffer extraction from metadata 2014-01-03 16:31:22 -08:00
Patrick Walton 02c1d2ff52 test: Make all the run-pass tests use pub fn main 2014-01-03 15:30:54 -08:00
Brian Anderson b3a334af6a mk: Fix llvmdeps.rs dependencies
In a multi-host build the mklldeps.py tool is getting called before
all the llvm-configs are built. I am not actually sure the cause. I
had convinced myself that DEF_LLVM_RULES needed to be called before
the llvmdeps.rs rule, but now looking at it again I can't see why.
2014-01-03 14:20:46 -08:00
Patrick Walton 82a09b9a04 librustc: Remove @mut support from the parser 2014-01-03 14:02:01 -08:00
Patrick Walton 88281290ff librustc: Remove @mut support from the typechecker and borrow checker 2014-01-03 14:02:01 -08:00
Patrick Walton 9b35ae75d2 doc: Remove all mentions of @mut from the documentation. 2014-01-03 14:02:01 -08:00
Patrick Walton c3694d732e test: De-@mut the test suite 2014-01-03 14:02:01 -08:00
Patrick Walton df13c64c3b test: Get rid of some @muts in borrow check tests 2014-01-03 14:02:01 -08:00
Patrick Walton 65d55afd2f test: Make borrowck-assign-to-subfield into a run-pass test, now that
it no longer has boxes in it
2014-01-03 14:02:01 -08:00
Patrick Walton 179c054631 test: Remove all borrow check write guard tests 2014-01-03 14:02:01 -08:00
Patrick Walton b6e516859a libstd: Remove all support code related to @mut 2014-01-03 14:02:00 -08:00
Patrick Walton e095889e4e libstd: De-@mut the heap_cycles test 2014-01-03 14:02:00 -08:00
Patrick Walton aa93e6e664 libextra: Remove MutList, as it's inexorably tied to @mut 2014-01-03 14:02:00 -08:00
Patrick Walton 84e977c355 libstd: Remove a spurious @mut from a disabled test 2014-01-03 14:02:00 -08:00
Patrick Walton 07bbc4133d libextra: Remove unnecessary @muts 2014-01-03 14:02:00 -08:00
Patrick Walton c1d6f5ed51 libextra: De-@mut the arena 2014-01-03 14:02:00 -08:00
Patrick Walton c38456a92f librustdoc: De-@mut librustdoc 2014-01-03 14:02:00 -08:00
Patrick Walton af0439b1e3 librustpkg: De-@mut rustpkg 2014-01-03 14:02:00 -08:00
Patrick Walton 901df8a63b libsyntax: Remove unused MultiRenamer 2014-01-03 14:02:00 -08:00
Patrick Walton 1d29163e9c librustc: Eliminate an unnecessary @mut in pretty printing.
This removes all `@mut` from `librustc` and `libsyntax`.
2014-01-03 14:02:00 -08:00
Patrick Walton 6043957d8d libsyntax: De-@mut ps::boxes 2014-01-03 14:02:00 -08:00
Patrick Walton 5eafcc4f93 libsyntax: De-@mut (and de-@) Printer::print_stack 2014-01-03 14:02:00 -08:00
Patrick Walton 982cb824ce libsyntax: De-@mut Interner::vect 2014-01-03 14:01:59 -08:00
Patrick Walton 4c85cf7a40 libsyntax: De-@mut CodeMap::files 2014-01-03 14:01:59 -08:00
Patrick Walton 39f39ed40b libsyntax: De-@mut FileMap::multibyte_chars 2014-01-03 14:01:59 -08:00
Patrick Walton 27cc3d203b libsyntax: De-@mut FileMap::lines 2014-01-03 14:01:59 -08:00
Patrick Walton ada9150abf libsyntax: Correctly de-@mut the pretty printer writer 2014-01-03 14:01:59 -08:00
Patrick Walton 39f0270544 libsyntax: Remove an unnecessary @mut io::Reader 2014-01-03 14:01:59 -08:00
Patrick Walton 1dbeb5b2ac libsyntax: De-@mut SCTable 2014-01-03 14:01:59 -08:00
Patrick Walton b476d979d2 libsyntax: De-@mut SCTable::rename_memo 2014-01-03 14:01:59 -08:00
Patrick Walton 4d6dde7f49 libsyntax: De-@mut SCTable::mark_memo 2014-01-03 14:01:59 -08:00
Patrick Walton be17a1b08c libsyntax: De-@mut SCTable::table 2014-01-03 14:01:59 -08:00
Patrick Walton 96f807def6 libsyntax: De-@mut the interner map 2014-01-03 14:01:59 -08:00