Commit Graph

673 Commits

Author SHA1 Message Date
Graydon Hoare e270ab6fbf Minor improvements to pretty-printer. 2010-09-15 18:14:14 -07:00
Graydon Hoare e6729a66ec Teach walk about plvals and pexps. 2010-09-15 17:44:57 -07:00
Graydon Hoare 5c82cb42e7 Add Ast.ATOM_pexp and -pexp mode wherein pexps live beyond parsing, into later stages. Fixes to pexp pretty printer. 2010-09-15 16:10:08 -07:00
Graydon Hoare 3350b17c60 Add pretty-printing for pexps. 2010-09-15 14:36:40 -07:00
Graydon Hoare 77beffc889 Add some form-judgements on plvals and pexps. 2010-09-15 12:29:45 -07:00
Graydon Hoare c61d021f6d Commence moving pexp into ast, for eventual merger with expr. 2010-09-14 18:59:14 -07:00
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