]> git.lizzy.rs Git - rust.git/log
rust.git
10 years agoauto merge of #8438 : cmr/rust/default, r=thestinger
bors [Tue, 27 Aug 2013 00:05:57 +0000 (17:05 -0700)]
auto merge of #8438 : cmr/rust/default, r=thestinger

10 years agoFix deriving-zero test
Corey Richardson [Mon, 26 Aug 2013 23:47:58 +0000 (19:47 -0400)]
Fix deriving-zero test

10 years agoAdd a Default trait.
Corey Richardson [Sat, 10 Aug 2013 13:38:00 +0000 (09:38 -0400)]
Add a Default trait.

10 years agoauto merge of #8712 : catamorphism/rust/rustpkg-issue-7241, r=pcwalton
bors [Mon, 26 Aug 2013 22:51:15 +0000 (15:51 -0700)]
auto merge of #8712 : catamorphism/rust/rustpkg-issue-7241, r=pcwalton

r? @brson ...multiple workspaces

The test checks that rustpkg uses the first one, rather than complaining
about multiple matches.

Closes #7241

10 years agorustpkg: Test that different copies of the same package ID can exist in multiple...
Tim Chevalier [Fri, 23 Aug 2013 18:51:45 +0000 (11:51 -0700)]
rustpkg: Test that different copies of the same package ID can exist in multiple workspaces

The test checks that rustpkg uses the first one, rather than complaining
about multiple matches.

Closes #7241

10 years agoauto merge of #8766 : brson/rust/vecfromfn, r=alexcrichton
bors [Mon, 26 Aug 2013 20:41:12 +0000 (13:41 -0700)]
auto merge of #8766 : brson/rust/vecfromfn, r=alexcrichton

A recently-enabled test of this is causing valgrind failures.

10 years agostd: Make vec::from_fn failure-safe
Brian Anderson [Mon, 26 Aug 2013 20:29:33 +0000 (13:29 -0700)]
std: Make vec::from_fn failure-safe

10 years agoauto merge of #8488 : klutzy/rust/mingw-w64, r=brson
bors [Mon, 26 Aug 2013 18:46:13 +0000 (11:46 -0700)]
auto merge of #8488 : klutzy/rust/mingw-w64, r=brson

This patchset enables rustc to cross-build mingw-w64 outputs.
Tested on mingw + mingw-w64 (mingw-builds, win64/seh/win32-threads/gcc-4.8.1).

I also patched llvm to support Win64 stack unwinding.
https://github.com/klutzy/llvm/commit/ebe22bdbcebc4f8342c4c7c50e3b61fa6c68c1ad

I cross-built test/run-pass/smallest-hello-world.rs and confirmed it works.
However, I also found something went wrong if I don't have custom `#[start]` routine.

10 years agoauto merge of #8764 : blake2-ppc/rust/doc-condition, r=graydon
bors [Mon, 26 Aug 2013 17:36:18 +0000 (10:36 -0700)]
auto merge of #8764 : blake2-ppc/rust/doc-condition, r=graydon

As mentioned in PR #8563 it seems this tutorial has no inbound link!

10 years agodoc: Link condition and error-handling tutorial from main tutorial
blake2-ppc [Mon, 26 Aug 2013 16:10:40 +0000 (18:10 +0200)]
doc: Link condition and error-handling tutorial from main tutorial

10 years agoauto merge of #8758 : pnkfelix/rust/fsk-more-oldvisit-ports, r=pnkfelix
bors [Mon, 26 Aug 2013 15:26:14 +0000 (08:26 -0700)]
auto merge of #8758 : pnkfelix/rust/fsk-more-oldvisit-ports, r=pnkfelix

Further followup on #7081.

There still remains writeback.rs, but I want to wait to investigate that one because I've seen `make check` issues with it in the past.

10 years agoauto merge of #8749 : gifnksm/rust/bigint-cfg, r=pnkfelix
bors [Mon, 26 Aug 2013 13:41:15 +0000 (06:41 -0700)]
auto merge of #8749 : gifnksm/rust/bigint-cfg, r=pnkfelix

This also fixes #4393.

10 years agoSupport Win64 context switching
klutzy [Mon, 26 Aug 2013 13:01:55 +0000 (22:01 +0900)]
Support Win64 context switching

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.

10 years agort: Support SEH/SJLJ personality routine
klutzy [Mon, 12 Aug 2013 13:36:57 +0000 (22:36 +0900)]
rt: Support SEH/SJLJ personality routine

10 years agort: Make valgrind Win64-compatible
klutzy [Mon, 12 Aug 2013 13:00:50 +0000 (22:00 +0900)]
rt: Make valgrind Win64-compatible

10 years agostd: Add Win64 support
klutzy [Mon, 12 Aug 2013 06:27:46 +0000 (15:27 +0900)]
std: Add Win64 support

Some extern blobs are duplicated without "stdcall" abi,
since Win64 does not use any calling convention.
(Giving any abi to them causes llvm producing wrong bytecode.)

10 years agostd: Bind write() on Win64
klutzy [Mon, 12 Aug 2013 06:06:06 +0000 (15:06 +0900)]
std: Bind write() on Win64

10 years agostd: Add Win64 types
klutzy [Mon, 12 Aug 2013 06:05:20 +0000 (15:05 +0900)]
std: Add Win64 types

10 years agoSet main_name "WinMain" on Win64
klutzy [Mon, 12 Aug 2013 01:27:16 +0000 (10:27 +0900)]
Set main_name "WinMain" on Win64

10 years agort: Add {get,record}_sp_limit on Win64
klutzy [Sun, 11 Aug 2013 08:56:37 +0000 (17:56 +0900)]
rt: Add {get,record}_sp_limit on Win64

Uses ArbitraryUserPointer area at gs:0x28.

10 years agort: Remove leading underscore on Win64
klutzy [Sun, 11 Aug 2013 08:56:24 +0000 (17:56 +0900)]
rt: Remove leading underscore on Win64

Win64 convention does not use underscore.

10 years agoauto merge of #8737 : blake2-ppc/rust/std-str-rsplit, r=huonw
bors [Mon, 26 Aug 2013 12:06:16 +0000 (05:06 -0700)]
auto merge of #8737 : blake2-ppc/rust/std-str-rsplit, r=huonw

Make CharSplitIterator double-ended which is simple given that the operation is symmetric, once the split-N feature is factored out into its own adaptor.

`.rsplitn_iter()` allows splitting `N` times from the back of a string, so it is a completely new feature. With the double-ended impl, `.split_iter()`, `.line_iter()`, `.word_iter()` all allow picking off elements from either end.

`split_options_iter` is removed with the factoring of the split- and split-N- iterators, instead there is `split_terminator_iter`.

---

Add benchmarks using `#[bench]` and tune CharSplitIterator a bit after Huon Wilson's suggestions

Benchmarks 1-5 do the same split using different implementations of `CharEq`, all splitting an ascii string on ascii space. Benchmarks 6-7 split a unicode string on an ascii char.

Before this PR
test str::bench::split_iter_ascii ... bench: 166 ns/iter (+/- 2)
test str::bench::split_iter_closure ... bench: 113 ns/iter (+/- 1)
test str::bench::split_iter_extern_fn ... bench: 286 ns/iter (+/- 7)
test str::bench::split_iter_not_ascii ... bench: 114 ns/iter (+/- 4)
test str::bench::split_iter_slice ... bench: 220 ns/iter (+/- 12)
test str::bench::split_iter_unicode_ascii ... bench: 217 ns/iter (+/- 3)
test str::bench::split_iter_unicode_not_ascii ... bench: 248 ns/iter (+/- 3)

PR, first commit
test str::bench::split_iter_ascii ... bench: 331 ns/iter (+/- 9)
test str::bench::split_iter_closure ... bench: 114 ns/iter (+/- 2)
test str::bench::split_iter_extern_fn ... bench: 314 ns/iter (+/- 6)
test str::bench::split_iter_not_ascii ... bench: 132 ns/iter (+/- 1)
test str::bench::split_iter_slice ... bench: 157 ns/iter (+/- 3)
test str::bench::split_iter_unicode_ascii ... bench: 502 ns/iter (+/- 64)
test str::bench::split_iter_unicode_not_ascii ... bench: 250 ns/iter (+/- 3)

PR, final version
test str::bench::split_iter_ascii ... bench: 106 ns/iter (+/- 4)
test str::bench::split_iter_closure ... bench: 107 ns/iter (+/- 1)
test str::bench::split_iter_extern_fn ... bench: 267 ns/iter (+/- 6)
test str::bench::split_iter_not_ascii ... bench: 108 ns/iter (+/- 1)
test str::bench::split_iter_slice ... bench: 170 ns/iter (+/- 8)
test str::bench::split_iter_unicode_ascii ... bench: 128 ns/iter (+/- 5)
test str::bench::split_iter_unicode_not_ascii ... bench: 252 ns/iter (+/- 3)

---

There are several ways to deal with `CharEq::only_ascii`. It is a performance optimization, so with that in mind, we allow passing bogus char (outside ascii) as long as they don't match. We use a byte value check to make sure we don't split on these (would split substrings in the middle of encoded char).  (A more principled way would be to only pass the ascii codepoints to the CharEq when it indicates only_ascii, but that undoes some of the performance optimization.)

10 years agostd::str: Tune CharSplitIterator after benchmarks
blake2-ppc [Mon, 26 Aug 2013 09:48:49 +0000 (11:48 +0200)]
std::str: Tune CharSplitIterator after benchmarks

Implement Huon Wilson's suggestions (since the benchmarks agree!).

Use `self.sep.matches(byte as char) && byte < 128u8` to match in the
only_ascii case so that mistaken matches outside the ascii range can't
create invalid substrings.

Put the conditional on only_ascii outside the loop.

10 years agoPlacate `make tidy`.
Felix S. Klock II [Mon, 26 Aug 2013 11:27:36 +0000 (13:27 +0200)]
Placate `make tidy`.

10 years agobigint: fix wrong benchmark fn name
gifnksm [Mon, 26 Aug 2013 11:27:20 +0000 (20:27 +0900)]
bigint: fix wrong benchmark fn name

10 years agoauto merge of #8744 : jld/rust/discr64, r=nikomatsakis
bors [Mon, 26 Aug 2013 10:51:19 +0000 (03:51 -0700)]
auto merge of #8744 : jld/rust/discr64, r=nikomatsakis

This is in preparation for making discriminants not always be int (#1647), but it also makes compiles for a 64-bit target not behave differently — with respect to how many bits of discriminants are preserved — depending on the build host's word size, which is a nice property to have.

We may want to standardize how to abbreviate "discriminant" in a followup change.

10 years agoPort typeck/check/vtable.rs from oldvisit to <V:Visitor> trait API.
Felix S. Klock II [Mon, 26 Aug 2013 09:49:24 +0000 (11:49 +0200)]
Port typeck/check/vtable.rs from oldvisit to <V:Visitor> trait API.

10 years agostd::str: bench tests for .split_iter()
blake2-ppc [Mon, 26 Aug 2013 09:48:48 +0000 (11:48 +0200)]
std::str: bench tests for .split_iter()

10 years agoPort middle/stack_check.rs from oldvisit to <V:Visitor> trait API.
Felix S. Klock II [Mon, 26 Aug 2013 09:43:14 +0000 (11:43 +0200)]
Port middle/stack_check.rs from oldvisit to <V:Visitor> trait API.

10 years agoPort middle/moves.rs from oldvisit to <V:Visitor> trait API.
Felix S. Klock II [Mon, 26 Aug 2013 09:31:21 +0000 (11:31 +0200)]
Port middle/moves.rs from oldvisit to <V:Visitor> trait API.

10 years agoRemove occurrences of `oldvisit` text to improve grepping for old oldvisit.
Felix S. Klock II [Mon, 26 Aug 2013 09:10:18 +0000 (11:10 +0200)]
Remove occurrences of `oldvisit` text to improve grepping for old oldvisit.

10 years agoPort creader.rs from oldvisit to <V:Visitor> trait API.
Felix S. Klock II [Mon, 26 Aug 2013 09:01:39 +0000 (11:01 +0200)]
Port creader.rs from oldvisit to <V:Visitor> trait API.

10 years agoauto merge of #8750 : kballard/rust/str-opt-variant, r=thestinger
bors [Mon, 26 Aug 2013 04:36:16 +0000 (21:36 -0700)]
auto merge of #8750 : kballard/rust/str-opt-variant, r=thestinger

Add _opt variants to from_bytes, from_bytes_owned, and from_bytes_slice.
These variants return an Option instead of raising a condition/failing.

10 years agoauto merge of #8751 : brson/rust/metadata-revert, r=brson
bors [Mon, 26 Aug 2013 03:26:18 +0000 (20:26 -0700)]
auto merge of #8751 : brson/rust/metadata-revert, r=brson

This reverts commit 491bc3568c87dadaba4d342135bd308961c6e0ef, reversing
changes made to 05f1bbba16912f63b562a7847801823872f89ec6.

I've heard reports that this broke something. Don't know details yet.

10 years agoRevert "auto merge of #8745 : brson/rust/metadata, r=cmr"
Brian Anderson [Mon, 26 Aug 2013 03:21:13 +0000 (20:21 -0700)]
Revert "auto merge of #8745 : brson/rust/metadata, r=cmr"

This reverts commit 491bc3568c87dadaba4d342135bd308961c6e0ef, reversing
changes made to 05f1bbba16912f63b562a7847801823872f89ec6.

10 years agoAdd _opt variants to str byte-conversion functions
Kevin Ballard [Mon, 26 Aug 2013 00:07:29 +0000 (17:07 -0700)]
Add _opt variants to str byte-conversion functions

Add _opt variants to from_bytes, from_bytes_owned, and from_bytes_slice.
These variants return an Option instead of raising a condition/failing.

10 years agoauto merge of #8745 : brson/rust/metadata, r=cmr
bors [Sun, 25 Aug 2013 20:36:14 +0000 (13:36 -0700)]
auto merge of #8745 : brson/rust/metadata, r=cmr

This does two things: 1) stops compressing metadata, 2) stops copying the metadata section, instead holding a reference to the buffer returned by the LLVM section iterator.

Not compressing metadata requires something like 7x the storage space, but makes running tests about 9% faster. This has been a time improvement on all platforms I've tested, including windows. I considered leaving compression as an option but it doesn't seem to be worth the complexity since we don't currently have any use cases where we need to save that space.

In order to avoid copying the metadata section I had to hack up extra::ebml a bit to support unsafe buffers. We should probably move it into librustc so that it can evolve to support the compiler without worrying about having a crummy interface.

r? @graydon

10 years agoauto merge of #8723 : anasazi/rust/temporary-unkillable-io, r=brson
bors [Sun, 25 Aug 2013 19:26:16 +0000 (12:26 -0700)]
auto merge of #8723 : anasazi/rust/temporary-unkillable-io, r=brson

Also added a home_for_io_with_sched variant to consolidate some cases.

This is a temporary step to resolving #8674.

10 years agobigint: Add benchmarks
gifnksm [Sun, 25 Aug 2013 15:26:03 +0000 (00:26 +0900)]
bigint: Add benchmarks

10 years agobigint: un-ignore test_shr
gifnksm [Sun, 25 Aug 2013 14:55:12 +0000 (23:55 +0900)]
bigint: un-ignore test_shr

10 years agobigint: inlining small functions
gifnksm [Sun, 25 Aug 2013 13:47:24 +0000 (22:47 +0900)]
bigint: inlining small functions

10 years agobigint: remove unnecessary method implements
gifnksm [Sun, 25 Aug 2013 13:36:55 +0000 (22:36 +0900)]
bigint: remove unnecessary method implements

10 years agobigint: cfg(target_arch = ...) => cfg(target_word_size = ...)
gifnksm [Sun, 25 Aug 2013 13:18:24 +0000 (22:18 +0900)]
bigint: cfg(target_arch = ...) => cfg(target_word_size = ...)

10 years agoauto merge of #8710 : pnkfelix/rust/fsk-issue5516-codepoint-fix, r=alexcrichton
bors [Sun, 25 Aug 2013 11:21:15 +0000 (04:21 -0700)]
auto merge of #8710 : pnkfelix/rust/fsk-issue5516-codepoint-fix, r=alexcrichton

...bytes.

(removing previous note about eff-eye-ex'ing #5516 since it actually does not do so, it just gets us half-way.)

10 years agochar_len is more succinct than count_chars.
Felix S. Klock II [Sun, 25 Aug 2013 09:19:35 +0000 (11:19 +0200)]
char_len is more succinct than count_chars.

10 years agostd::str: Double-ended CharSplitIterator
blake2-ppc [Sun, 25 Aug 2013 06:54:47 +0000 (08:54 +0200)]
std::str: Double-ended CharSplitIterator

Add new methods `.rsplit_iter()` and `.rsplitn_iter()` for &str.

Separate out CharSplitIterator and CharSplitNIterator,
CharSplitIterator (`split_iter` and `rsplit_iter`) is made double-ended
while `splitn_iter` and `rsplitn_iter` (limited to N splits) are not,
since these don't have the same symmetry.

With CharSplitIterator being double ended, derived iterators like
`line_iter` and `word_iter` are too.

10 years agoauto merge of #8736 : luqmana/rust/hf, r=yichoi
bors [Sun, 25 Aug 2013 05:46:13 +0000 (22:46 -0700)]
auto merge of #8736 : luqmana/rust/hf, r=yichoi

Fixes #8536.

10 years agoDon't ever compress metadata
Brian Anderson [Sun, 25 Aug 2013 03:57:35 +0000 (20:57 -0700)]
Don't ever compress metadata

10 years agoauto merge of #8701 : brson/rust/issue-8698, r=thestinger
bors [Sun, 25 Aug 2013 03:31:15 +0000 (20:31 -0700)]
auto merge of #8701 : brson/rust/issue-8698, r=thestinger

10 years agoAdd a test case for the preceding changes.
Jed Davis [Wed, 14 Aug 2013 00:12:43 +0000 (17:12 -0700)]
Add a test case for the preceding changes.

This would have failed on 32-to-64-bit cross-compiles.

10 years agoDon't truncate discriminants to host uint for C_uint's sake.
Jed Davis [Fri, 2 Aug 2013 19:24:21 +0000 (12:24 -0700)]
Don't truncate discriminants to host uint for C_uint's sake.

10 years agoMake enum discriminants u64 instead of the host uint.
Jed Davis [Tue, 12 Mar 2013 05:37:01 +0000 (22:37 -0700)]
Make enum discriminants u64 instead of the host uint.

10 years agoauto merge of #8637 : alexcrichton/rust/ifmt-less-hax, r=graydon
bors [Sun, 25 Aug 2013 02:21:17 +0000 (19:21 -0700)]
auto merge of #8637 : alexcrichton/rust/ifmt-less-hax, r=graydon

Recent improvements to `&mut Trait` have made this work possible, and it solidifies that `ifmt` doesn't always have to return a string, but rather it's based around writers.

10 years agoauto merge of #8607 : sfackler/rust/extensions, r=brson
bors [Sun, 25 Aug 2013 01:11:19 +0000 (18:11 -0700)]
auto merge of #8607 : sfackler/rust/extensions, r=brson

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.

10 years agoIntroduce alternate forms of logging
Alex Crichton [Sat, 24 Aug 2013 19:46:55 +0000 (12:46 -0700)]
Introduce alternate forms of logging

These new macros are all based on format! instead of fmt! and purely exist for
bootstrapping purposes. After the next snapshot, all uses of logging will be
migrated to these macros, and then after the next snapshot after that we can
drop the `2` suffix on everything

10 years agoauto merge of #8740 : brson/rust/rt-opt, r=thestinger
bors [Sat, 24 Aug 2013 23:46:24 +0000 (16:46 -0700)]
auto merge of #8740 : brson/rust/rt-opt, r=thestinger

See #8599

10 years agoMerge pull request #8733 from sfackler/str-to-bytes
Daniel Micay [Sat, 24 Aug 2013 23:41:04 +0000 (16:41 -0700)]
Merge pull request #8733 from sfackler/str-to-bytes

Add OwnedStr::into_bytes

10 years agostd::rt: Enforce sanity a while longer
Brian Anderson [Mon, 19 Aug 2013 17:10:27 +0000 (10:10 -0700)]
std::rt: Enforce sanity a while longer

I'm not comfortable turning off rtassert! yet

10 years agostd: Make vec::push_all_move call reserve_at_least
Brian Anderson [Sun, 18 Aug 2013 06:11:46 +0000 (23:11 -0700)]
std: Make vec::push_all_move call reserve_at_least

vec::unshift uses this to add elements, scheduler queues use unshift,
and this was causing a lot of reallocation

10 years agostd::rt: Remove an unnecessary allocation from the main sched loop
Brian Anderson [Sun, 18 Aug 2013 05:59:46 +0000 (22:59 -0700)]
std::rt: Remove an unnecessary allocation from the main sched loop

10 years agostd: Convert the runtime TLS key to a Rust global to avoid FFI
Brian Anderson [Sat, 17 Aug 2013 09:12:08 +0000 (02:12 -0700)]
std: Convert the runtime TLS key to a Rust global to avoid FFI

10 years agostd::rt: Remove metrics for perf
Brian Anderson [Sun, 18 Aug 2013 04:50:37 +0000 (21:50 -0700)]
std::rt: Remove metrics for perf

These aren't used for anything at the moment and cause some TLS hits
on some perf-critical code paths. Will need to put better thought into
it in the future.

10 years agostd::rt: Reduce MessageQueue contention
Brian Anderson [Sun, 18 Aug 2013 02:55:22 +0000 (19:55 -0700)]
std::rt: Reduce MessageQueue contention

It's not a huge win but it does reduce the amount of time spent
contesting the message queue when the schedulers are under load

10 years agostd::rt: Reduce SleeperList contention
Brian Anderson [Sun, 18 Aug 2013 01:16:30 +0000 (18:16 -0700)]
std::rt: Reduce SleeperList contention

This makes the lock much less contended. In the test I'm running the
number of times it's contended goes from ~100000 down to ~1000.

10 years agostd::rt: Remove extra boxes from MessageQueue and SleeperList
Brian Anderson [Sun, 18 Aug 2013 00:58:00 +0000 (17:58 -0700)]
std::rt: Remove extra boxes from MessageQueue and SleeperList

10 years agostd::rt: Optimize TLS use in change_task_context
Brian Anderson [Sun, 18 Aug 2013 00:40:38 +0000 (17:40 -0700)]
std::rt: Optimize TLS use in change_task_context

10 years agostd: More TLS micro-optimization
Brian Anderson [Sat, 17 Aug 2013 08:24:29 +0000 (01:24 -0700)]
std: More TLS micro-optimization

10 years agoAdd OwnedStr::into_bytes
Steven Fackler [Sat, 24 Aug 2013 06:37:22 +0000 (02:37 -0400)]
Add OwnedStr::into_bytes

My primary use case here is sending strings across the wire where the
intermediate storage is a byte array. The new method ends up avoiding a
copy.

10 years agoSettle on the format/write/print family of names
Alex Crichton [Sat, 24 Aug 2013 01:14:11 +0000 (18:14 -0700)]
Settle on the format/write/print family of names

10 years agoImplement a wrapper macro around fprintf -- ifmtf
Alex Crichton [Tue, 20 Aug 2013 07:40:27 +0000 (00:40 -0700)]
Implement a wrapper macro around fprintf -- ifmtf

10 years agoRemove ifmt hax and implement fprintf
Alex Crichton [Mon, 19 Aug 2013 17:47:38 +0000 (10:47 -0700)]
Remove ifmt hax and implement fprintf

10 years agoMerge pull request #8738 from mukilan/master
Daniel Micay [Sat, 24 Aug 2013 18:02:14 +0000 (11:02 -0700)]
Merge pull request #8738 from mukilan/master

Force line ending of '.in' files in jemalloc to LF

10 years agolibrustc: Always use session target triple.
Luqman Aden [Sat, 24 Aug 2013 17:54:42 +0000 (13:54 -0400)]
librustc: Always use session target triple.

10 years agoForce line ending of '.in' files in jemalloc to LF
Mukilan Thiagarajan [Sat, 24 Aug 2013 16:50:20 +0000 (22:20 +0530)]
Force line ending of '.in' files in jemalloc to LF

This fixes issue #8731 . On Windows, if the git option core.autocrlf is true (github recommends users to turn on this flag - see https://help.github.com/articles/dealing-with-line-endings), the headers generated from the .in files will have syntatic errors, causing compilation to fail.

10 years agoauto merge of #8732 : kballard/rust/str-truncate, r=thestinger
bors [Sat, 24 Aug 2013 12:51:21 +0000 (05:51 -0700)]
auto merge of #8732 : kballard/rust/str-truncate, r=thestinger

10 years agorustllvm: Specify hard floats for gnueabihf.
Luqman Aden [Sat, 24 Aug 2013 12:49:03 +0000 (08:49 -0400)]
rustllvm: Specify hard floats for gnueabihf.

10 years agoauto merge of #8725 : bblum/rust/docs, r=graydon
bors [Sat, 24 Aug 2013 11:41:24 +0000 (04:41 -0700)]
auto merge of #8725 : bblum/rust/docs, r=graydon

This documents how to use trait bounds in a (hopefully) user-friendly way, in the containers tutorial, and also documents the task watching implementation for runtime developers in kill.rs.

r anybody

10 years agoauto merge of #8679 : singingboyo/rust/json-to-impl, r=alexcrichton
bors [Sat, 24 Aug 2013 10:31:25 +0000 (03:31 -0700)]
auto merge of #8679 : singingboyo/rust/json-to-impl, r=alexcrichton

to_str, to_pretty_str, to_writer, and to_pretty_writer were at the top
level of extra::json, this moves them into an impl for Json to match
with what's been done for the rest of libextra and libstd.  (or at least for vec and str)

Also meant changing some tests.

Closes #8676.

10 years agoAdded note that there is still more to do on 5516.
Felix S. Klock II [Sat, 24 Aug 2013 10:09:18 +0000 (12:09 +0200)]
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.

10 years agoauto merge of #8722 : graydon/rust/2013-08-23-test-shard, r=msullivan
bors [Sat, 24 Aug 2013 09:21:27 +0000 (02:21 -0700)]
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).

10 years agoauto merge of #8719 : msullivan/rust/cleanup, r=catamorphism
bors [Sat, 24 Aug 2013 08:11:28 +0000 (01:11 -0700)]
auto merge of #8719 : msullivan/rust/cleanup, r=catamorphism

r?

10 years agoDon't copy metadata after loading
Brian Anderson [Sat, 24 Aug 2013 01:40:15 +0000 (18:40 -0700)]
Don't copy metadata after loading

10 years agoAdd new function str.truncate()
Kevin Ballard [Sat, 24 Aug 2013 05:05:35 +0000 (22:05 -0700)]
Add new function str.truncate()

10 years agostd: Convert some assert!s to rtassert!
Brian Anderson [Sat, 17 Aug 2013 08:12:08 +0000 (01:12 -0700)]
std: Convert some assert!s to rtassert!

10 years agoDefine cfg(rtopt) when optimizing. Turn off runtime sanity checks
Brian Anderson [Sat, 17 Aug 2013 06:14:55 +0000 (23:14 -0700)]
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`.

10 years agostd: Reduce TLS access
Brian Anderson [Sat, 17 Aug 2013 03:14:30 +0000 (20:14 -0700)]
std: Reduce TLS access

10 years agoauto merge of #8716 : andrew-d/rust/andrew-fix-warnings, r=alexcrichton
bors [Sat, 24 Aug 2013 03:56:27 +0000 (20:56 -0700)]
auto merge of #8716 : andrew-d/rust/andrew-fix-warnings, r=alexcrichton

Small, but whatever :8ball:

10 years agoAllow metadata to be not compressed
Brian Anderson [Thu, 22 Aug 2013 20:46:47 +0000 (13:46 -0700)]
Allow metadata to be not compressed

10 years agoauto merge of #8705 : brson/rust/lesscxx, r=graydon
bors [Sat, 24 Aug 2013 01:41:30 +0000 (18:41 -0700)]
auto merge of #8705 : brson/rust/lesscxx, r=graydon

10 years agort: Remove rust_abi
Brian Anderson [Fri, 23 Aug 2013 06:30:25 +0000 (23:30 -0700)]
rt: Remove rust_abi

10 years agort: Remove rust_util.cpp
Brian Anderson [Fri, 23 Aug 2013 06:26:37 +0000 (23:26 -0700)]
rt: Remove rust_util.cpp

10 years agort: Remove old precise GC code
Brian Anderson [Fri, 23 Aug 2013 06:23:51 +0000 (23:23 -0700)]
rt: Remove old precise GC code

10 years agort: Move some test functions to rust_test_helpers
Brian Anderson [Fri, 23 Aug 2013 05:57:40 +0000 (22:57 -0700)]
rt: Move some test functions to rust_test_helpers

10 years agort: Remove exit_status helpers
Brian Anderson [Fri, 23 Aug 2013 05:55:11 +0000 (22:55 -0700)]
rt: Remove exit_status helpers

10 years agort: Remove sync.h
Brian Anderson [Fri, 23 Aug 2013 05:44:01 +0000 (22:44 -0700)]
rt: Remove sync.h

10 years agort: Memory regions are never synchronized now
Brian Anderson [Fri, 23 Aug 2013 05:42:36 +0000 (22:42 -0700)]
rt: Memory regions are never synchronized now

10 years agort: Remove timer
Brian Anderson [Fri, 23 Aug 2013 05:29:04 +0000 (22:29 -0700)]
rt: Remove timer

10 years agoauto merge of #8724 : thestinger/rust/fix-transmute, r=graydon
bors [Sat, 24 Aug 2013 00:26:32 +0000 (17:26 -0700)]
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

10 years agoDocument the task watching / exit code propagation implementation.
Ben Blum [Fri, 23 Aug 2013 23:55:03 +0000 (19:55 -0400)]
Document the task watching / exit code propagation implementation.

10 years agofix performance regression from invalid IR
Daniel Micay [Fri, 23 Aug 2013 22:18:11 +0000 (18:18 -0400)]
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