Commit Graph

25147 Commits

Author SHA1 Message Date
Nif Ward
20ccfdecd4 Added in Clone/TotalEq/TotalOrd/ToStr traits to all parts of btree.
Equals is now compact and uses vec's equals method.  Cmp compares
all elements on branches and leaves (Nodes).
2014-01-06 21:19:36 -05: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
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
Patrick Walton
9d6f8cdefa libsyntax: De-@mut (and de-@) the AST mapping context 2014-01-03 14:01:59 -08:00