Marijn Haverbeke
|
6b11f6c46f
|
Change rustc to use GetOpts rather than ad-hoc command-line parsing
NOTE: all 'long' parameters now use a double dash, so --shared, rather
than gcc-style -shared.
|
2011-04-26 20:32:14 +02:00 |
|
Patrick Walton
|
2746d20c83
|
rustc: Add a missing return value to Collect.ty_of_item()
|
2011-04-25 18:15:48 -07:00 |
|
Graydon Hoare
|
cf23db6be5
|
A little more guarding against wasted work in ty, typeck.
|
2011-04-25 18:08:13 -07:00 |
|
Patrick Walton
|
c4e13cd1fa
|
rustc: Use the abbreviated type names to avoid LLVM bitcode size explosion
|
2011-04-25 17:00:25 -07:00 |
|
Graydon Hoare
|
da328b1ba9
|
Kick ty_var and ty_local entries out of the type store. Pre-compute presence of var, local, param and bound_params in types.
|
2011-04-25 16:40:25 -07:00 |
|
Patrick Walton
|
e0479c902b
|
rustc: Add a -save-temps option to save bitcode and write output simultaneously; document command line switches
|
2011-04-25 14:08:12 -07:00 |
|
Patrick Walton
|
e102413aad
|
rustc: Pass a "type context" around instead of directly passing the type store; prep for removing type annotations
|
2011-04-25 12:15:55 -07:00 |
|
Graydon Hoare
|
b258060a94
|
Avoid type_store hashtable access for a variety of cases, probably only ty_var matters.
|
2011-04-25 09:49:08 -07:00 |
|
Graydon Hoare
|
485399a8d5
|
Skip substitution and/or binding when there's no work to do.
|
2011-04-25 05:39:18 +00:00 |
|
Graydon Hoare
|
1b9e6b3ad2
|
Bind tag members as aliases rather than new locals.
|
2011-04-25 04:12:40 +00:00 |
|
Graydon Hoare
|
912c1fc81c
|
Fix busted iter/put code. Un-XFAIL foreach-box-drop.rs.
|
2011-04-23 14:22:10 -07:00 |
|
Patrick Walton
|
2b298fa3e8
|
rustc: Use a silly "magic numbers" hack; seems to speed things up a bit.
|
2011-04-22 19:52:30 -07:00 |
|
Patrick Walton
|
94e5ca4df8
|
rustc: Include the cname in the hash to increase entropy
|
2011-04-22 19:26:00 -07:00 |
|
Patrick Walton
|
e0eccaddb2
|
rustc: Thread the type store through everything that needs to access type structures
|
2011-04-22 17:00:46 -07:00 |
|
Patrick Walton
|
3d62c9adf3
|
rustc: Move the type serialization logic to an Encode module
|
2011-04-22 14:48:25 -07:00 |
|
Patrick Walton
|
14d1c53a9c
|
rustc: Remove direct access to the cname field of types
|
2011-04-22 13:45:21 -07:00 |
|
Patrick Walton
|
c7473c8260
|
rustc: Switch @ty.t to ty.t so that we can change it to a uint
|
2011-04-22 12:27:52 -07:00 |
|
Patrick Walton
|
c1335510d5
|
rustc: Eliminate the direct use of ty.t.struct
|
2011-04-22 12:09:09 -07:00 |
|
Rafael Ávila de Espíndola
|
9eb1479746
|
Dispose the module.
Thanks to brson for noticing it.
|
2011-04-22 14:49:02 -04:00 |
|
Patrick Walton
|
106f783b33
|
rustc: Add a fast path when the types to be unified are exactly equal
|
2011-04-22 10:51:32 -07:00 |
|
Patrick Walton
|
9edaa7dba3
|
rustc: Add a fast path if there are no type substitutions to be made
|
2011-04-22 10:37:51 -07:00 |
|
Patrick Walton
|
9ab9bd9cc2
|
rustc: Improve the efficiency of lookup_item_type() slightly
|
2011-04-22 10:19:57 -07:00 |
|
Marijn Haverbeke
|
2361b65526
|
Switch to binary search in codemap.lookup_pos
Patrick observed excessive slowness when looking up positions
in rustc. This might help.
|
2011-04-22 12:11:00 +02:00 |
|
Patrick Walton
|
117aff8688
|
rustc: Intern types
|
2011-04-21 19:31:13 -07:00 |
|
Brian Anderson
|
540344acb9
|
Fix the signature of expr_ext
The extension body is just a string, not an expression.
|
2011-04-21 20:42:26 -04:00 |
|
Patrick Walton
|
5e7336ec0d
|
rustc: Add a shallow type equality function, not used yet
|
2011-04-21 17:06:01 -07:00 |
|
Patrick Walton
|
5dbf554bb3
|
rustc: Pass a type store around, which does nothing yet
|
2011-04-21 14:30:27 -07:00 |
|
Patrick Walton
|
3dbfc9310a
|
rustc: Make the parser never assign any types, not even ty_nil
|
2011-04-21 13:00:06 -07:00 |
|
Patrick Walton
|
4d5fad696a
|
rustc: Get rid of boring_ann(); it duplicates plain_ann()
|
2011-04-21 12:51:46 -07:00 |
|
Patrick Walton
|
ef0fcdd630
|
rustc: Create a unification context
|
2011-04-21 12:10:53 -07:00 |
|
Patrick Walton
|
f4b89f5d79
|
rustc: Move ty.unify to a separate namespace
|
2011-04-21 11:46:31 -07:00 |
|
Graydon Hoare
|
4509e6fd70
|
Change ty.eq_ty to avoid stringification.
|
2011-04-21 05:31:00 +00:00 |
|
Patrick Walton
|
1ee96891a0
|
rustc: Create an item collection context during typechecking; move collection to a module
|
2011-04-20 17:59:33 -07:00 |
|
Graydon Hoare
|
c0d98cec45
|
Fix walk bug that coupled with marijns work to regress stage1.
|
2011-04-20 22:52:33 +00:00 |
|
Patrick Walton
|
bc50a3ba44
|
rustc: Add a type unification cache
|
2011-04-20 15:26:55 -07:00 |
|
Patrick Walton
|
7596fcfba7
|
rustc: Define type hashing inductively
|
2011-04-20 14:34:17 -07:00 |
|
Patrick Walton
|
276a0f2de8
|
rustc: Precompute type hashes
|
2011-04-20 12:22:28 -07:00 |
|
Patrick Walton
|
cac7524c1a
|
rustc: Remove all manual type construction outside ty.rs
|
2011-04-20 11:59:10 -07:00 |
|
Patrick Walton
|
38e842244c
|
rustc: Remove all uses of plain_ty() and friends from outside of ty.rs
|
2011-04-20 11:23:36 -07:00 |
|
Patrick Walton
|
ac62488bb1
|
rustc: Introduce preferred type constructors, which will eventually precompute hashes and intern
|
2011-04-20 10:51:41 -07:00 |
|
Marijn Haverbeke
|
c49735d7c4
|
Remove last uses of fold from trans.rs
|
2011-04-20 17:43:37 +02:00 |
|
Marijn Haverbeke
|
757f1520d7
|
Change trans.collect_items to use walk, not fold
|
2011-04-20 17:23:45 +02:00 |
|
Marijn Haverbeke
|
4fe339d5ef
|
Change collect_upvars from using fold to using walk
|
2011-04-20 12:35:34 +02:00 |
|
Marijn Haverbeke
|
fc6fbc1ed0
|
Integrate walk.rs
|
2011-04-20 12:35:07 +02:00 |
|
Graydon Hoare
|
9034a8fbd6
|
Fix #335, log context needs to be a scope to capture cleanups.
|
2011-04-20 04:55:55 +00:00 |
|
Graydon Hoare
|
2e6711fca5
|
Small fast-path hack to ty.hash_ty and eq_ty.
|
2011-04-19 18:46:54 -07:00 |
|
Patrick Walton
|
1080ac5349
|
rustc: Add a -noverify option
|
2011-04-19 18:31:27 -07:00 |
|
Graydon Hoare
|
d1b9ddc8d4
|
Add testcase for bootstrap blocker and fix for each result type to nil.
|
2011-04-19 16:53:12 -07:00 |
|
Patrick Walton
|
6651826677
|
rustc: Cache the results of type_of()
|
2011-04-19 16:41:08 -07:00 |
|
Patrick Walton
|
5475c0009c
|
rustc: Use marijnh's stringifier for type hash and equality, since it's not sensitive to cnames
|
2011-04-19 16:41:08 -07:00 |
|