summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2013-07-02doc: Update links to 0.7 release-0.7 0.7Brian Anderson-5/+5
2013-07-01Ignore all rusti tests harder. #7541Brian Anderson-1/+2
2013-07-01Ignore all rusti tests. #7541Brian Anderson-1/+2
2013-07-01auto merge of #7409 : alexcrichton/rust/threadsafe, r=cmrbors-54/+67
@catamorphism, this re-enables threadsafe rustpkg tests, @brson this will fail unless the bots have LLVM rebuilt, so this is a good indicator of whether that happened or not.
2013-07-01Turn on using LLVM threadsafelyAlex Crichton-54/+67
2013-07-01auto merge of #7488 : yichoi/rust/sanitize_utf8, r=huonwbors-3/+4
back::link::sanitize support escape_utf8 fix #7486
2013-07-01auto merge of #7443 : yjh0502/rust/fix_field_dup, r=huonwbors-0/+38
Check if there is duplicated field names in struct.
2013-07-01auto merge of #7521 : thestinger/rust/vec, r=Aatchbors-48/+69
continued from #7495
2013-07-01auto merge of #7492 : yichoi/rust/fix_cleanllvm, r=luqmanabors-1/+1
fix clean-llvm in mk/clean.mk for cross-compile after #7442 landed, below error produced while android cross-compile ``` make[1]: *** No rule to make target `clean-llvmarm-linux-androideabi', needed by `clean-llvm'. Stop. make[1]: Leaving directory `/home/yichoi/rust_latest/build' make: *** [rustllvm/llvm-auto-clean-stamp] Error 2 ```
2013-07-01librustc: apply changes of char::escape_unicodeYoung-il Choi-1/+2
2013-07-01librustc: back::link::sanitize support esacpe_utf8Young-il Choi-3/+3
2013-06-30auto merge of #7487 : huonw/rust/vec-kill, r=cmrbors-899/+518
Continuation of #7430. I haven't removed the `map` method, since the replacement `v.iter().transform(f).collect::<~[SomeType]>()` is a little ridiculous at the moment.
2013-06-30Update verison numbers in README.mdBrian Anderson-5/+5
2013-06-30pass exchange_malloc an alignment, not a tydescDaniel Micay-26/+39
2013-06-30global_heap: inline get_box_size and align_toDaniel Micay-0/+2
2013-06-30vec: implement exchange vector reserve in RustDaniel Micay-20/+14
2013-06-30global_heap: inline malloc_raw and add realloc_rawDaniel Micay-2/+14
2013-06-30auto merge of #7517 : brson/rust/0.7, r=brsonbors-47/+52
2013-06-30Bump version from 0.7-pre to 0.7Brian Anderson-17/+17
2013-06-30More 0.7 release notesBrian Anderson-30/+35
2013-06-30auto merge of #7495 : thestinger/rust/exchange, r=cmrbors-261/+207
With these changes, exchange allocator headers are never initialized, read or written to. Removing the header will now just involve updating the code in trans using an offset to only do it if the type contained is managed. The only thing blocking removing the initialization of the last field in the header was ~fn since it uses it to store the dynamic size/types due to captures. I temporarily switched it to a `closure_exchange_alloc` lang item (it uses the same `exchange_free`) and #7496 is filed about removing that. Since the `exchange_free` call is now inlined all over the codebase, I don't think we should have an assert for null. It doesn't currently ever happen, but it would be fine if we started generating code that did do it. The `exchange_free` function also had a comment declaring that it must not fail, but a regular assert would cause a failure. I also removed the atomic counter because valgrind can already find these leaks, and we have valgrind bots now. Note that exchange free does not currently print an error an out-of-memory when it aborts, because our `io` code may allocate. We could probably get away with a `#[rust_stack]` call to a `stdio` function but it would be better to make a write system call.
2013-06-30add a closure_exchange_malloc lang itemDaniel Micay-71/+101
this makes the exchange allocation header completely unused, and leaves it uninitialized
2013-06-30stop copying the tydesc in unique box take glueDaniel Micay-9/+4
the only user of the tydesc is ~fn, and it doesn't use this glue code
2013-06-30managed: rm RC_EXCHANGE_UNIQUE constantDaniel Micay-1/+0
this is no longer used, exchange allocations do not set ref_count
2013-06-30stop initializing ref_count in exchange_allocDaniel Micay-1/+21
this is never read anymore
2013-06-30rustpkg: Ignore a test that's failing on the dist-snap botBrian Anderson-0/+1
2013-06-30auto merge of #7465 : alexcrichton/rust/issue-4432, r=cmrbors-253/+323
This stems from trying to perform as few allocations as possible throughout the standard libraries. This specializes the `ToStr` implementation for floats/ints separately because it's known that ints will have a maximum length (whereas floats could be very very large). I also removed a `FIXME` to remove a malloc from the `to_str()` of floats in `repr.rs` because I think that this should be addressed elsewhere. I think that we may not be able to avoid it easily because floats can have such large representations, but regardless this should be a problem with the implementation of `float_to_str_bytes_common` now and not in the `Repr` module.
2013-06-30Specialize to_str_common for floats/integers in strconvAlex Crichton-197/+250
This allows the integral paths to avoid allocations on the heap Closes #4424, #4423
2013-06-30Change char::escape_{default,unicode} to take callbacks instead of allocatingAlex Crichton-56/+73
strings
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-310/+184
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-30auto merge of #7374 : Jeaye/rust/func_highlight, r=cmrbors-0/+1
This allows for highlighting of function calls for free floating, member, and static functions.
2013-06-30Convert vec::{grow, grow_fn, grow_set} to methods.Huon Wilson-68/+48
2013-06-30Convert vec::dedup to a method.Huon Wilson-41/+36
2013-06-30Convert vec::{bsearch, bsearch_elem} to methods.Huon Wilson-86/+95
2013-06-30etc: update etc/unicode.py for the changes made to std::unicode.Huon Wilson-12/+25
2013-06-30Convert vec::{reverse, swap} to methods.Huon Wilson-93/+77
2013-06-30Convert vec::{rposition, rposition_elem, position_elem, contains} to methods.Huon Wilson-74/+50
2013-06-30Remove vec::[r]position_between, replaced by slices & iterators.Huon Wilson-106/+13
2013-06-30Remove vec::{rfind, rfind_between, find_between}, replaced by slices and ↵Huon Wilson-120/+1
iterator adapators.
2013-06-30auto merge of #7468 : cmr/rust/great_renaming, r=pcwaltonbors-1121/+825
2013-06-30vec: use contains_managed instead of box headerDaniel Micay-1/+29
2013-06-30add a contains_managed intrinsicDaniel Micay-2/+12
2013-06-30simplify the exchange allocatorDaniel Micay-180/+44
* stop using an atomic counter, this has a significant cost and valgrind will already catch these leaks * remove the extra layer of function calls * remove the assert of non-null in free, freeing null is well defined but throwing a failure from free will not be * stop initializing the `prev`/`next` pointers * abort on out-of-memory, failing won't necessarily work
2013-06-29auto merge of #7490 : mozilla/rust/rollup, r=thestingerbors-14/+16
603137c r=cmr fe10db2 r=bstrie
2013-06-29auto merge of #7475 : Seldaek/rust/fixsplit, r=cmrbors-1/+10
I almost got locked out of my machine because I misunderstood the purpose of the function and called it with a limit of uint::max_value, which turned this function into an almost endless loop.
2013-06-30mk: clean-llvm for cross-compileYoung-il Choi-1/+1
2013-06-29auto merge of #7457 : Blei/rust/fix-ffi-floats, r=cmrbors-9/+6
Also contains a fix to help ctag pick up macro definitions.
2013-06-30Fixes #7377jihyun-0/+38
2013-06-29auto merge of #7452 : dotdash/rust/self_indirection, r=cmrbors-127/+82
Currently we pass all "self" arguments by reference, for the pointer variants this means that we end up with double indirection which causes a unnecessary performance hit. The fix itself is pretty straight-forward and just means that "self" needs to be handled like any other argument, except for by-value "self" which still needs to be passed by reference. This is because non-pointer types can't just be stuffed into the environment slot which is used to pass "self". What made things tricky is that there was also a bug in the typechecker where the method map entries are created. For type impls, that stored the base type instead of the actual self-type in the method map, e.g. Foo instead of &Foo for &self. That worked with pass-by-reference, but fails with pass-by-value which needs the real type. Code that makes use of methods seems to be about 10% faster with this change. Also, build times are reduced by about 4%. Fixes #4355, #4402, #5280, #4406 and #7285
2013-06-29minor vec cleanupDaniel Micay-10/+6
* hide the rustrt module in the docs * remove the useless `traits` module wrapping the `Add` impl