Commit Graph

9070 Commits

Author SHA1 Message Date
Marijn Haverbeke
19508c7d53 Make trans pass responsible for pulling in inlined functions
This makes the logic for finding the inlinable items much easier --
they are simply pulled in lazily when encountered.
2012-03-06 14:00:21 +01:00
Marijn Haverbeke
9b88219723 Don't attach def ids to types when the type already contains the def id 2012-03-06 14:00:13 +01:00
Marijn Haverbeke
cc99ce5bdd Register new snapshot 2012-03-06 13:58:32 +01:00
Brian Anderson
ee991cae81 rt: Add a hack to fix a port detach bug 2012-03-05 20:02:25 -08:00
Brian Anderson
32f7818e7f etc: Add more helgrind suppressions for i686 2012-03-05 19:39:57 -08:00
Brian Anderson
958c321083 rt: Fix the atomic get_ref_count method to avoid races 2012-03-05 19:39:56 -08:00
Brian Anderson
1347d04bb0 rt: Properly block tasks while waiting for port detach 2012-03-05 19:39:56 -08:00
Brian Anderson
4c4a2320eb rt: Make rust_port_detach less contentious
It still utterly dominates some benchmarks with busy waiting, but at least it
doesn't create lock contention while doing so.
2012-03-05 19:39:56 -08:00
Brian Anderson
0a5603cb58 rt: Make linked failure less prone to deadlock
Still a mess.
2012-03-05 19:39:56 -08:00
Brian Anderson
cc276fe3c9 rt: Be more precise with VALGRIND_MAKE_MEM_UNDEFINED 2012-03-05 19:39:56 -08:00
Brian Anderson
c78da1e170 rt: Stop calling prepare_valgrind_stack when it's not needed 2012-03-05 19:39:56 -08:00
Brian Anderson
f057f00300 rt: Simplify reap_dead_tasks 2012-03-05 19:39:56 -08:00
Brian Anderson
8efe4b8913 rt: Add an assert to the scheduler loop 2012-03-05 19:39:56 -08:00
Brian Anderson
e08f46db68 rt: Move receive code into rust_port 2012-03-05 19:39:56 -08:00
Brian Anderson
77295c56c5 rt: Simplify the recv interface 2012-03-05 19:39:56 -08:00
Brian Anderson
8e0efce0da rt: Move some code from rust_port_detach into rust_port::detach 2012-03-05 19:39:56 -08:00
Brian Anderson
93fa933a19 rt: Move some locking from rust_port to rust_task 2012-03-05 19:39:56 -08:00
Brian Anderson
e3ccac8ed3 rt: Renome rust_task::lock to port_lock 2012-03-05 19:39:55 -08:00
Brian Anderson
fa566ad2fd rt: Make the rust_task_thread lock private 2012-03-05 19:39:55 -08:00
Brian Anderson
2465a63a69 rt: Move transition from rust_task to rust_task_thread 2012-03-05 19:39:55 -08:00
Brian Anderson
237652299e rt: Protect cond and cond_name with the state_lock 2012-03-05 19:39:55 -08:00
Brian Anderson
0432030c27 rt: Don't take the task lock on state transitions 2012-03-05 19:39:55 -08:00
Brian Anderson
43f9f4d54a etc: Add helgrind suppressions for libunwind 2012-03-05 19:39:55 -08:00
Brian Anderson
b2a075e20d rt: Protect rust_task::state with a lock 2012-03-05 19:39:55 -08:00
Brian Anderson
d7298a797b rt: Protect rust_task::killed with a lock 2012-03-05 19:39:55 -08:00
Brian Anderson
8a4c8bab84 test: Add test for #979 2012-03-05 18:41:55 -08:00
Brian Anderson
d2135597e9 std: Use util::unreachable 2012-03-05 18:23:01 -08:00
Brian Anderson
2c8c8f9a06 Stop .gitignoring rustboot. It does not exist 2012-03-05 18:17:26 -08:00
Brian Anderson
77ed09728b rustc: Use std::util::unreachable 2012-03-05 18:16:25 -08:00
Brian Anderson
b32e09172c rustc: Make llvm_err non-returning 2012-03-05 18:16:15 -08:00
Brian Anderson
a34ad8c4e7 Stop .gitignoring the rustc directory 2012-03-05 18:15:46 -08:00
Brian Anderson
602015f902 rustc: Use consistent casing for names of timed passes 2012-03-05 17:44:11 -08:00
Brian Anderson
0ee96de4ee rustc: Lower case error messages 2012-03-05 17:05:20 -08:00
Brian Anderson
13a07ce1d4 rustc: Remove some redundant text from error messages 2012-03-05 17:05:20 -08:00
Niko Matsakis
8820d4485b print type arguments when pretty-printing all nominal types 2012-03-05 16:47:52 -08:00
Niko Matsakis
3269a4043c rewrite vec to be more unsafe, more inlined 2012-03-05 16:47:52 -08:00
Niko Matsakis
0416a946b7 give user control of whether we use inline hint or inline always
supply inline hints for resource ctors/dtors
2012-03-05 16:47:51 -08:00
Niko Matsakis
cc2ebfc105 set LLVM inline hint for all #[inline] methods, whether CC or local 2012-03-05 16:47:51 -08:00
Graydon Hoare
e400733e90 Extra removal, missed by last commit. 2012-03-05 16:02:38 -08:00
Graydon Hoare
6c87c34277 Remove dead code from rt (debug_obj, rust_obj, rust_closure, rust_box_obj, rust_vtable) 2012-03-05 15:50:11 -08:00
Brian Anderson
15df3950ad rustc: Remove remaining non-inbounds GEPs 2012-03-05 15:12:36 -08:00
Brian Anderson
3a4c96a196 rt: Remove virtual methods from memory_region, rust_srv 2012-03-05 14:47:24 -08:00
Graydon Hoare
5bf185b499 Port fsync, waitpid and remove_file to core::{os,libc}. 2012-03-05 14:00:44 -08:00
Erick Tryzelaar
faccd4ac92 std: export json::error. 2012-03-05 08:47:21 -08:00
Brian Anderson
633881a562 test: xfail-fast run-pass/classes-simple.rs 2012-03-04 14:13:18 -08:00
Tim Chevalier
e2fa6f03f5 Translate simple classes
Programs using classes with fields only (no methods) compile and run,
    as long as nothing refers to a class in a different crate (todo).

    Also changed the AST representation of classes to have a separate
    record for constructor info (instead of inlining the fields in the
    item_class node), and fixed up spans and pretty-printing for
    classes.
2012-03-04 12:43:17 -08:00
Brian Anderson
1d826b735c rustdoc: Build appropriate filenames for pages 2012-03-04 00:23:54 -08:00
Brian Anderson
0e3cee747a rustdoc: Convert markdown writer to a writer_factory 2012-03-03 23:56:38 -08:00
Brian Anderson
0b2ffa854f rustdoc: Simplify the markdown_pass interface a bit 2012-03-03 23:20:40 -08:00
Brian Anderson
2cdb662022 rustdoc: Remove some bogus error handling around process spawning 2012-03-03 22:09:31 -08:00