Skip to content

Commit d801d3f

Browse files
committed
---
yaml --- r: 152468 b: refs/heads/try2 c: 87bf47a h: refs/heads/master v: v3
1 parent bcab0e0 commit d801d3f

File tree

131 files changed

+920
-1272
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+920
-1272
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: c23748c59ce0969bf9251f6d4bb1882ca0045a78
8+
refs/heads/try2: 87bf47a0f706685b8e3acbf40585e45ec423f061
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/.travis.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ install:
1212
- sudo apt-get update -qq
1313
- sudo apt-get install -qq --force-yes -y llvm-$LLVM_VERSION
1414
llvm-${LLVM_VERSION}-dev clang-$LLVM_VERSION lldb-$LLVM_VERSION
15+
libjemalloc-dev
1516

1617

1718
# All of the llvm tools are suffixed with "-$VERS" which we don't want, so
@@ -27,7 +28,8 @@ before_script:
2728
- ln -nsf /usr/bin/llvm-dis-$LLVM_VERSION local-llvm/bin/llvm-dis
2829
- ln -nsf /usr/bin/llc-$LLVM_VERSION local-llvm/bin/llc
2930
- ln -nsf /usr/include/llvm-$LLVM_VERSION local-llvm/include
30-
- ./configure --disable-optimize-tests --llvm-root=`pwd`/local-llvm --enable-fast-make --enable-clang
31+
- ./configure --disable-optimize-tests --llvm-root=`pwd`/local-llvm
32+
--enable-fast-make --enable-clang --jemalloc-root=/usr/lib
3133

3234
# Tidy everything up first, then build a few things, and then run a few tests.
3335
# Note that this is meant to run in a "fairly small" amount of time, so this

branches/try2/configure

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,8 @@ opt verify-install 1 "verify installed binaries work"
425425
valopt prefix "/usr/local" "set installation prefix"
426426
valopt local-rust-root "/usr/local" "set prefix for local rust binary"
427427
valopt llvm-root "" "set LLVM root"
428+
valopt jemalloc-root "" "set directory where libjemalloc_pic.a is located"
429+
valopt libuv-root "" "set directory where libuv.a is located"
428430
valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path"
429431
valopt mingw32-cross-path "" "MinGW32 cross compiler path"
430432

@@ -1198,6 +1200,8 @@ putvar CFG_ANDROID_CROSS_PATH
11981200
putvar CFG_MINGW32_CROSS_PATH
11991201
putvar CFG_MANDIR
12001202
putvar CFG_DISABLE_INJECT_STD_VERSION
1203+
putvar CFG_JEMALLOC_ROOT
1204+
putvar CFG_LIBUV_ROOT
12011205

12021206
# Avoid spurious warnings from clang by feeding it original source on
12031207
# ccache-miss rather than preprocessed input.

branches/try2/mk/crates.mk

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,16 @@ DEPS_rlibc :=
6161
DEPS_alloc := core libc native:jemalloc
6262
DEPS_debug := std
6363
DEPS_rustrt := alloc core libc collections native:rustrt_native
64-
DEPS_std := core libc rand alloc collections rustrt \
64+
DEPS_std := core libc rand alloc collections rustrt sync \
6565
native:rust_builtin native:backtrace
6666
DEPS_graphviz := std
6767
DEPS_green := std native:context_switch
6868
DEPS_rustuv := std native:uv native:uv_support
6969
DEPS_native := std
7070
DEPS_syntax := std term serialize log fmt_macros debug
71-
DEPS_rustc := syntax native:rustllvm flate arena serialize sync getopts \
71+
DEPS_rustc := syntax native:rustllvm flate arena serialize getopts \
7272
time log graphviz debug
73-
DEPS_rustdoc := rustc native:hoedown serialize sync getopts \
73+
DEPS_rustdoc := rustc native:hoedown serialize getopts \
7474
test time debug
7575
DEPS_flate := std native:miniz
7676
DEPS_arena := std
@@ -80,17 +80,17 @@ DEPS_serialize := std log
8080
DEPS_term := std log
8181
DEPS_semver := std
8282
DEPS_uuid := std serialize
83-
DEPS_sync := std alloc
83+
DEPS_sync := core alloc rustrt collections
8484
DEPS_getopts := std
8585
DEPS_collections := core alloc
8686
DEPS_fourcc := rustc syntax std
8787
DEPS_hexfloat := rustc syntax std
8888
DEPS_num := std
8989
DEPS_test := std getopts serialize term time regex native:rust_test_helpers
90-
DEPS_time := std serialize sync
90+
DEPS_time := std serialize
9191
DEPS_rand := core
9292
DEPS_url := std
93-
DEPS_log := std sync
93+
DEPS_log := std
9494
DEPS_regex := std
9595
DEPS_regex_macros = rustc syntax std regex
9696
DEPS_fmt_macros = std

branches/try2/mk/rt.mk

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -204,19 +204,17 @@ $$(LIBUV_MAKEFILE_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS) $$(LIBUV_STAMP_$(1))
204204
# theory when we support msvc then we should be using gyp's msvc output instead
205205
# of mingw's makefile for windows
206206
ifdef CFG_WINDOWSY_$(1)
207-
$$(LIBUV_LIB_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS)
207+
LIBUV_LOCAL_$(1) := $$(S)src/libuv/libuv.a
208+
$$(LIBUV_LOCAL_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS)
208209
$$(Q)$$(MAKE) -C $$(S)src/libuv -f Makefile.mingw \
209210
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS_$(1))" \
210211
CC="$$(CC_$(1)) $$(LIBUV_CFLAGS_$(1)) $$(SNAP_DEFINES)" \
211212
CXX="$$(CXX_$(1))" \
212213
AR="$$(AR_$(1))" \
213214
V=$$(VERBOSE)
214-
$$(Q)cp $$(S)src/libuv/libuv.a $$@
215215
else
216-
$$(LIBUV_LIB_$(1)): $$(LIBUV_DIR_$(1))/Release/libuv.a $$(MKFILE_DEPS)
217-
$$(Q)cp $$< $$@
218-
$$(LIBUV_DIR_$(1))/Release/libuv.a: $$(LIBUV_DEPS) $$(LIBUV_MAKEFILE_$(1)) \
219-
$$(MKFILE_DEPS)
216+
LIBUV_LOCAL_$(1) := $$(LIBUV_DIR_$(1))/Release/libuv.a
217+
$$(LIBUV_LOCAL_$(1)): $$(LIBUV_DEPS) $$(LIBUV_MAKEFILE_$(1)) $$(MKFILE_DEPS)
220218
$$(Q)$$(MAKE) -C $$(LIBUV_DIR_$(1)) \
221219
CFLAGS="$$(LIBUV_CFLAGS_$(1)) $$(SNAP_DEFINES)" \
222220
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS_$(1))" \
@@ -231,6 +229,19 @@ $$(LIBUV_DIR_$(1))/Release/libuv.a: $$(LIBUV_DEPS) $$(LIBUV_MAKEFILE_$(1)) \
231229

232230
endif
233231

232+
ifeq ($(1),$$(CFG_BUILD))
233+
ifneq ($$(CFG_LIBUV_ROOT),)
234+
$$(LIBUV_LIB_$(1)): $$(CFG_LIBUV_ROOT)/libuv.a
235+
$$(Q)cp $$< $$@
236+
else
237+
$$(LIBUV_LIB_$(1)): $$(LIBUV_LOCAL_$(1))
238+
$$(Q)cp $$< $$@
239+
endif
240+
else
241+
$$(LIBUV_LIB_$(1)): $$(LIBUV_LOCAL_$(1))
242+
$$(Q)cp $$< $$@
243+
endif
244+
234245
################################################################################
235246
# jemalloc
236247
################################################################################
@@ -253,8 +264,9 @@ else
253264
endif
254265
JEMALLOC_LIB_$(1) := $$(RT_OUTPUT_DIR_$(1))/$$(JEMALLOC_NAME_$(1))
255266
JEMALLOC_BUILD_DIR_$(1) := $$(RT_OUTPUT_DIR_$(1))/jemalloc
267+
JEMALLOC_LOCAL_$(1) := $$(JEMALLOC_BUILD_DIR_$(1))/lib/$$(JEMALLOC_REAL_NAME_$(1))
256268

257-
$$(JEMALLOC_LIB_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
269+
$$(JEMALLOC_LOCAL_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
258270
@$$(call E, make: jemalloc)
259271
cd "$$(JEMALLOC_BUILD_DIR_$(1))"; "$(S)src/jemalloc/configure" \
260272
$$(JEMALLOC_ARGS_$(1)) --enable-cc-silence --with-jemalloc-prefix=je_ \
@@ -265,7 +277,20 @@ $$(JEMALLOC_LIB_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
265277
CPPFLAGS="-I $(S)src/rt/" \
266278
EXTRA_CFLAGS="$$(CFG_CFLAGS_$(1)) -g1"
267279
$$(Q)$$(MAKE) -C "$$(JEMALLOC_BUILD_DIR_$(1))" build_lib_static
268-
$$(Q)cp $$(JEMALLOC_BUILD_DIR_$(1))/lib/$$(JEMALLOC_REAL_NAME_$(1)) $$(JEMALLOC_LIB_$(1))
280+
281+
ifeq ($(1),$$(CFG_BUILD))
282+
ifneq ($$(CFG_JEMALLOC_ROOT),)
283+
$$(JEMALLOC_LIB_$(1)): $$(CFG_JEMALLOC_ROOT)/libjemalloc_pic.a
284+
@$$(call E, copy: jemalloc)
285+
$$(Q)cp $$< $$@
286+
else
287+
$$(JEMALLOC_LIB_$(1)): $$(JEMALLOC_LOCAL_$(1))
288+
$$(Q)cp $$< $$@
289+
endif
290+
else
291+
$$(JEMALLOC_LIB_$(1)): $$(JEMALLOC_LOCAL_$(1))
292+
$$(Q)cp $$< $$@
293+
endif
269294

270295
################################################################################
271296
# compiler-rt

branches/try2/src/doc/guide-tasks.md

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ later.
269269
The basic example below illustrates this.
270270

271271
~~~
272-
extern crate sync;
272+
use std::sync::Future;
273273
274274
# fn main() {
275275
# fn make_a_sandwich() {};
@@ -278,7 +278,7 @@ fn fib(n: u64) -> u64 {
278278
12586269025
279279
}
280280
281-
let mut delayed_fib = sync::Future::spawn(proc() fib(50));
281+
let mut delayed_fib = Future::spawn(proc() fib(50));
282282
make_a_sandwich();
283283
println!("fib(50) = {}", delayed_fib.get())
284284
# }
@@ -294,7 +294,7 @@ Here is another example showing how futures allow you to background computations
294294
be distributed on the available cores.
295295

296296
~~~
297-
# extern crate sync;
297+
# use std::sync::Future;
298298
fn partial_sum(start: uint) -> f64 {
299299
let mut local_sum = 0f64;
300300
for num in range(start*100000, (start+1)*100000) {
@@ -304,7 +304,7 @@ fn partial_sum(start: uint) -> f64 {
304304
}
305305
306306
fn main() {
307-
let mut futures = Vec::from_fn(1000, |ind| sync::Future::spawn( proc() { partial_sum(ind) }));
307+
let mut futures = Vec::from_fn(1000, |ind| Future::spawn( proc() { partial_sum(ind) }));
308308
309309
let mut final_res = 0f64;
310310
for ft in futures.mut_iter() {
@@ -329,10 +329,8 @@ Here is a small example showing how to use Arcs. We wish to run concurrently sev
329329
a single large vector of floats. Each task needs the full vector to perform its duty.
330330

331331
~~~
332-
extern crate sync;
333-
334-
use sync::Arc;
335332
use std::rand;
333+
use std::sync::Arc;
336334
337335
fn pnorm(nums: &[f64], p: uint) -> f64 {
338336
nums.iter().fold(0.0, |a, b| a + b.powf(p as f64)).powf(1.0 / (p as f64))
@@ -357,9 +355,8 @@ at the power given as argument and takes the inverse power of this value). The A
357355
created by the line
358356

359357
~~~
360-
# extern crate sync;
361358
# use std::rand;
362-
# use sync::Arc;
359+
# use std::sync::Arc;
363360
# fn main() {
364361
# let numbers = Vec::from_fn(1000000, |_| rand::random::<f64>());
365362
let numbers_arc=Arc::new(numbers);
@@ -371,9 +368,8 @@ it's contents. Within the task's procedure, the captured Arc reference can be us
371368
reference to the underlying vector as if it were local.
372369

373370
~~~
374-
# extern crate sync;
375371
# use std::rand;
376-
# use sync::Arc;
372+
# use std::sync::Arc;
377373
# fn pnorm(nums: &[f64], p: uint) -> f64 { 4.0 }
378374
# fn main() {
379375
# let numbers=Vec::from_fn(1000000, |_| rand::random::<f64>());
@@ -461,9 +457,9 @@ the string in response. The child terminates when it receives `0`.
461457
Here is the function that implements the child task:
462458

463459
~~~
464-
extern crate sync;
460+
use std::comm::DuplexStream;
465461
# fn main() {
466-
fn stringifier(channel: &sync::DuplexStream<String, uint>) {
462+
fn stringifier(channel: &DuplexStream<String, uint>) {
467463
let mut value: uint;
468464
loop {
469465
value = channel.recv();
@@ -485,10 +481,10 @@ response itself is simply the stringified version of the received value,
485481
Here is the code for the parent task:
486482

487483
~~~
488-
extern crate sync;
484+
use std::comm::duplex;
489485
# use std::task::spawn;
490-
# use sync::DuplexStream;
491-
# fn stringifier(channel: &sync::DuplexStream<String, uint>) {
486+
# use std::comm::DuplexStream;
487+
# fn stringifier(channel: &DuplexStream<String, uint>) {
492488
# let mut value: uint;
493489
# loop {
494490
# value = channel.recv();
@@ -498,7 +494,7 @@ extern crate sync;
498494
# }
499495
# fn main() {
500496
501-
let (from_child, to_child) = sync::duplex();
497+
let (from_child, to_child) = duplex();
502498
503499
spawn(proc() {
504500
stringifier(&to_child);

branches/try2/src/doc/intro.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,7 @@ an atomically reference counted box ("A.R.C." == "atomically reference counted")
297297
Here's some code:
298298

299299
```
300-
extern crate sync;
301-
use sync::Arc;
300+
use std::sync::Arc;
302301
303302
fn main() {
304303
let numbers = vec![1,2,3];
@@ -344,8 +343,7 @@ Let's take the same example yet again,
344343
and modify it to mutate the shared state:
345344

346345
```
347-
extern crate sync;
348-
use sync::{Arc, Mutex};
346+
use std::sync::{Arc, Mutex};
349347
350348
fn main() {
351349
let numbers = vec![1,2,3];

branches/try2/src/doc/rust.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ block_comment_body : [block_comment | character] * ;
160160
line_comment : "//" non_eol * ;
161161
~~~~
162162

163-
Comments in Rust code follow the general C++ style of line and block-comment forms,
164-
with no nesting of block-comment delimiters.
163+
Comments in Rust code follow the general C++ style of line and block-comment forms.
164+
Nested block comments are supported.
165165

166166
Line comments beginning with exactly _three_ slashes (`///`), and block
167167
comments beginning with exactly one repeated asterisk in the block-open

branches/try2/src/doc/tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2459,7 +2459,7 @@ fn draw_all(shapes: &[Box<Drawable>]) {
24592459
}
24602460
~~~~
24612461

2462-
In this example, there is no type parameter. Instead, the `~Drawable`
2462+
In this example, there is no type parameter. Instead, the `Box<Drawable>`
24632463
type denotes any owned box value that implements the `Drawable` trait.
24642464
To construct such a value, you use the `as` operator to cast a value
24652465
to an object:

branches/try2/src/etc/licenseck.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@
3838
"rt/isaac/randport.cpp", # public domain
3939
"rt/isaac/rand.h", # public domain
4040
"rt/isaac/standard.h", # public domain
41-
"libstd/sync/mpsc_queue.rs", # BSD
42-
"libstd/sync/spsc_queue.rs", # BSD
43-
"libstd/sync/mpmc_bounded_queue.rs", # BSD
41+
"libsync/mpsc_queue.rs", # BSD
42+
"libsync/spsc_queue.rs", # BSD
43+
"libsync/mpmc_bounded_queue.rs", # BSD
4444
"libsync/mpsc_intrusive.rs", # BSD
4545
"test/bench/shootout-fannkuch-redux.rs", # BSD
4646
"test/bench/shootout-meteor.rs", # BSD

branches/try2/src/liballoc/arc.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@ use heap::deallocate;
3333
/// task.
3434
///
3535
/// ```rust
36-
/// extern crate sync;
37-
///
38-
/// use sync::Arc;
36+
/// use std::sync::Arc;
3937
///
4038
/// fn main() {
4139
/// let numbers = Vec::from_fn(100, |i| i as f32);
@@ -276,7 +274,7 @@ mod tests {
276274
use std::task;
277275
use std::vec::Vec;
278276
use super::{Arc, Weak};
279-
use sync::Mutex;
277+
use std::sync::Mutex;
280278

281279
struct Canary(*mut atomics::AtomicUint);
282280

branches/try2/src/liballoc/heap.rs

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -155,24 +155,6 @@ unsafe fn closure_exchange_malloc(drop_glue: fn(*mut u8), size: uint, align: uin
155155
alloc as *mut u8
156156
}
157157

158-
// hack for libcore
159-
#[no_mangle]
160-
#[doc(hidden)]
161-
#[deprecated]
162-
#[cfg(not(test))]
163-
pub unsafe extern "C" fn rust_allocate(size: uint, align: uint) -> *mut u8 {
164-
allocate(size, align)
165-
}
166-
167-
// hack for libcore
168-
#[no_mangle]
169-
#[doc(hidden)]
170-
#[deprecated]
171-
#[cfg(not(test))]
172-
pub unsafe extern "C" fn rust_deallocate(ptr: *mut u8, size: uint, align: uint) {
173-
deallocate(ptr, size, align)
174-
}
175-
176158
#[cfg(test)]
177159
mod bench {
178160
extern crate test;
@@ -184,11 +166,4 @@ mod bench {
184166
box 10
185167
})
186168
}
187-
188-
#[bench]
189-
fn alloc_owned_big(b: &mut Bencher) {
190-
b.iter(|| {
191-
box [10, ..1000]
192-
})
193-
}
194169
}

branches/try2/src/liballoc/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ extern crate libc;
8484
// Allow testing this library
8585

8686
#[cfg(test)] extern crate debug;
87-
#[cfg(test)] extern crate sync;
8887
#[cfg(test)] extern crate native;
8988
#[cfg(test, stage0)] #[phase(syntax, link)] extern crate std;
9089
#[cfg(test, stage0)] #[phase(syntax, link)] extern crate log;

branches/try2/src/libcollections/hash/mod.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -213,13 +213,6 @@ impl<'a, S: Writer, T: Hash<S>> Hash<S> for &'a mut [T] {
213213
}
214214
}
215215

216-
impl<S: Writer, T: Hash<S>> Hash<S> for ~[T] {
217-
#[inline]
218-
fn hash(&self, state: &mut S) {
219-
self.as_slice().hash(state);
220-
}
221-
}
222-
223216
impl<S: Writer, T: Hash<S>> Hash<S> for Vec<T> {
224217
#[inline]
225218
fn hash(&self, state: &mut S) {

0 commit comments

Comments
 (0)