bors
fe7f528e5d
auto merge of #6769 : catamorphism/rust/issue-4994, r=thestinger
...
r? @thestinger As called for in #4994
2013-05-28 00:44:05 -07:00
bors
f7f36a8373
auto merge of #6766 : fdr/rust/time-by-value, r=catamorphism
...
Per the recommendation of the now-removed FIXME.
2013-05-27 23:41:19 -07:00
bors
6264df5331
auto merge of #6777 : alexcrichton/rust/less-memory, r=graydon
...
Via my super-accurate timing (`/usr/bin/time -l`), I get 2431119360 => 1884430336 == ~520MB
Closes #6637 .
2013-05-27 22:29:09 -07:00
bors
26fb16e36f
auto merge of #6776 : graydon/rust/node-type-table-hashmap, r=thestinger
...
Smallintmap was being populated with sparse keys during ast deserialization.
2013-05-27 21:20:11 -07:00
Jihyun Yu
4521c34775
Fix #6696
2013-05-28 12:35:06 +09:00
bors
6d7d759129
auto merge of #6752 : osaut/rust/tutorial-tasks, r=graydon
...
* Add a short section and an example illustrating the use of ARC.
* Header for the section of Future changed to be more descriptive: "Backgrounding computations: Futures".
2013-05-27 20:23:05 -07:00
Alex Crichton
ae7df57c5a
Prevent refcount cycles during linting
...
Shaves off ~600MB of memory while compiling rustc
2013-05-27 22:22:09 -05:00
Graydon Hoare
3c4ce79518
rustc: Switch ty::node_type_table to smallintmap, cut 400mb memory use off a librustc build.
...
Smallintmap was being populated with sparse keys during ast deserialization.
2013-05-27 19:50:49 -07:00
Tom Lee
b7f71e1ee6
Implementing suggestions from @nikomatsakis
2013-05-27 19:34:25 -07:00
Junyoung Cho
56a2e5dc22
core::vec is missing methods for mutable slices
2013-05-28 10:29:35 +09:00
bors
2061ce9aff
auto merge of #6741 : pcwalton/rust/intra-crate-start, r=graydon
...
r? @brson
2013-05-27 18:26:04 -07:00
Tim Chevalier
351f6033d6
testsuite: Update core to std
2013-05-27 17:32:32 -07:00
Tim Chevalier
403aee1082
testsuite: Test cases, one xfailed, one not
2013-05-27 17:32:32 -07:00
Tim Chevalier
58547d6488
testsuite: Add working test for #5550
2013-05-27 17:32:31 -07:00
Tim Chevalier
6c03fbfefd
testsuite: Add passing test for #4735
2013-05-27 17:32:31 -07:00
Tom Lee
a85993ff69
Added _RUST_STAGEN guard to rust_call_tydesc_glue
2013-05-27 17:13:01 -07:00
Tom Lee
cddd274e4d
Add _RUST_STAGE0 #ifdefs
2013-05-27 17:13:01 -07:00
Tom Lee
67283eaad2
Omit unused implicit argument if return type is immediate.
2013-05-27 17:13:01 -07:00
bors
e6a838d051
auto merge of #6739 : kballard/rust/issue-6419, r=catamorphism
...
Apple Clang uses different version numbering than "regular" clang, but
it also provides the "regular" version it's based on. Update the sed
pattern to pull out this "regular" version number instead of the Apple
version number.
2013-05-27 16:53:06 -07:00
bors
dbc57584bd
auto merge of #6724 : thestinger/rust/swap_fast, r=thestinger
...
Passing higher alignment values gives the optimization passes more freedom since it can copy in larger chunks. This change results in rustc outputting the same post-optimization IR as clang for swaps and most copies excluding the lack of information about padding.
Code snippet:
```rust
#[inline(never)]
fn swap<T>(x: &mut T, y: &mut T) {
util::swap(x, y);
}
```
Original IR (for `int`):
```llvm
define internal fastcc void @_ZN9swap_283417_a71830ca3ed2d65d3_00E(i64*, i64*) #1 {
static_allocas:
%2 = icmp eq i64* %0, %1
br i1 %2, label %_ZN4util9swap_283717_a71830ca3ed2d65d3_00E.exit, label %3
; <label>:3 ; preds = %static_allocas
%4 = load i64* %0, align 1
%5 = load i64* %1, align 1
store i64 %5, i64* %0, align 1
store i64 %4, i64* %1, align 1
br label %_ZN4util9swap_283717_a71830ca3ed2d65d3_00E.exit
_ZN4util9swap_283717_a71830ca3ed2d65d3_00E.exit: ; preds = %3, %static_allocas
ret void
}
```
After #6710 :
```llvm
define internal fastcc void @_ZN9swap_283017_a71830ca3ed2d65d3_00E(i64* nocapture, i64* nocapture) #1 {
static_allocas:
%2 = load i64* %0, align 1
%3 = load i64* %1, align 1
store i64 %3, i64* %0, align 1
store i64 %2, i64* %1, align 1
ret void
}
```
After this change:
```llvm
define internal fastcc void @_ZN9swap_283017_a71830ca3ed2d65d3_00E(i64* nocapture, i64* nocapture) #1 {
static_allocas:
%2 = load i64* %0, align 8
%3 = load i64* %1, align 8
store i64 %3, i64* %0, align 8
store i64 %2, i64* %1, align 8
ret void
}
```
Another example:
```rust
#[inline(never)]
fn set<T>(x: &mut T, y: T) {
*x = y;
}
```
Before, with `(int, int)` (align 1):
```llvm
define internal fastcc void @_ZN8set_282517_8fa972e3f9e451983_00E({ i64, i64 }* nocapture, { i64, i64 }* nocapture) #1 {
static_allocas:
%2 = bitcast { i64, i64 }* %1 to i8*
%3 = bitcast { i64, i64 }* %0 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %3, i8* %2, i64 16, i32 1, i1 false)
ret void
}
```
After, with `(int, int)` (align 8):
```llvm
define internal fastcc void @_ZN8set_282617_8fa972e3f9e451983_00E({ i64, i64 }* nocapture, { i64, i64 }* nocapture) #1 {
static_allocas:
%2 = bitcast { i64, i64 }* %1 to i8*
%3 = bitcast { i64, i64 }* %0 to i8*
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %3, i8* %2, i64 16, i32 8, i1 false)
ret void
}
```
2013-05-27 15:56:08 -07:00
Daniel Micay
e6c04dea03
fix casts on 32-bit
2013-05-27 18:14:00 -04:00
Lindsey Kuper
32c6199161
Change alt
to match
in filenames.
2013-05-27 17:28:39 -04:00
bors
5d04ee805b
auto merge of #6715 : Xazax-hun/rust/incoming, r=graydon
...
Preliminary implementation for: https://github.com/mozilla/rust/issues/6275
This is my first (non hello world) rust code, so it may not be idiomatic.
2013-05-27 13:44:08 -07:00
bors
b0f3686515
auto merge of #6703 : sanxiyn/rust/allocation-lint, r=sanxiyn
...
Fix #6145 . In particular, handle operator overloading.
2013-05-27 12:38:12 -07:00
Lindsey Kuper
c9c4d92889
Add xfail'd test for #6762 .
2013-05-27 15:21:45 -04:00
Tim Chevalier
77de84b4f6
extra: Add reserve and reserve_at_least to extra::deque
...
As called for in #4994
2013-05-27 11:47:38 -07:00
Daniel Micay
0d5fdce82e
syntax highlight code examples in docstrings
2013-05-27 14:47:21 -04:00
bors
d98cc9995f
auto merge of #6768 : lkuper/rust/3538, r=thestinger
...
There were several old `#[doc(hidden)]` attributes in libstd and
libextra, left over from when rustdoc didn't hide private
definitions, tagged with `FIXME #3538`.
Since #3538 is now closed, I removed the `#[doc(hidden)]` attributes
as well as the FIXMEs, but I left `#[doc(hidden)]` in
libstd/task/spawn.rs and libstd/task/rt.rs since those two are
apparently `pub`, as well as in libextra/std.rc since std/extra is
`pub`.
2013-05-27 11:41:08 -07:00
Seo Sanghyeon
8f80323f09
Remove unnecessary allocations flagged by lint
2013-05-28 03:14:44 +09:00
Seo Sanghyeon
363e672736
Use adjustments table for allocation lint
2013-05-28 03:12:13 +09:00
Lindsey Kuper
beec6e4b21
Get rid of no-longer-needed #[doc(hidden)] attributes.
...
There were several old `#[doc(hidden)]` attributes in libstd and
libextra, left over from when rustdoc didn't hide private
definitions, tagged with `FIXME #3538`.
Since #3538 is now closed, I removed the `#[doc(hidden)]` attributes
as well as the FIXMEs, but I left `#[doc(hidden)]` in
libstd/task/spawn.rs and libstd/task/rt.rs since those two are
apparently `pub`, as well as in libextra/std.rc since std/extra is
`pub`.
2013-05-27 13:29:48 -04:00
Daniel Farina
c6f3577f72
Increment copyright year of time.rs
2013-05-27 10:02:48 -07:00
Daniel Farina
379460558b
Use passing by-value in gmtime, mktime
...
Per the recommendation of the now-removed FIXME.
2013-05-27 10:02:48 -07:00
bors
3941f78a1b
auto merge of #6763 : steveklabnik/rust/core_to_std, r=thestinger
...
When I submitted #6748 yesterday, I used the old name.
r? @thestinger
2013-05-27 07:08:04 -07:00
Steve Klabnik
e2fcb92a6d
Fix docs to use std instead of core.
...
When I submitted #6748 yesterday, I used the old name.
2013-05-27 08:19:57 -05:00
bors
b7294e1f1b
auto merge of #6433 : Dretch/rust/run-refactor, r=thestinger
...
...mentioned in #2625 .
This change makes the module more oriented around
Process values instead of having to deal with process ids
directly.
Apart from issues mentioned in #2625 , other changes include:
- Changing the naming to be more consistent - Process/process
is now used instead of a mixture of Program/program and
Process/process.
- More docs/tests.
Some io/scheduler related issues remain (mentioned in #2625 ). I am not sure how best to address these.
2013-05-27 06:05:00 -07:00
gareth
04a39359f8
Rename unwrap_input/unwrap_output as suggested by
...
@brson. Also fix a few documentation bugs.
2013-05-27 13:50:33 +01:00
gareth
49a1ab8745
Make test_change_working_directory change the current
...
directory to be the parent of the current-current directory,
instead of changing to the tmp directory, which was causing
issues with OS X and its /tmp => /private/tmp symlink.
2013-05-27 13:50:33 +01:00
gareth
76c31217be
Refactor core::run in order to address many of the issues
...
mentioned in #2625 .
This change makes the module more oriented around
Process values instead of having to deal with process ids
directly.
Apart from issues mentioned in #2625 , other changes include:
- Changing the naming to be more consistent - Process/process
is now used instead of a mixture of Program/program and
Process/process.
- More docs/tests.
Some io/scheduler related issues remain (mentioned in #2625 ).
2013-05-27 13:50:33 +01:00
bors
d577eafff3
auto merge of #6688 : graydon/rust/issue-3396-mystery-bug-in-metadata, r=Aatch
...
Whatever it was, it is no longer a problem here.
2013-05-27 04:38:04 -07:00
bors
a6b05b385a
auto merge of #6761 : ILyoan/rust/ctags, r=thestinger
2013-05-27 02:41:12 -07:00
bors
fa67e091e4
auto merge of #6719 : kud1ing/rust/rustc_w, r=bstrie
...
Fixes #6697
2013-05-26 22:26:06 -07:00
ILyoan
998cbbd739
update ctags define
2013-05-27 13:58:27 +09:00
Daniel Micay
c302010ef0
mark unique pointer parameters as noalias
...
Closes #6749
2013-05-26 14:11:30 -04:00
bors
f5d4ea84f5
auto merge of #6748 : steveklabnik/rust/bool_docs, r=thestinger
...
There was some before, but now we have a big header, as well as
lots of individual bits of documentation.
2013-05-26 10:32:02 -07:00
Olivier Saut
dea6677251
Add a short section on ARC
2013-05-26 19:10:16 +02:00
bors
1f8c4b096d
auto merge of #6700 : ben0x539/rust/nestvariantdocs, r=thestinger
...
This indents all but the first line of multi-line annotations for individual enum variants with four spaces so that pandoc will recognize everything as belonging to the same list item.
Since that introduces `<p>` tags for some list items, I've gone ahead and inserted blank lines after each list item so that consistently get `<p>` tags for all `<li>`s documenting variants. It's a bit less compact now but still tolerable, I think.
2013-05-26 09:35:00 -07:00
Steve Klabnik
9bb8077c18
Add documentation for libstd/bool.rs.
...
There was some before, but now we have a big header, as well as
lots of individual bits of documentation.
2013-05-26 09:39:55 -05:00
Daniel Micay
14846613bb
inline bump_box_refcount
2013-05-26 10:26:04 -04:00
Daniel Micay
b25c520102
make transmute_copy use memcpy, and inline it
2013-05-26 10:26:04 -04:00