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