Commit Graph

2415 Commits

Author SHA1 Message Date
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
5fe21b5af0 Skip likely-zero initial probe, speed up map.rs. 2011-04-25 04:12:33 +00:00
Graydon Hoare
0cffc58225 Fix LD_LIBRARY_PATH on STAGE0, STAGE1 defs; define STAGE2. 2011-04-24 00:29:19 -07:00
Graydon Hoare
9eec7e3b15 Expansion of rules to cover stage1, stage2 in more cases. Fix typo in makefile. 2011-04-24 06:06:29 +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
Rafael Ávila de Espíndola
fac8cc3b06 Use -c in the Makefiles. 2011-04-22 15:15:52 -04: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
Graydon Hoare
d3eb3b42aa Minimize calls to hash function in map.rs 2011-04-22 01:06:20 -07:00
Patrick Walton
117aff8688 rustc: Intern types 2011-04-21 19:31:13 -07:00
Graydon Hoare
3b047bad6e New minimal test for current stage2 blocker. 2011-04-22 02:07:41 +00: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
c78b73b71d test: Un-XFAIL drop-parametric-closure-with-bound-box.rs, oops. 2011-04-21 17:36:10 -07:00
Patrick Walton
11c359962e test: XFAIL lib-box on stage0. Upstream LLVM doesn't have the library reading patch yet. 2011-04-21 17:35:25 -07:00
Patrick Walton
5e7336ec0d rustc: Add a shallow type equality function, not used yet 2011-04-21 17:06:01 -07:00
Patrick Walton
735435bf96 stdlib: Add a pointer equality function to the standard library and a test case 2011-04-21 16:44:17 -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
186717fae0 Fix link commands for stage1 and stage2. 2011-04-21 06:07:10 +00: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
Graydon Hoare
c470cd2d66 Fix stage1 Makefile rules. 2011-04-20 15:24:04 +00: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