Commit Graph

673 Commits

Author SHA1 Message Date
Roy Frostig 9481907211 Make pattern-alt drop the slots it initializes when binding slot patterns. Undoes most of the hackiness in 5e77e784f0 and replaces it with a more proper fix. 2010-08-27 17:30:26 -07:00
Patrick Walton 6ec8c21016 Revert "More work on lexer.rs: start using keyword hashtable, handle more lexemes." due to tinderbox bustage
This reverts commit 9f0eaa6581.
2010-08-27 17:29:56 -07:00
Graydon Hoare 9f0eaa6581 More work on lexer.rs: start using keyword hashtable, handle more lexemes. 2010-08-27 16:35:50 -07:00
Roy Frostig 0d15ae4f7a Modify alt-pattern-drop.rs to also insure the slot bound in the pattern doesn't also get dropped (again) at the end of the block containing the alt. 2010-08-27 13:48:45 -07:00
Roy Frostig 6f52ba7cc5 Whitespace shuffle in rustc's lexer to fit 78-column rule and put out burning tinderbox. 2010-08-27 13:36:18 -07:00
Roy Frostig ecb7fc2038 Tiny change to tighten up alt-pattern-drop.rs test. 2010-08-27 13:29:53 -07:00
Roy Frostig 5e77e784f0 Have alt-pattern drop the slots it initializes when binding slot patterns. Add a testcase for this as well. 2010-08-27 13:29:53 -07:00
Graydon Hoare 1428b59a19 Modify rustboot to use lexer.reader. 2010-08-27 13:08:47 -07:00
Patrick Walton 88c9759347 Read definitions of tag types in the DWARF 2010-08-27 11:46:59 -07:00
Patrick Walton 1c0c242d0a Zero-length tuples can show up in tag types. Don't forbid them when reading in the DWARF. 2010-08-27 11:46:59 -07:00
Roy Frostig 927b2f7ef4 Comment out hashmap tests exercising maps with str as key or value type, as they appear to cause leaks. 2010-08-27 11:16:49 -07:00
Roy Frostig 4c1c8460f9 Add simple hashmap tests exercising maps with str as key type, value type, and both. 2010-08-27 11:01:51 -07:00
Roy Frostig 1035ad93dd Pinching myself for certainty. ;p 2010-08-26 20:02:07 -07:00
Roy Frostig 66b5b9567c Test the hashmap more, exercising hash collision, element removal, and a forced rehashing that actually causes elements to change buckets. In the process, find a bug in hashmap's remove() and fix it. 2010-08-26 19:44:38 -07:00
Roy Frostig aa30304328 Simplify null-writing from commit 8559a85cca so as to avoid a branch. 2010-08-26 18:55:53 -07:00
Patrick Walton 07095a3ef9 Encode tag names in the DWARF 2010-08-26 17:48:52 -07:00
Graydon Hoare 7cfa7bdd23 Make vreg constrs per-quad, regfence on nontrivial constrs, back out workaround to _uint, add regression test. Closes #152. 2010-08-26 16:27:47 -07:00
Patrick Walton a7eeeb596a Add automatic parameter instantiation. Closes #45. 2010-08-26 14:47:18 -07:00
Roy Frostig 8559a85cca When copying function values, null out the destination's binding iff the source's binding is null. 2010-08-26 14:44:11 -07:00
Graydon Hoare ee04c0236c Add check to catch bug underlying issue #152. Fix will take longer. 2010-08-26 14:32:47 -07:00
Roy Frostig c3c3e03649 un-XFAIL lib-map.rs now that rust stacks are large and it passes on linux. 2010-08-26 13:15:46 -07:00
Roy Frostig 5cf83dcc1a Test the hashmap for growth and rehashing. 2010-08-26 13:03:28 -07:00
Roy Frostig c3c5e6c773 Workaround issue #152 in _uint.next_power_of_two 2010-08-26 11:57:48 -07:00
Patrick Walton de5c6f111c Add a "param handler" to demand_fn for use in automatic type parameter instantiation 2010-08-26 11:22:00 -07:00
Patrick Walton ff9ecc1128 Tiny style cleanup in a pattern match in type.ml 2010-08-26 11:20:55 -07:00
Patrick Walton 09417f81aa Typecheck function patterns 2010-08-25 18:36:49 -07:00
Roy Frostig c40fed5804 Actually switch to using the bigger hashmap once a it finishes growing and rehashing. 2010-08-25 17:42:36 -07:00
Roy Frostig 6b053f24c7 Insure bools remain 0x1 or 0x0 by having boolean-NOT not just be a simple bit-NOT. 2010-08-25 17:17:14 -07:00
Graydon Hoare 2c8ae5ca8d Add element to closure to hold captured tydesc (not body tydesc). 2010-08-25 16:36:18 -07:00
Graydon Hoare 91d640f90f Merge obj-drop and closure-drop code, handles freeing bound exteriors now. 2010-08-25 16:21:50 -07:00
Graydon Hoare 8e0f486ea6 First pass of updating the in-memory layout of closures, for issue 81. 2010-08-25 14:42:28 -07:00
Graydon Hoare c2b6c27d65 Fix edge case in uint->string conversion. 2010-08-25 13:54:27 -07:00
Graydon Hoare b2b72a08db Janitorial work on obj box / body / field terminology, following froystig's brave lead. 2010-08-25 12:08:05 -07:00
Graydon Hoare af6e1d2c2b Fix ghastly typestate bug breaking nested functions. 2010-08-25 12:08:05 -07:00
Patrick Walton a48c382549 Introduce "type patterns" to the typechecker in preparation for function type-param inference 2010-08-25 11:16:29 -07:00
Roy Frostig 2b9a48b9c9 Obj ctors are not obj fns so translate their frame entry as such. 2010-08-25 10:27:17 -07:00
Michael Bebenita 3ab8cc6018 Fixed the location of the failing XFailed test. 2010-08-24 21:27:47 -07:00
Michael Bebenita 64ff82ecf9 Implemented an lock free queue based on this paper http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf, the "lock free queue" we had before wasn't lock free at all. 2010-08-24 21:07:14 -07:00
Roy Frostig d9fe885ba5 Comment on env var required for std.dbg to do any logging. 2010-08-24 19:55:45 -07:00
Roy Frostig 7ccdb88374 Add support in dbg.debug_obj for printing the obj body. 2010-08-24 19:49:39 -07:00
Roy Frostig d9e3fb2c5d Add std.dbg module for inspecting rust values in memory. 2010-08-24 18:37:42 -07:00
Graydon Hoare 2dc3a37f93 First successful hashmap lookups. Yay. 2010-08-24 17:38:04 -07:00
Graydon Hoare e846643d23 Fix mod-bug in std.map, work around bug in closure typaram capture, enable insert-tests in lib-map.rs. 2010-08-24 17:23:09 -07:00
Graydon Hoare 9ea37bd47b Fix residual nonsense of storing crate-rel displacements in a closure pair (made it impossible to pass between crates, of course). 2010-08-24 17:09:03 -07:00
Patrick Walton 1b117f936d Remove obsolete TODO about checking for return statements 2010-08-24 16:11:43 -07:00
Graydon Hoare de6535c1c2 Elide preempt check on thunk and ctor frames. Wins 8kb on rustc. 2010-08-24 11:57:51 -07:00
Graydon Hoare 8d787d1e08 Avoid emitting unnecessary frame glue. Wins a couple hundred kb of rustc. 2010-08-24 11:45:48 -07:00
Graydon Hoare 87c9a9e25d Avoid iterating ty parts on drop when there are no heap pointers in ty. Wins several tens of kb on rustc. 2010-08-24 11:44:14 -07:00
Graydon Hoare b5255b4534 Shrink size of glue calls. Wins a few tens of kb on rustc. 2010-08-24 11:42:24 -07:00
Graydon Hoare 07d355d1af Add lexer.reader to rustc for tracking position, char conversion, holding keyword tables. 2010-08-24 09:59:41 -07:00