Commit Graph

663 Commits

Author SHA1 Message Date
Michael Bebenita
6b7ba50e17 Added "new" inline operators to memory regions. 2010-09-07 18:41:08 -07:00
Michael Bebenita
066c14009b Added a .cpp file for rust_proxy to help avoid .h file dependencies in the future. 2010-09-07 18:41:08 -07:00
Michael Bebenita
9b74129a4f Added a thread utility class to factor out operations on threads. 2010-09-07 18:41:07 -07:00
Michael Bebenita
9b8d647af3 Make run.py only search in the run-pass directory. 2010-09-07 18:41:07 -07:00
Michael Bebenita
79e3856d7d Small updates to test cases. 2010-09-07 18:41:07 -07:00
Michael Bebenita
f8ff013e3c Added a few utility classes, cleaned up the include order of .h files, and started to make the Rust kernel own domain message queues rather than the Rust domains themselves. 2010-09-07 18:41:07 -07:00
Patrick Walton
ffdb5fc858 Initial support for a global crate metadata cache 2010-09-07 16:35:21 -07:00
Roy Frostig
ca1475382e Add hashmap tests exercising strings as keys and values. No longer leaks on linux. 2010-09-07 01:21:18 -07:00
Roy Frostig
5e5112dac6 Recursively drop a type's parts if the type uses any typarams, since those typarams may represent types that actually require dropping. 2010-09-07 00:54:23 -07:00
Roy Frostig
cf62b54028 Add a little pointer-cast helper to dbg. 2010-09-06 23:24:01 -07:00
Roy Frostig
974092c526 Test multi-ref'ed vec growth more seriously than before. 2010-09-03 16:25:56 -07:00
Roy Frostig
4e355aebf7 When vec growth results in a newly allocated (extended) buffer, copy existing elements over via element-wise copy, not flat memcpy. Introduce new vec growth glue to achieve this. 2010-09-03 16:18:32 -07:00
Roy Frostig
1eb2a8b10b Assert to insure that the worst-case glue-call arg count is not exceeded unless allowed to. 2010-09-03 16:03:13 -07:00
Roy Frostig
1fa978ebb9 Fail a bit more informatively on a bad get_element_ptr_dyn. 2010-09-03 15:07:58 -07:00
Graydon Hoare
eb90be7798 Add session, span tracking, error reporting, beginning of a function to parse an item to rustc. 2010-09-01 13:24:14 -07:00
Graydon Hoare
b90e6b93c1 Whitespace churn. 2010-08-31 14:36:51 -07:00
Graydon Hoare
cfca901cfe Add block-comment support, various additional operators. Rustc can lex itself now. 2010-08-31 13:29:08 -07:00
Roy Frostig
47e86a05ae Fix rust_vec constructor assertion failure caused by slow path of upcall_vec_grow. Add testcase. 2010-08-31 13:01:57 -07:00
Graydon Hoare
11e747fc58 Er, this would be the hunk that actually failed to get committed last time. 2010-08-31 12:54:24 -07:00
Graydon Hoare
2f3201a64c Reinstate commit 9f0eaa6581 with sufficient fixes to hopefully not break tinderboxes. 2010-08-31 12:42:24 -07:00
Patrick Walton
615b1774a4 Turn native OCaml code generation on for the Mac 2010-08-27 18:06:16 -07:00
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
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
Graydon Hoare
a2bd79a6ac Redo _uint.to_str to work with chars and only one tmp str, built left-to-right. 2010-08-20 15:37:20 -07:00
Graydon Hoare
db377bae3a Accumulate number tokens properly, handle newline, EQ and EQEQ in rustc lexer. 2010-08-20 15:36:48 -07:00
Patrick Walton
08f191d6d9 Lex commas too in the self-hosted compiler 2010-08-20 14:58:15 -07:00
Patrick Walton
fc05ea0371 Use pattern matching for the one-byte structural symbols in the self-hosted compiler 2010-08-20 14:35:59 -07:00
Roy Frostig
8097a10c36 XFAIL _io test because darwin and winnt are burning. 2010-08-20 13:29:19 -07:00
Roy Frostig
2da4fecacd Test the buffered reader and writer in _io. 2010-08-20 12:57:38 -07:00
Roy Frostig
af64e4f305 Allow every test to make a .tmp file that is cleaned up before execution. 2010-08-20 12:48:45 -07:00
Graydon Hoare
eecd1f47d7 Fix some lexer bugs in rustc. Beginning to lex stuff now. 2010-08-20 12:12:37 -07:00
Graydon Hoare
1db0cb208d Add ungetc and re-indent _io.rs. 2010-08-20 12:12:11 -07:00
Graydon Hoare
34e5e98cf7 Re-XFAIL destructor-ordering.rs. Valgrind doesn't like it (though oddly, doesn't make the tbox burn). 2010-08-20 11:48:31 -07:00
Graydon Hoare
0f224f977d Expand rustc lexer to do almost-nearly-nontrivial stuff. 2010-08-20 11:42:44 -07:00
Graydon Hoare
9fc4fc6692 Add _uint module to std, move some code around. 2010-08-20 11:42:44 -07:00
Graydon Hoare
5f9750ca2c Modify session to report errors in an emacs-parser-friendlier way. 2010-08-20 11:42:44 -07:00
Patrick Walton
4c28d9a54a Un-XFAIL some tests that (seem to) rely on large task stacks 2010-08-20 11:11:39 -07:00
Patrick Walton
fac28ad42f Disable task-growing logic for now until #151 is fixed 2010-08-20 11:05:06 -07:00
Graydon Hoare
9363c1ab7f Use str += u8 in rustc lexer. 2010-08-20 10:03:31 -07:00
Graydon Hoare
ddd8feea31 Support single-element append on vec, str. Closes #44. 2010-08-20 09:58:22 -07:00
Graydon Hoare
40fccac7fb Add some code to lexer in rustc. 2010-08-19 18:42:32 -07:00
Graydon Hoare
b34cb1b631 Fix a bunch of typestate bugs in handling if and while statement wirings. 2010-08-19 18:42:32 -07:00