Commit Graph

47517 Commits

Author SHA1 Message Date
Graydon Hoare
b504b3f8d5 Begin actually folding constant items into operands at site of use. 2010-09-14 15:34:01 -07:00
Graydon Hoare
6cfeac162d Translate const uses via runtime expression evaluation. 2010-09-14 11:44:25 -07:00
Graydon Hoare
a4a0c6ad1e XFAIL const test on LLVM, of course. 2010-09-14 11:13:24 -07:00
Graydon Hoare
7287d3aaa0 Teach front-end about simple, first-cut version of const items. 2010-09-14 10:52:32 -07:00
Graydon Hoare
43ec78636f Update manual to cover change to nominal tag items. 2010-09-13 17:58:09 -07:00
Graydon Hoare
bc646d01c5 Fix leaking arg slots on tail calls. Closes #160. 2010-09-13 13:37:24 -07:00
Graydon Hoare
67aa39e1ef Fix a leak when box types are used via type descriptors. 2010-09-12 01:05:56 -07:00
Michael Bebenita
a493350eb5 Cleanup, refactoring, and some runtime tests. 2010-09-10 14:38:31 -07:00
Michael Bebenita
f985fded3e Added lock_and_signal::signal_all(), and made the rust_kernel::join() use wait instead of yield. 2010-09-10 14:38:31 -07:00
Graydon Hoare
79dc07d648 Use hashtable rather than bitset for vreg constraints in ra; speeds compilation. 2010-09-09 18:56:51 -07:00
Graydon Hoare
a9e2327a18 Switch tags to purely nominal, removing TY_iso and TY_idx. Seems to mostly work, possibly a little bumpy. Changes a lot. 2010-09-09 15:59:29 -07:00
Michael Bebenita
c877f31730 Fixed lost signal notifications. 2010-09-08 22:20:31 -07:00
Michael Bebenita
743ca289b6 Cache task handles. 2010-09-08 21:25:16 -07:00
Graydon Hoare
616b7afb72 Tidy up the sync dir, remove dead or mis-designed code in favour of OS primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin. 2010-09-08 19:13:49 -07:00
Graydon Hoare
13d6f87431 XFAIL many.rs since it crashes on win32, and add a time-slice sleep to the kernel message loop to get tests to finish in a sane time. 2010-09-08 15:48:18 -07:00
Patrick Walton
2172a3bcf4 First lame stab at solving the diamond import problem 2010-09-08 15:38:39 -07:00
Michael Bebenita
388f8ce520 Cleaned up locking in the kernel. 2010-09-08 15:17:09 -07:00
Graydon Hoare
37cc139607 XFAIL task-comm-8, see if this helps burning-tree. 2010-09-08 10:40:33 -07:00
Michael Bebenita
7f6d8b95bd Fixed race in the rust kernel. 2010-09-07 23:37:51 -07:00
Michael Bebenita
de611a3090 Lots of design changes around proxies and message passing. Made it so that domains can only talk to other domains via handles, and with the help of the rust_kernel. 2010-09-07 18:44:12 -07:00
Michael Bebenita
a6aebdaedd Started work on a framework for writing runtime tests, added some simple test cases. 2010-09-07 18:41:08 -07:00
Michael Bebenita
5375b39160 Small updates to util classes. 2010-09-07 18:41:08 -07:00
Michael Bebenita
b03812af2b Change signature of array_list::pop(). 2010-09-07 18:41:08 -07:00
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