bors
dc7b83d186
auto merge of #6650 : crabtw/rust/mips-rt, r=sanxiyn
...
Results of libcore and libstd tests
```
failures:
rand::tests::test_rng_seeded_custom_seed2
time::tests::run_tests
uv_ll::test::test_uv_ll_struct_size_addrinfo
uv_ll::test::test_uv_ll_struct_size_uv_timer_t
segfaults:
stackwalk::test_simple
stackwalk::test_simple_deep
```
2013-05-21 03:01:17 -07:00
bors
329d8e2622
auto merge of #6648 : alexcrichton/rust/issue-6633, r=graydon
...
Resolves #6633 and removes an unnecessary import in libcore
2013-05-21 01:04:16 -07:00
bors
5a3e320514
auto merge of #6647 : alexcrichton/rust/unnecessary-alloc, r=graydon
...
This adds a lint mode for detecting unnecessary allocations on the heap. This isn't super fancy, currently it only has two rules
1. For a function's arguments, if you allocate a `[~|@]str` literal, when the type of the argument is a `&str`, emit a warning.
2. For the same case, emit warnings for boxed vectors when slices are required.
After adding the lint, I rampaged through the libraries and removed all the unnecessary allocations I could find.
2013-05-20 23:55:20 -07:00
bors
d49a9dbc7f
auto merge of #6646 : dotdash/rust/method_lookup, r=brson
2013-05-20 22:52:22 -07:00
bors
7abcc142e5
auto merge of #6626 : brson/rust/io-upstream, r=graydon
...
r?
Mostly refactoring, and adding some of the remaining types described in #4419 .
The [`Local`](3b4ff41511/src/libcore/rt/local.rs (L17)
) trait collects some common, often unsafe patterns around task-local and thread-local values. Making all these types safe is largely the aim of #6210 .
2013-05-20 21:40:27 -07:00
Jyun-Yan You
d86a32bbb2
fix mips stack alignment
2013-05-21 11:58:30 +08:00
bors
adaae45c3e
auto merge of #6604 : bjz/rust/ptr-to-option, r=brson
2013-05-20 20:31:26 -07:00
bors
6c0a4693c9
auto merge of #6649 : brson/rust/atomic-load-align, r=graydon
2013-05-20 19:25:29 -07:00
bors
32e30aaa00
auto merge of #6576 : nikomatsakis/rust/issue-5362-tuple-indices, r=graydon
...
r? @pcwalton
2013-05-20 18:04:39 -07:00
Brian Anderson
474d9983be
rustllvm: Use target alignment for atomic load/store
2013-05-20 17:28:06 -07:00
bors
24609675eb
auto merge of #6528 : brson/rust/docs, r=brson
...
Remove the uncommon term 'object tree' in favor of 'value'.
2013-05-20 16:55:36 -07:00
bors
6d4845668f
auto merge of #6372 : brson/rust/intrinsics, r=catamorphism
...
...s
2013-05-20 15:49:45 -07:00
Brian Anderson
a246e8faf3
core::rt: Convert unsafe_borrow_io to a Local impl
2013-05-20 15:21:29 -07:00
Brian Anderson
2042696236
core::rt: Implement Local for Task
2013-05-20 15:21:29 -07:00
Brian Anderson
2f99fb8efa
core::rt: Remove local_sched module
2013-05-20 15:21:29 -07:00
Brian Anderson
06f1a64bd6
core::rt: Convert users of local_sched to Local trait
2013-05-20 15:21:09 -07:00
Brian Anderson
18fab45aab
core::rt: Make local_sched a wrapper around Local
2013-05-20 15:20:50 -07:00
Brian Anderson
71aa6b6631
core::rt: Move more TLS functionality into local_ptr
2013-05-20 15:20:50 -07:00
Brian Anderson
97c2fd1a96
core::rt: Move some TLS functions from local_sched to local_ptr
2013-05-20 15:20:50 -07:00
Brian Anderson
86ba457349
rt: Rename rust_initialize_global_state to rust_initialize_rt_tls_key
2013-05-20 15:20:50 -07:00
Brian Anderson
f59fcd5d5f
core::rt: Store Task as a ~ pointer
2013-05-20 15:20:50 -07:00
Brian Anderson
43c6f32ece
core::rt: Add Local trait
2013-05-20 15:20:50 -07:00
Brian Anderson
b0722c55f8
core:rt:: Rename LocalServices to Task
2013-05-20 15:20:49 -07:00
Brian Anderson
fa18a861fb
core::rt: Queues MessageQueue and WorkQueue are cloneable
2013-05-20 15:20:49 -07:00
Brian Anderson
d2a1378ed8
core::rt: Add MessageQueue type
...
This is the queue used to send messages to Schedulers
2013-05-20 15:20:49 -07:00
Brian Anderson
ee06ed2bfd
core::rt: Put a lock on the work queue
2013-05-20 15:20:49 -07:00
Brian Anderson
f03c9bd08c
core::rt: Rename WorkQueue methods, remove extra push method
2013-05-20 15:20:49 -07:00
Brian Anderson
7ffd523354
core: Update clone docs
2013-05-20 15:19:35 -07:00
bors
54eafc009d
auto merge of #6639 : osaut/rust/arc-clean, r=brson
...
* Add ARC::get method and implements the function from it.
* Add an example showing a simple use of ARC.
Update PR #6622 to avoid git noise.
I will remove the function get later.
2013-05-20 14:46:45 -07:00
Brian Anderson
7bd4217766
Replace all uses of rust-intrinsic ABI with calls to unstable::intrinsics
2013-05-20 14:41:56 -07:00
Alex Crichton
82fa0018c8
Remove all unnecessary allocations (as flagged by lint)
2013-05-20 16:10:40 -05:00
Alex Crichton
074799b4c5
Implement a lint mode to detect unnecessary allocations
2013-05-20 16:08:50 -05:00
bors
26babaafcd
auto merge of #6559 : jbclements/rust/hygiene-fns-and-cleanup, r=jbclements
...
This includes new, tested, hygiene support functions. It also removes the interner_key! macro and replaces it with a function, which should be inline-able. It also contains some parser patch-ups and some docfixes.
On my machine, this patch passes all tests.
2013-05-20 12:04:47 -07:00
John Clements
b71a1ecea2
added and rewrote text for 'do' and 'for' loops
2013-05-20 11:49:21 -07:00
John Clements
999f692645
getting rid of interner_key! macro
2013-05-20 11:49:21 -07:00
John Clements
fc4f304ef9
hygiene infrastructure.
...
- added a hash table to memoize rename and mark operations.
- added rename, mark, and resolve fold fns
2013-05-20 11:49:21 -07:00
John Clements
b621820dc4
detect unused attrs in one more place, allow parsing to continue for all
...
changed a bunch of fatal()'s into err()'s, to allow parsing to proceed.
2013-05-20 11:49:20 -07:00
John Clements
05ab83eea8
parser comment
2013-05-20 11:49:20 -07:00
John Clements
975f264983
refactoring test functions
2013-05-20 11:49:20 -07:00
Alex Crichton
15f97acdc8
Correctly track the source of imports with the same name
2013-05-20 13:02:08 -05:00
Björn Steinbrink
19dc72809d
Optimize the lookup of traits containing a given method
...
Currently, trait_info is a hashmap that allows a quick lookup of all
methods contained in a given trait, but we actually only use it to
lookup traits that contain a given method. Adjusting the map to support
the lookup we actually need gives a nice speed boost, reducing the time
required for the resolution step for librustc from ~2.6s to ~1.0s on my
box.
2013-05-20 19:50:30 +02:00
bors
f3b458b5c5
auto merge of #6644 : steveklabnik/rust/remove_unsafe_warning, r=bstrie
...
Since a snapshot was done last night, these are good to go.
2013-05-20 10:31:44 -07:00
Björn Steinbrink
b5be7d8a2c
Avoid range checks in HashMap::each()
2013-05-20 18:42:31 +02:00
bors
84233c0b4b
auto merge of #6643 : sanxiyn/rust/legacy-modes, r=bstrie
2013-05-20 09:34:44 -07:00
Steve Klabnik
eb3f47a40a
Remove two warnings about unneccesary safe blocks.
...
Since a snapshot was done last night, these are good to go.
2013-05-20 09:17:19 -07:00
Seo Sanghyeon
17dfebf883
Remove legacy_modes
2013-05-21 00:41:56 +09:00
bors
f323b0c8ba
auto merge of #6640 : dotdash/rust/hash_perf, r=bstrie
...
The function was a workaround for bootstrapping that isn't required
anymore and just degrades hashmap performance, as it doesn't get inlined
cross-crate and turns a no-op into a call.
2013-05-20 05:19:40 -07:00
Brendan Zabarauskas
eef03c39cf
Update to stop unsolicited copying and mark methods as unsafe
2013-05-20 22:07:35 +10:00
Björn Steinbrink
09efd472a9
Remove outdated function transmute_for_stage0
...
The function was a workaround for bootstrapping that isn't required
anymore and just degrades hashmap performance, as it doesn't get inlined
cross-crate and turns a no-op into a call.
2013-05-20 12:10:55 +02:00
Olivier Saut
3f232bc4a0
Add ARC::get method and implements the function from it. Add an example showing a simple use of ARC.
2013-05-20 12:07:14 +02:00