Commit Graph

9016 Commits

Author SHA1 Message Date
Patrick Walton
95ce42b346 rustc: Instantiate self regions in impls 2012-03-15 17:14:02 -07:00
Brian Anderson
bcf44f8cc1 core: Optimize str::unsafe::slice_bytes. Closes #1995 2012-03-15 17:10:39 -07:00
Daniel Brooks
29fa4a60fb This path could have spaces in it, so quote it 2012-03-15 16:55:22 -07:00
Patrick Walton
0095e6d85b rustc: Have the typechecker pick up the resolved self region 2012-03-15 16:48:53 -07:00
Marijn Haverbeke
76d07f4056 Remove dynastack support from runtime
Issue #1982
2012-03-16 00:44:06 +01:00
Marijn Haverbeke
146b61189a Get rid of rust_crate_cache in the runtime
We are no longer generating dynamic tydescs or dicts.

Issue #1982
2012-03-16 00:44:06 +01:00
Patrick Walton
bc21a5ddbe rustc: Create self region bindings, and forbid the self region from being used in places it shouldn't be 2012-03-15 16:38:08 -07:00
Brian Anderson
041c9a0863 core: Optimize str::bytes
This compiles down to a memmove. Takes about 1/4 of the time of the old
version.
2012-03-15 15:43:01 -07:00
Tim Chevalier
771177a814 Don't pass Unicode to char::is_upper 2012-03-15 15:40:43 -07:00
Tim Chevalier
26b54cc17e Add asserts to char::is_upper and char::is_lower
Add an assert that the argument char is ASCII, as well as adding
issue numbers to FIXMEs
2012-03-15 15:40:43 -07:00
Tim Chevalier
f67f2388f7 Use str::is_whitespace instead of dup'd is_whitespace function 2012-03-15 15:40:43 -07:00
Tim Chevalier
e697456d52 Associate FIXMEs with issue numbers (comments only) 2012-03-15 15:40:43 -07:00
Niko Matsakis
5f68206a73 register new snapshots 2012-03-15 18:30:10 -04:00
Niko Matsakis
d365ec5c7d kill old serialization code 2012-03-15 18:30:10 -04:00
Niko Matsakis
3dca3393fa switch over to using new serialize/deserialize code 2012-03-15 18:30:08 -04:00
Brian Anderson
f69e9ff643 test: Fix breakage 2012-03-15 15:18:04 -07:00
Brian Anderson
e1b14f6d5b test: Fix name of bitv type 2012-03-15 14:54:41 -07:00
Brian Anderson
7e0fa3f852 std: Swap the argument order of list::foldl to match vec::foldl 2012-03-15 14:15:49 -07:00
Brian Anderson
5e8004d493 std: Follow conventions in bitv 2012-03-15 14:08:47 -07:00
Brian Anderson
844fbd83da core: Make some functions pure 2012-03-15 13:57:26 -07:00
Brian Anderson
561511e628 core: Channels are just port ids 2012-03-15 11:10:53 -07:00
Brian Anderson
c414b78afe rt: Remove the kernel task table 2012-03-15 11:10:52 -07:00
Brian Anderson
1366d65660 rt: Remove remaining uses of rust_kernel::get_task_by_id 2012-03-15 11:10:52 -07:00
Brian Anderson
b278d675a2 rt: Look up ports through a single port table
Instead of a two-level lookup, just use one big table
2012-03-15 11:10:52 -07:00
Marijn Haverbeke
337d860a87 Make last-use finder treat referenced function arguments properly
Closes #1964
2012-03-15 17:04:35 +01:00
Marijn Haverbeke
1745ac9c61 Remove tests from astencode.rs
They mysteriously fail on Windows, and Niko assures me this code is about
be replaced anyway.
2012-03-15 15:44:19 +01:00
Marijn Haverbeke
2e3f1096bb Fix bug in vtable builder
Closes #1947 , which I completely misdiagnosed.
2012-03-15 15:08:31 +01:00
Marijn Haverbeke
24ed441a05 Reuse monomorphized functions more aggressively
Adds a trans::type_use pass that, given a function body, detects how
dependant that function is on properties of its type parameters.
2012-03-15 15:08:31 +01:00
Marijn Haverbeke
3ab9978b9b Remove support for dynamically-sized types from translation code 2012-03-15 15:08:31 +01:00
Marijn Haverbeke
a4d75a4ed1 Remove GEP_tup_like 2012-03-15 15:08:31 +01:00
Marijn Haverbeke
c3a93ecd3f Remove dynastack code from compiler 2012-03-15 15:08:30 +01:00
Marijn Haverbeke
bc8a43a776 Remove lltyparams field in trans::common::fn_ctxt 2012-03-15 15:08:30 +01:00
Marijn Haverbeke
d0f5e58e95 Zero out dest ptr when port_recv doesn't return a value 2012-03-15 15:08:30 +01:00
Marijn Haverbeke
959adff2fa Suppress valgrind error in dynamic linker
This was happening when running the rustdoc tests. The test proceeded
fine after that, and the code looks like it is running before anything
we generate, so I assume it is spurious.
2012-03-15 15:08:30 +01:00
Marijn Haverbeke
332329f161 Don't pass an undef retptr to generic intrinsics
It leads to segfaults
2012-03-15 10:22:46 +01:00
Marijn Haverbeke
b6ad34bef4 Properly recognize external intrinsics 2012-03-15 10:22:46 +01:00
Marijn Haverbeke
e4cbd43c43 Huge kludge to get intrinsics' type parameters passed 2012-03-15 09:41:21 +01:00
Marijn Haverbeke
9aa78e34e4 Never pass tydesc to functions
My assumption that native generics needed them was wrong, so tydescs
can be eliminated from function signatures completely.
2012-03-15 09:40:52 +01:00
Marijn Haverbeke
47f35c9d34 Properly replace iface tps with impl tps in static method calls
Un-xfail iface-generic.rs
2012-03-15 09:32:53 +01:00
Marijn Haverbeke
fe90c189f4 Only write metadata for items that actually appear in the root AST
Not for imported ASTs from inlined items.
2012-03-15 09:32:53 +01:00
Marijn Haverbeke
2c8c50d6cb Make sure enum and resource constructors are inlined properly 2012-03-15 09:32:53 +01:00
Marijn Haverbeke
4650e8bcf4 Make sure resource destructors are properly monomorphized 2012-03-15 09:32:53 +01:00
Marijn Haverbeke
8f84d4c8b6 Remove a large part of the tydesc-passing code 2012-03-15 09:31:34 +01:00
Marijn Haverbeke
83c9f58534 Rename dict to vtable throughout the compiler
The difference went away.
2012-03-15 09:28:50 +01:00
Marijn Haverbeke
4511f936b1 Hugely simplify iface handling
With the assumption of monomorphization
2012-03-15 09:26:54 +01:00
Marijn Haverbeke
168398bb3d Stop generating generic versions of generic functions
Monomorphic instances are generated on demand.
2012-03-15 09:00:21 +01:00
Marijn Haverbeke
47e65403b7 Disallow calling generic methods through a boxed iface 2012-03-15 08:59:29 +01:00
Marijn Haverbeke
5e647d799e Fix assumption that monomorphized method's impls are crate-local 2012-03-15 08:59:29 +01:00
Marijn Haverbeke
75e6fb4feb Fix monomorphization of resource constructors 2012-03-15 08:59:29 +01:00
Marijn Haverbeke
0e5da379dd Turn on monomorphization by default 2012-03-15 08:59:29 +01:00