Commit Graph

4763 Commits

Author SHA1 Message Date
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
Graydon Hoare
47501f1659 Make _str.eq suitable for map.hashmap; add _str.hash that does simple djb-hash. 2010-08-24 09:59:02 -07:00
Graydon Hoare
10316fbfa5 Make error reporting slightly more regular. 2010-08-24 09:58:26 -07:00
Graydon Hoare
14262c7311 Rename lib tests, enable lib-int.rs using _str.eq for now. 2010-08-24 09:09:04 -07:00
Graydon Hoare
ca3ca041f3 Add very basic char / str literal handling to rustc lexer. 2010-08-24 08:56:42 -07:00
Graydon Hoare
df3ea680ea Tidy lexer. 2010-08-24 08:50:56 -07:00
Graydon Hoare
2745a5ebb2 Handle line-comments and a few more symbols in rustc lexer. 2010-08-23 19:17:04 -07:00
Graydon Hoare
6e3a77c3a3 Merge remote branch 'tohava/master'
Conflicts:
	src/boot/fe/ast.ml
2010-08-23 18:19:42 -07:00
Patrick Walton
ed92925083 Warn when the value of "spawn" is unused, as it's useless 2010-08-20 17:15:27 -07:00
Or Brostovski
0830b5bf24 Modified parser to handle alt type andadded a few tests
ast.ml - modified arm types for easier polymorphism
       - fixed a bug in fmt_type_arm
dead.ml - modified arm types for easier polymorphism
common.ml - added 'either'
          - added some useful auxiliary functions
item.ml - modified arm code to be more polymorphic and handle both alt-tag and alt-type, also fixed the problematic case in bad-alt.rs
Makefile - added XFAIL for new alt-type test
bad-alt.rs - added test for invalid alt syntax
alt-type-simple.rs - added simple test for alt type
2010-08-21 02:41:43 +03:00
Graydon Hoare
c0e173e19a Stringify op tokens. 2010-08-20 15:57:59 -07:00