Commit Graph

17589 Commits

Author SHA1 Message Date
Brian Anderson
8081e8debf Register snapshots 2013-05-04 15:43:51 -07:00
bors
b872900a5b auto merge of #6237 : dotdash/rust/reduce_bloat, r=brson
In commit d7f5e43 "core::rt: Add the local heap to newsched tasks",
local_malloc and local_free have become rather big and their forced
inlining causes quite a bit of code bloat. Compile times for crates
affected by the bloat (e.g. rustc) improve, while others (e.g. libstd)
seem to be unaffected, so I guess the inlining doesn't gain us much.

Sizes:
```
               | librustc   | libsytax
---------------|–-----------|------------
with inlining  | 18,547,824 |  7,110,848
w/o inlining   | 15,092,040 |  5,518,608
2013-05-04 13:33:37 -07:00
Björn Steinbrink
e5ca35d567 Reduce code bloat from managed allocations
In commit d7f5e43 "core::rt: Add the local heap to newsched tasks",
local_malloc and local_free have become rather big and their forced
inlining causes quite a bit of code bloat. Compile times for crates
affected by the bloat (e.g. rustc) improve, while others (e.g. libstd)
seem to be unaffected, so I guess the inlining doesn't gain us much.

Sizes:
               | librustc   | libsytax
---------------|–-----------|------------
with inlining  | 18,547,824 |  7,110,848
w/o inlining   | 15,092,040 |  5,518,608
2013-05-04 18:21:27 +02:00
bors
1f65e4a1d5 auto merge of #6230 : thestinger/rust/whitespace, r=catamorphism
I just had `git apply` fix most of them and then did a quick skim over the diff to fix a few cases where it did the wrong thing (mostly replacing tabs with 4 spaces, when someone's editor had them at 8 spaces).
2013-05-04 00:48:37 -07:00
bors
a47e4cb22f auto merge of #6229 : catamorphism/rust/warning-police, r=catamorphism 2013-05-03 23:48:36 -07:00
bors
c3ab74b8b9 auto merge of #6227 : graydon/rust/issue-6112-box-annihilator, r=graydon
during task annihilation, since it is easy to tread on freed memory.
2013-05-03 22:06:37 -07:00
bors
821979f928 auto merge of #6219 : dotdash/rust/fmt, r=graydon
Only the first portion has to be owned, as it acts as the buffer for the
constructed string. The remaining strings can be static.
2013-05-03 20:48:37 -07:00
bors
5bf7e8bb50 auto merge of #6198 : luqmana/rust/linker-arg, r=graydon 2013-05-03 18:48:37 -07:00
bors
7d9c638226 auto merge of #6124 : catamorphism/rust/rustpkg, r=catamorphism
r? @graydon
2013-05-03 17:42:37 -07:00
Tim Chevalier
9f76ca6508 rustpkg: Make code actually compile
oops.
2013-05-03 17:25:13 -07:00
Daniel Micay
86efd97a10 add gitattributes and fix whitespace issues 2013-05-03 20:01:42 -04:00
Tim Chevalier
2df8799f76 rustc: Warning police 2013-05-03 16:56:34 -07:00
Tim Chevalier
1a5f11a11b syntax: Warning police 2013-05-03 16:56:34 -07:00
Tim Chevalier
18bf9bd55a std: Warning police 2013-05-03 16:56:33 -07:00
Tim Chevalier
5fb5a94118 core: Warning police 2013-05-03 16:56:33 -07:00
Tim Chevalier
c42f1218a0 rustpkg: Handle sysroot more correctly
In rustpkg, pass around sysroot; in rustpkg tests, set the sysroot
manually so that tests can find libcore and such.

With bonus metadata::filesearch refactoring to avoid copies.
2013-05-03 16:48:44 -07:00
Tim Chevalier
376a5526a7 tidy 2013-05-03 16:06:07 -07:00
Tim Chevalier
4d4cabff9e rustpkg: Implement install command
The install command should work now, though it only installs
    in-place (anything else has to wait until I implement RUST_PATH).

Also including:
    core: Add remove_directory_recursive, change copy_file

    Make copy_file preserve permissions, and add a remove_directory_recursive
    function.
2013-05-03 16:06:07 -07:00
bors
517bfc91d1 auto merge of #6200 : catamorphism/rust/issue-5358, r=catamorphism
r? @nikomatsakis Previously, rustc would ICE if you matched on an enum-typed thing
with a structure pattern. Error out correctly. This will close #5358
2013-05-03 14:27:36 -07:00
Niko Matsakis
c15fa3a02a Be more careful about the order in which we read the next field
during task annihilation, since it is easy to tread on freed memory.
2013-05-03 13:07:28 -07:00
Tim Chevalier
32b3d3e9eb tidy 2013-05-03 13:03:53 -07:00
Tim Chevalier
13df2ea69c rustc: Handle struct patterns where the expected type is an enum
Previously, rustc would ICE if you matched on an enum-typed thing
with a structure pattern. Error out correctly.
2013-05-03 13:03:53 -07:00
bors
bfd3cd8171 auto merge of #6217 : Sodel-the-Vociferous/rust/export-ToBytes, r=graydon 2013-05-03 13:00:47 -07:00
Luqman Aden
832f7b758f librustc: Add argument to allow choosing "linker" 2013-05-03 12:53:01 -07:00
bors
4332f8188b auto merge of #6216 : Sodel-the-Vociferous/rust/dralston-6146, r=graydon
cc #6146
2013-05-03 11:33:38 -07:00
bors
9a31cdb9bf auto merge of #6213 : kud1ing/rust/patch-1, r=graydon
...re/index.html
2013-05-03 10:21:37 -07:00
bors
79aeb529d5 auto merge of #6046 : brson/rust/io, r=graydon
r? @pcwalton

Sorry this is so big, and sorry the first commit is just titled 'wip'.

Some interesting bits

* [LocalServices](f9069baa70) - This is the set of runtime capabilities that *all* Rust code should expect access to, including the local heap, GC, logging, unwinding.
* [impl Reader, etc. for Option](5fbb0949a5) - Constructors like `File::open` return Option<FileStream>. This lets you write I/O code without ever unwrapping an option.

This series adds a lot of [documentation](https://github.com/brson/rust/blob/io/src/libcore/rt/io/mod.rs#L11) to `core::rt::io`.
2013-05-03 09:09:40 -07:00
bors
d9c7d0bc93 auto merge of #6185 : gifnksm/rust/prelude-from_str, r=graydon
`core::prelude`  re-exports `core::to_str::ToStr`, but doesn't re-export `core::from_str::FromStr`.
That is inconsistent.
2013-05-03 08:15:38 -07:00
Björn Steinbrink
2e3e0c0892 Avoid needless creation of unique strings in fmt!()
Only the first portion has to be owned, as it acts as the buffer for the
constructed string. The remaining strings can be static.
2013-05-03 12:26:45 +02:00
Daniel Ralston
47050c499a FIX: Export to_bytes::ToBytes 2013-05-03 02:25:02 -07:00
bors
213f7b24cc auto merge of #6207 : sanxiyn/rust/tc-big, r=thestinger 2013-05-03 01:36:37 -07:00
Daniel Ralston
02889f7507 Add core::cmp::Equiv to prelude 2013-05-03 01:22:52 -07:00
bors
984180c600 auto merge of #6204 : pcwalton/rust/uninhabited-enum-cast, r=catamorphism
r? @catamorphism
2013-05-03 00:12:37 -07:00
gifnksm
e34a7ecbab Remove extra #[cfg(stage0)] 2013-05-03 15:57:05 +09:00
kud1ing
f45c6b878f Add a brief description to show up in http://static.rust-lang.org/doc/core/index.html 2013-05-03 09:20:01 +03:00
bors
2ae44a07a9 auto merge of #6212 : brson/rust/xfail-flatpipes, r=brson
This is preventing a snapshot. Filed #6211
2013-05-02 22:51:38 -07:00
Brian Anderson
76f7207af2 std: xfail test_serializing_pipes 2013-05-02 22:18:16 -07:00
bors
87c46b548a auto merge of #6206 : sanxiyn/rust/mach-sty, r=thestinger 2013-05-02 21:42:36 -07:00
Brian Anderson
6c478c7de8 Merge remote-tracking branch 'brson/io' into incoming
Conflicts:
	mk/rt.mk
	src/libcore/run.rs
2013-05-02 20:51:56 -07:00
bors
b37a685958 auto merge of #6201 : pcwalton/rust/inhtwama-serializer, r=graydon
This PR removes mutable fields from the serializer and makes the encoder and decoder use INHTWAMA properly (i.e. `&mut self`).

r? @graydon
2013-05-02 20:39:36 -07:00
bors
baa1c1834f auto merge of #6140 : Dretch/rust/run-with-rust, r=brson
Even more of `core::run` could be rust-ified -- I believe that access to the C extern environ can be done with rust now. I did not do this because some special casing is needed for OSX and I don't have a mac I can test with.

I think this will also fix #6096.
2013-05-02 19:15:36 -07:00
Brian Anderson
f8dffc6789 core: Wire up the unwinder to newsched again
This was some merge fallout
2013-05-02 19:13:56 -07:00
Brian Anderson
db6a62c537 rustc: Drop the visitor object from the visitor glue
Recent demoding makes the visitor glue leak. It hasn't shown up in tests
because the box annihilator deletes the leaked boxes. This affects the
new scheduler though which does not yet have a box annihilator.

I don't think there's any great way to test this besides setting up
a task that doesn't run the box annihilator and I don't know that that's
a capability we want tasks to have.
2013-05-02 18:42:07 -07:00
Patrick Walton
c0f587de34 librustc: Make uninhabited enums not castable to int 2013-05-02 18:41:57 -07:00
bors
73733c96db auto merge of #6195 : luqmana/rust/newtype-drop, r=catamorphism
Follow up with test case for #6125.
2013-05-02 18:09:35 -07:00
Patrick Walton
dc5df61bc1 librustc: Update the serializer to work properly with INHTWAMA, removing mutable fields in the process 2013-05-02 17:00:51 -07:00
bors
79a2b2eafc auto merge of #6192 : thestinger/rust/link_args, r=catamorphism
Lots of linking arguments need to be passed as -Wl,--foo so giving the
comma meaning at the rustc layer makes those flags impossible to pass.

Multiple arguments can now be passed from a shell by quoting the
argument: --link-args='-lfoo -Wl,--as-needed'.
2013-05-02 16:57:36 -07:00
bors
31599fe347 auto merge of #6172 : Sodel-the-Vociferous/rust/rm_trt_obj_magic_nums, r=catamorphism,graydon
I don't know how one would write a separate test for this sort of thing. Building the compiler, and `make check` worked, which should mean I didn't screw anything.
2013-05-02 16:03:37 -07:00
Patrick Walton
6f2e429041 libstd: De-mut arena 2013-05-02 16:00:10 -07:00
bors
ba842518a2 auto merge of #6197 : graydon/rust/re-xfail, r=graydon
These were accidentally un-xfail'ed since they pass on x64. They don't yet on x86.
2013-05-02 14:15:37 -07:00