Commit Graph

10403 Commits

Author SHA1 Message Date
Ben Blum
60d682b577 Fix asserts & short-read bug in isaac_seed (#2870) 2012-07-25 18:03:00 -04:00
Ben Blum
4378e7ead1 Fix os::env race (#2870) 2012-07-25 18:03:00 -04:00
Graydon Hoare
43867bf6f3 Merge pull request #3014 from elliottslaughter/fix-failed-build-by-xfailing-tests
Fix build by xfailing tests which produce irreducible CFGs.
2012-07-25 14:50:02 -07:00
Elliott Slaughter
9ca2a11137 Fix build by xfailing tests which produce irreducible CFGs. 2012-07-25 14:42:37 -07:00
Eric Holk
6748f78cb1 Polymorphic protocols work well enough to do MapReduce.
I did some horrible things with type variable naming here. It should do the right thing in most cases, but we'll need to go through and make it correct someday.
2012-07-25 12:12:26 -07:00
Eric Holk
14adb98b64 Bounded protocols work well enough to compile core, but map reduce has too many type parameters, so we have to get fancier. 2012-07-25 12:12:25 -07:00
Eric Holk
1dde5e7fc2 Thread spans through the pipe compiler. They aren't perfect, but they make debugging far easier than core.rc:0:0.
Changed the is_bounded check, so we fail compiling core right now due to not supporting type parameters.
2012-07-25 12:12:25 -07:00
Eric Holk
7ecddb2771 More purity to make it easier to borrow strings in format strings. 2012-07-25 12:12:25 -07:00
Eric Holk
f5be06fa1f Added infrastructure to spin for a bit on recv. A spin count > 0 makes bench/pingpong.rs about 10x faster, but makes msgsend-ring-pipes unbearably slow. 2012-07-25 12:12:25 -07:00
Eric Holk
35576168dc Added a benchmark of bounded vs unbounded. Bounded is 8-12% faster. The macros currently don't work without pretty printing first. 2012-07-25 12:12:25 -07:00
Eric Holk
7f5f1f90a0 Compiled a bounded version of pingpong.
There are some failures in the other pipe tests, but these seem to just be a matter of generalizing the library code.

Updating pipes library so all tests pass again
2012-07-25 12:12:25 -07:00
Eric Holk
b97fe98354 Generate buffer type for bounded protocols 2012-07-25 12:12:25 -07:00
Eric Holk
c28af26258 Refactor the bounded pingpong example to avoid needing to generate unsafe code.
Took some steps towards bounded codegen.
2012-07-25 12:12:25 -07:00
Eric Holk
88877effa8 Allow logging slices 2012-07-25 12:12:25 -07:00
Eric Holk
4f29814f2a Hand-written bounded pingpong implementation. 2012-07-25 12:12:25 -07:00
Eric Holk
d74fb9875b Refactoring pipes to allow implementing bounded protocols. 2012-07-25 12:12:25 -07:00
Eric Holk
f65d6026ef Started playing with macros to make receiving easier 2012-07-25 12:12:25 -07:00
Eric Holk
6535da8417 Tighten pipe exports, and refactor traits. 2012-07-25 12:12:25 -07:00
Ben Blum
729c37f3cc (minor) remove config_notify from rustrt.def.in 2012-07-25 13:29:50 -04:00
Ben Blum
8d43724087 minor rt cleanup 2012-07-25 13:24:00 -04:00
Ben Blum
c68f2d9aab Remove notification channels in runtime (closes #1078) 2012-07-25 13:22:43 -04:00
Ben Blum
d9e8efca19 Handle notification channels in task.rs 2012-07-25 13:22:43 -04:00
Graydon Hoare
1e241b5abd Merge pull request #3009 from elliottslaughter/utf8-idents-test-fix
Fix test floating point comparison to tolerate imprecise FPUs.
2012-07-25 10:20:40 -07:00
Niko Matsakis
4b8d0539f9 adjust deprecated_use not to warn about sugared closures 2012-07-25 10:19:28 -07:00
Niko Matsakis
dc744e816d fix oversight in ty_decode.
I thought this case would not come up.
2012-07-25 09:19:59 -07:00
Niko Matsakis
cc8086a045 add new deprecated_mode lint pass
It will warn you if you use the default mode for something that
is expensive to copy, and it will warn you if you use any explicit
mode other than copy.  So you should migrate over to using the
default mode for most things (and borrowed pointers when you don't
want to copy) and copy mode for things you really wanted to copy.
2012-07-25 09:19:02 -07:00
Niko Matsakis
99674dc52b avoid capture of bound regions when infering types for closure
expressions. cc #2981
2012-07-25 05:45:52 -07:00
Niko Matsakis
2d3a197f0e comment various region-related things better 2012-07-25 05:45:52 -07:00
Niko Matsakis
7022ede9b3 make unique pointers inherit mutability from owner 2012-07-25 05:45:52 -07:00
Niko Matsakis
3bcd973419 from_fn and ref_set do not require copy bound 2012-07-25 05:45:52 -07:00
Niko Matsakis
f061560ce4 range() is pure 2012-07-25 05:45:52 -07:00
Niko Matsakis
168306f11b correct treatment of mutability for deref'd components
Fixes #2980
2012-07-25 05:45:52 -07:00
Patrick Walton
1df5c52791 vim: Highlight "struct" 2012-07-24 21:09:42 -07:00
Ben Blum
a038d272b0 rust_cond_lock acquire/release should be inside the atomically { .. } 2012-07-24 20:28:30 -04:00
Ben Blum
bb5db3bc8a Add 2-degree familial relations linked failure tests & fix secondborn behaviour 2012-07-24 20:21:20 -04:00
Elliott Slaughter
d9c9a2f97e Remove rustllvm functions which have moved upstream. 2012-07-24 17:11:13 -07:00
Graydon Hoare
668e2c86a0 Bump LLVM, clang and compiler-rt, integrating eds' work. 2012-07-24 17:11:13 -07:00
Zack Corr
480fa7c00e Only initialize targets that are actually supported / linked to in RustWrapper 2012-07-24 17:11:13 -07:00
Graydon Hoare
fada46c421 Add core::hash containing SipHash-2-4 implementation. Re: #1616 and #859. 2012-07-24 17:11:13 -07:00
Patrick Walton
0737f1b53d rustc: Write impl attributes into the metadata 2012-07-24 17:06:32 -07:00
Patrick Walton
22ef08293e test: Add a max/min classes test case 2012-07-24 16:39:26 -07:00
Patrick Walton
728d16cfca rustc: Parse new-style impl declarations 2012-07-24 16:38:24 -07:00
Elliott Slaughter
1e27d1994f Fix test floating point comparison to tolerate imprecise FPUs. 2012-07-24 16:15:30 -07:00
Patrick Walton
587b0edbbf rustc: Don't require that structs have constructors 2012-07-24 15:29:51 -07:00
Ben Blum
695ab09899 Change yield() and wait_event() to be MUST_CHECK and return the killed flag. (closes #2875) 2012-07-24 18:24:24 -04:00
Eric Holk
d948254ccb Fix xfail comment 2012-07-24 14:56:59 -07:00
Eric Holk
22e3a8506f Test case for #3005 2012-07-24 14:56:02 -07:00
Ben Blum
2040a5c632 tiny runtime cleanup 2012-07-24 17:35:08 -04:00
Ben Blum
f42a5a1acd Remove unsupervise 2012-07-24 17:31:43 -04:00
Ben Blum
c0abe69993 task.rs remove old builder interface 2012-07-24 17:27:34 -04:00
Ben Blum
be3a71a1aa Add option::unwrap_expect 2012-07-24 17:27:34 -04:00
Graydon Hoare
160ffb0c2f Fix more windows breakage. 2012-07-24 14:08:34 -07:00
Patrick Walton
32e8429341 rustc: Translate struct literals 2012-07-24 13:59:17 -07:00
Graydon Hoare
b91da0945d Fix windows breakage. 2012-07-24 13:55:27 -07:00
Graydon Hoare
539a160bb7 Merge pull request #3003 from elliottslaughter/free-cant-fail
Don't emit invoke instructions inside landing pads.
2012-07-24 13:49:24 -07:00
Graydon Hoare
8868b222c3 Fix whitespace. 2012-07-24 13:21:25 -07:00
Graydon Hoare
a63e0e47f0 Update some str functions to slices, merge as_buf and unpack_slice. 2012-07-24 12:35:52 -07:00
Ben Blum
ae094a7adc Add 'do atomically { .. }' for exclusives 2012-07-24 15:28:35 -04:00
Elliott Slaughter
c341eb9052 Don't emit invoke instructions inside landing pads.
We can't throw an exception from inside a landing pad without
corrupting the exception handler, so we have no hope of dealing with
these exceptions anyway. See:

http://llvm.org/docs/ExceptionHandling.html#cleanups

Part of #2861.
2012-07-24 12:20:39 -07:00
Paul Stansifer
9103e43909 Bugfix: enable transcription to deal with zero-repetition cases. 2012-07-24 11:44:58 -07:00
Paul Stansifer
e20c5e7596 Improve an error message a little. 2012-07-24 11:44:58 -07:00
Paul Stansifer
f785cccf0f Bugfix: make the parser handle the case where zero repetitions occur, by handling parse results on the basis of what names the matcher expects to bind, not on what names are actually bound. 2012-07-24 11:44:58 -07:00
Paul Stansifer
1c472564e3 Add 5.timesi() |idx| { ... } 2012-07-24 11:44:58 -07:00
Paul Stansifer
a57686d46d Make rustdoc deal with macros. Rustdoc still fails, though; we think it needs to do an unparallelized, non-failure-ignoring resolve. 2012-07-24 11:44:58 -07:00
Patrick Walton
0930b95395 rustc: Typecheck struct literals 2012-07-24 11:29:07 -07:00
Eric Holk
bf96298ff9 Import reader_util 2012-07-24 10:51:30 -07:00
Patrick Walton
b3cad86a05 rustc: Resolve struct names in struct literals 2012-07-23 18:58:57 -07:00
Patrick Walton
0d581bdafe syntax: Expect the closing brace after struct literals 2012-07-23 18:58:56 -07:00
Ted Horst
78fa02106e call task::yield in comm::peek 2012-07-23 17:51:10 -07:00
Glenn Willen
28519c8ef6 Add to_str for hashmap. 2012-07-23 17:30:02 -07:00
Erick Tryzelaar
06ac0c2b1d Switch reader to work with preallocated vecs
This closes #2901.
2012-07-23 17:15:30 -07:00
Erick Tryzelaar
6d042c0f2d tests: Rename to avoid colliding with real rust-zmq. 2012-07-23 17:15:30 -07:00
Erick Tryzelaar
66ebdbb283 libcore: whitespace cleanup. 2012-07-23 17:15:30 -07:00
Erick Tryzelaar
971b59106a libcore: add vec memcpy and memmove fns 2012-07-23 17:15:30 -07:00
Erick Tryzelaar
9d4aab80a7 libcore: add vec::{mut_view, const_view}. 2012-07-23 17:15:30 -07:00
Erick Tryzelaar
a762c725b5 libcore: Modernize a docstring 2012-07-23 17:15:30 -07:00
Ben Blum
cbaa602dbd Convert std::test to new task_builder interface 2012-07-23 20:09:17 -04:00
Ben Blum
b30a58abe2 Convert bench and run-pass tests to new task_builder interface 2012-07-23 20:09:17 -04:00
Ben Blum
e0e9e451e7 Convert os/priv/uv to new task_builder interface 2012-07-23 20:09:17 -04:00
Ben Blum
c7a6a66e4b Get rid of task::future_task 2012-07-23 20:09:17 -04:00
Ben Blum
e6efb24f3f Add task::task_builder interface for improved spawning (related #2585) 2012-07-23 20:09:16 -04:00
Graydon Hoare
7680f504c2 Merge pull request #2998 from elliottslaughter/no-landing-pads
Add debug flag to turn off landing pads.
2012-07-23 16:47:35 -07:00
Patrick Walton
df4db83ed8 rustc: Max/min classes: Add struct literal syntax 2012-07-23 16:40:05 -07:00
Daniel Patterson
ee2abc1cae Adding simple net::url module to parse and format urls. 2012-07-23 15:44:03 -07:00
Tim Chevalier
4806a4f120 Merge pull request #3000 from dgryski/master
Fix formatting of multiline code blocks in asm-comments
2012-07-23 14:39:08 -07:00
Ben Blum
80f4e9f2ec Oops, xfail-win32 task-killjoin-rsrc 2012-07-23 17:36:03 -04:00
Damian Gryski
9b02acbc5d Fix formatting of multi-line blocks in asm-comments 2012-07-23 23:18:12 +02:00
Patrick Walton
a57087e032 syntax: Remove reference to typestate in a comment 2012-07-23 13:24:58 -07:00
Patrick Walton
674dd14eec rustc: Make vtables use the coherence tables 2012-07-23 13:24:05 -07:00
Ben Blum
81f108154a Fix and un-xfail task-killjoin-rsrc.rs 2012-07-23 16:15:12 -04:00
Elliott Slaughter
d8c75cfbe7 Add debug flag to turn off landing pads. 2012-07-23 13:07:35 -07:00
Ben Blum
d0fb85359a Add task::spawn_unlinked and start migrating away from task::unsupervise 2012-07-23 16:06:29 -04:00
Ben Blum
6e21b5fd22 remove unneeded export local_data in task.rs (#2945) 2012-07-23 16:06:29 -04:00
Elliott Slaughter
66e5a8ca18 Add rustrt wrapper functions to export list. 2012-07-23 12:21:41 -07:00
Elliott Slaughter
d257382863 Moved malloc and free upcalls into rust runtime. 2012-07-23 10:45:58 -07:00
Elliott Slaughter
de82a9be61 Move fail upcall into rust libcore. 2012-07-23 10:45:58 -07:00
Tim Chevalier
beb2cd1658 Remove what's left of resolve1 2012-07-20 17:08:19 -07:00
Ben Blum
3dc52da989 [4/4 for #2365, #2671] Reassign one last fixme to #908. Close #2365. Close #2671. 2012-07-20 19:23:19 -04:00
Ben Blum
af7b769465 [3/4 for #2365, #2671] Fix exit/kill race with scheds during rust_kernel::fail 2012-07-20 19:23:19 -04:00
Ben Blum
18c645a883 [2/4 for #2365, #2671] Fix exit/kill race with tasks during rust_kernel::fail 2012-07-20 19:23:19 -04:00