Skip to content

Commit c88ad35

Browse files
committed
---
yaml --- r: 116694 b: refs/heads/snap-stage3 c: cac7a20 h: refs/heads/master v: v3
1 parent bde95b0 commit c88ad35

File tree

143 files changed

+1874
-4962
lines changed

Some content is hidden

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

143 files changed

+1874
-4962
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: bee4e6adac17f87b1cdc26ab69f8c0f5d82575a3
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: c119903f621a11643d5f299423a2c72eefffec4c
4+
refs/heads/snap-stage3: cac7a2053aba7be214d5e58e13867089638a8f50
55
refs/heads/try: 009d898a9422ac04c1aa60c0e9aff3abc5fa4672
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/.travis.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ before_script:
2727
- ln -nsf /usr/bin/llvm-dis-$LLVM_VERSION local-llvm/bin/llvm-dis
2828
- ln -nsf /usr/bin/llc-$LLVM_VERSION local-llvm/bin/llc
2929
- ln -nsf /usr/include/llvm-$LLVM_VERSION local-llvm/include
30-
- ./configure --disable-optimize-tests --llvm-root=`pwd`/local-llvm
31-
--enable-fast-make --enable-clang
30+
- ./configure --disable-optimize-tests --llvm-root=`pwd`/local-llvm --enable-fast-make --enable-clang
3231

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

branches/snap-stage3/configure

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,6 @@ 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"
430428
valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path"
431429
valopt mingw32-cross-path "" "MinGW32 cross compiler path"
432430

@@ -1200,8 +1198,6 @@ putvar CFG_ANDROID_CROSS_PATH
12001198
putvar CFG_MINGW32_CROSS_PATH
12011199
putvar CFG_MANDIR
12021200
putvar CFG_DISABLE_INJECT_STD_VERSION
1203-
putvar CFG_JEMALLOC_ROOT
1204-
putvar CFG_LIBUV_ROOT
12051201

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

branches/snap-stage3/mk/rt.mk

Lines changed: 8 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -204,17 +204,19 @@ $$(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_LOCAL_$(1) := $$(S)src/libuv/libuv.a
208-
$$(LIBUV_LOCAL_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS)
207+
$$(LIBUV_LIB_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS)
209208
$$(Q)$$(MAKE) -C $$(S)src/libuv -f Makefile.mingw \
210209
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS_$(1))" \
211210
CC="$$(CC_$(1)) $$(LIBUV_CFLAGS_$(1)) $$(SNAP_DEFINES)" \
212211
CXX="$$(CXX_$(1))" \
213212
AR="$$(AR_$(1))" \
214213
V=$$(VERBOSE)
214+
$$(Q)cp $$(S)src/libuv/libuv.a $$@
215215
else
216-
LIBUV_LOCAL_$(1) := $$(LIBUV_DIR_$(1))/Release/libuv.a
217-
$$(LIBUV_LOCAL_$(1)): $$(LIBUV_DEPS) $$(LIBUV_MAKEFILE_$(1)) $$(MKFILE_DEPS)
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)
218220
$$(Q)$$(MAKE) -C $$(LIBUV_DIR_$(1)) \
219221
CFLAGS="$$(LIBUV_CFLAGS_$(1)) $$(SNAP_DEFINES)" \
220222
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS_$(1))" \
@@ -229,19 +231,6 @@ $$(LIBUV_LOCAL_$(1)): $$(LIBUV_DEPS) $$(LIBUV_MAKEFILE_$(1)) $$(MKFILE_DEPS)
229231

230232
endif
231233

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-
245234
################################################################################
246235
# jemalloc
247236
################################################################################
@@ -264,9 +253,8 @@ else
264253
endif
265254
JEMALLOC_LIB_$(1) := $$(RT_OUTPUT_DIR_$(1))/$$(JEMALLOC_NAME_$(1))
266255
JEMALLOC_BUILD_DIR_$(1) := $$(RT_OUTPUT_DIR_$(1))/jemalloc
267-
JEMALLOC_LOCAL_$(1) := $$(JEMALLOC_BUILD_DIR_$(1))/lib/$$(JEMALLOC_REAL_NAME_$(1))
268256

269-
$$(JEMALLOC_LOCAL_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
257+
$$(JEMALLOC_LIB_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
270258
@$$(call E, make: jemalloc)
271259
cd "$$(JEMALLOC_BUILD_DIR_$(1))"; "$(S)src/jemalloc/configure" \
272260
$$(JEMALLOC_ARGS_$(1)) --enable-cc-silence --with-jemalloc-prefix=je_ \
@@ -277,20 +265,7 @@ $$(JEMALLOC_LOCAL_$(1)): $$(JEMALLOC_DEPS) $$(MKFILE_DEPS)
277265
CPPFLAGS="-I $(S)src/rt/" \
278266
EXTRA_CFLAGS="$$(CFG_CFLAGS_$(1)) -g1"
279267
$$(Q)$$(MAKE) -C "$$(JEMALLOC_BUILD_DIR_$(1))" build_lib_static
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
268+
$$(Q)cp $$(JEMALLOC_BUILD_DIR_$(1))/lib/$$(JEMALLOC_REAL_NAME_$(1)) $$(JEMALLOC_LIB_$(1))
294269

295270
################################################################################
296271
# compiler-rt

branches/snap-stage3/src/doc/guide-lifetimes.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ value. We also call this _borrowing_ the local variable
7878
name for the same data.
7979

8080
In the case of `on_the_heap`, however, no explicit action is necessary.
81-
The compiler will automatically convert a box point to a reference like &point.
81+
The compiler will automatically convert a box box point to a reference like &point.
8282
This is another form of borrowing; in this case, the contents of the owned box
8383
are being lent out.
8484

@@ -275,10 +275,8 @@ invalidate the pointer `owner_age`.
275275

276276
# Borrowing and enums
277277

278-
The previous example showed that the type system forbids any mutations
279-
of owned boxed values while they are being borrowed. In general, the type
280-
system also forbids borrowing a value as mutable if it is already being
281-
borrowed - either as a mutable reference or an immutable one. This restriction
278+
The previous example showed that the type system forbids any borrowing
279+
of owned boxes found in aliasable, mutable memory. This restriction
282280
prevents pointers from pointing into freed memory. There is one other
283281
case where the compiler must be very careful to ensure that pointers
284282
remain valid: pointers into the interior of an `enum`.

branches/snap-stage3/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-
Nested block comments are supported.
163+
Comments in Rust code follow the general C++ style of line and block-comment forms,
164+
with no nesting of block-comment delimiters.
165165

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

branches/snap-stage3/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 `Box<Drawable>`
2462+
In this example, there is no type parameter. Instead, the `~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/snap-stage3/src/liballoc/heap.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,24 @@ 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+
158176
#[cfg(test)]
159177
mod bench {
160178
extern crate test;
@@ -166,4 +184,11 @@ mod bench {
166184
box 10
167185
})
168186
}
187+
188+
#[bench]
189+
fn alloc_owned_big(b: &mut Bencher) {
190+
b.iter(|| {
191+
box [10, ..1000]
192+
})
193+
}
169194
}

branches/snap-stage3/src/libcollections/bitv.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -842,6 +842,7 @@ impl cmp::PartialEq for BitvSet {
842842
}
843843

844844
impl fmt::Show for BitvSet {
845+
#[cfg(stage0)]
845846
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
846847
try!(write!(fmt, r"\{"));
847848
let mut first = true;
@@ -854,6 +855,19 @@ impl fmt::Show for BitvSet {
854855
}
855856
write!(fmt, r"\}")
856857
}
858+
#[cfg(not(stage0))]
859+
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
860+
try!(write!(fmt, "{{"));
861+
let mut first = true;
862+
for n in self.iter() {
863+
if !first {
864+
try!(write!(fmt, ", "));
865+
}
866+
try!(write!(fmt, "{}", n));
867+
first = false;
868+
}
869+
write!(fmt, "}}")
870+
}
857871
}
858872

859873
impl<S: hash::Writer> hash::Hash<S> for BitvSet {

branches/snap-stage3/src/libcollections/hash/mod.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,13 @@ 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+
216223
impl<S: Writer, T: Hash<S>> Hash<S> for Vec<T> {
217224
#[inline]
218225
fn hash(&self, state: &mut S) {

branches/snap-stage3/src/libcollections/hash/sip.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,6 @@ mod tests {
276276
use str::Str;
277277
use string::String;
278278
use slice::{Vector, ImmutableVector};
279-
use vec::Vec;
280279

281280
use super::super::{Hash, Writer};
282281
use super::{SipState, hash, hash_with_keys};
@@ -377,8 +376,8 @@ mod tests {
377376
s
378377
}
379378

380-
fn result_bytes(h: u64) -> Vec<u8> {
381-
vec![(h >> 0) as u8,
379+
fn result_bytes(h: u64) -> ~[u8] {
380+
box [(h >> 0) as u8,
382381
(h >> 8) as u8,
383382
(h >> 16) as u8,
384383
(h >> 24) as u8,

0 commit comments

Comments
 (0)