Commit Graph

482 Commits

Author SHA1 Message Date
Graydon Hoare 5b5bcf9cfb Merge commit 'tohava/master'
Conflicts:
	src/boot/fe/ast.ml
2010-08-10 14:46:24 -07:00
Graydon Hoare dbe8760af3 Merge commit 'jyasskin/work'
Conflicts:
	src/rt/rust_dom.cpp
	src/rt/rust_upcall.cpp
2010-08-10 13:26:00 -07:00
Roy Frostig 75e46cc4d0 Fix a deque size bookkeeping bug. 2010-08-10 11:40:33 -07:00
Roy Frostig fd0750b218 Get object's captured typarams when querying for an object method's typarams in Trans. Together with commit 982dcc29bf this... Closes #138. 2010-08-09 19:19:32 -07:00
Roy Frostig 982dcc29bf Get object's captured typarams when calculating sizes in the backend's fn-prologue-generation for object methods. 2010-08-09 15:45:08 -07:00
Michael Bebenita 76e03be459 XFailed some tests. 2010-08-09 08:49:54 -07:00
Michael Bebenita 97d6342bf0 Synthesize a flush_chan upcall right before a channel's ref_count drops to zero. This should only happen in the Rust code and not in the drop glue, or on the unwind path. This change allows the task owning the channel to block on a flush and delete its own channel. This change also cleans up some code around rust_port and rust_chan. 2010-08-09 08:15:34 -07:00
Michael Bebenita 5917ca3519 Fixed deadlock in the scheduler caused by condition variables. 2010-08-09 08:06:08 -07:00
Michael Bebenita 4641fcef61 Added peek() to ptr_vec. 2010-08-09 08:01:40 -07:00
Michael Bebenita f65c885c83 Made ref_count signed to help detect negative ref_count bugs. 2010-08-09 08:00:04 -07:00
Michael Bebenita 30734a9a7b Some pretty printing in the runtime. 2010-08-09 07:52:07 -07:00
Michael Bebenita 9ff6a3d031 Added class to abstract away platform specific thread primitives. 2010-08-09 07:42:06 -07:00
Michael Bebenita 56cd4e458a Made the runtime keep track of all live domains and print their state. 2010-08-09 07:34:11 -07:00
Michael Bebenita c5744c8aef Added the RUST_SEED env variable to seed the Rust task scheduler -- helpful when debugging task race conditions within a single thread domain. 2010-08-09 07:30:48 -07:00
Michael Bebenita 768adb3ddd Added a python script to run test cases repeatedly. This helps with debugging race conditions. 2010-08-09 07:27:39 -07:00
Michael Bebenita 0e422c748b Added "none" option to rust_log env string to disable all log output. 2010-08-09 07:07:00 -07:00
Michael Bebenita d2c2fbe7ca Added timed_wait to condition variables. 2010-08-09 07:04:38 -07:00
Michael Bebenita 8395d46163 Changed seemingly incorrect stk_field_valgrind_id. 2010-08-09 07:01:20 -07:00
Michael Bebenita 76ba8f1d84 Changed array_list::replace() return behavior. 2010-08-09 06:59:46 -07:00
Michael Bebenita f043ee1d33 Added Eclipse's .project and .cproject to .gitignore. 2010-08-09 06:55:27 -07:00
Michael Bebenita d647c163fd Updated/added test cases. 2010-08-09 06:53:37 -07:00
Jeffrey Yasskin b71340552f Add names to tasks and domains. These can either be an explicit literal string
after the "spawn" keyword, or implicitly the call expression used to start the
spawn.
2010-08-09 11:43:16 +02:00
Jeffrey Yasskin df75a968c5 Fix LLVM translation of modules. 2010-08-08 14:29:53 -07:00
Or Brostovski b1c86beea8 Added AST pretty printing for communication alt statement, closes issue 19. 2010-08-07 13:44:44 +03:00
Graydon Hoare bd7835effa Add Or to the AUTHORS file. 2010-08-06 17:43:15 -07:00
Or Brostovski 459e860457 Added forgotten handling for alt_type_else, and also for stmt_note 2010-08-06 17:34:31 -07:00
Or Brostovski 122ea68b12 Added AST pretty printing for slice expression 2010-08-06 17:34:31 -07:00
Or Brostovski a0cc4817e9 Added AST logging, and modified AST for consistent handling of alt stmts.
- Modified the arm types, instead of a single arm type, there are now 2 (soon to be 3) arm types, one for each type of alt statement
- Added AST logging for constrained type (see fmt_constrained)
- Added AST logging for STMT_alt_type
- Created a generic fmt_arm for use with all alt statements
2010-08-06 17:34:31 -07:00
Jeffrey Yasskin 3f6e8ffe64 Implement _str.len() to return the number of bytes, rename it to byte_len(),
and add a test.
2010-08-06 17:29:21 -07:00
Jeffrey Yasskin 581a95a804 Add an int->str conversion function.
The test currently fails because string equality isn't implemented.
2010-08-06 17:25:27 -07:00
Jeffrey Yasskin 987589e946 Change the destructor-ordering test to use channels instead of a shared mutable object.
This test used to take advantage of a hole in the type system that allows
objects with destructors to refer to stateful objects.
2010-08-06 17:17:04 -07:00
Jeffrey Yasskin fdb842f9e6 Fix LLVM translation of modules. 2010-08-06 17:14:59 -07:00
Roy Frostig 80a1cd3d1e Redo yesterday's buf_writer-wrapper in a less silly and convoluted way. Add integer stringifying functions to _int module. 2010-08-06 15:48:23 -07:00
Roy Frostig 514fb4b321 Accept uint literals as literal patterns. 2010-08-06 15:44:09 -07:00
Tohava 7d38caf9c3 Added forgotten handling for alt_type_else, and also for stmt_note 2010-08-06 17:15:55 +03:00
Tohava 4bc173fd3c Added AST pretty printing for slice expression 2010-08-06 16:11:15 +03:00
Graydon Hoare db561b52ff Degrade emitter size cache to just a flat hashtable with regular flushes (sigh) and re-introduce horrible bounce-off-spill hack for DIV, MUL, etc. 2010-08-05 17:44:35 -07:00
Graydon Hoare 9da8101cc8 Something is wrong with the emitter size cache; disable for now, possibly put out flaming tinderboxes. 2010-08-05 13:28:43 -07:00
Patrick Walton 53b01dc006 Add a valgrind suppression for Snow Leopard dyld 2010-08-05 12:00:34 -07:00
Graydon Hoare 935b4347e2 Mop up workarounds in stdlib no longer required as issue #93 is closed. 2010-08-05 10:10:39 -07:00
Graydon Hoare 29987b56e1 Move 'as' precedence up to just above relational; support indexing str and vec by all integral types. Closes #94. 2010-08-05 10:04:11 -07:00
Roy Frostig 718c0b5963 Add to std._io some formatter/type-specific-writer mechanism. Make a few type-specific buffered writers as wrappers of buf_writer. 2010-08-04 23:09:33 -07:00
Tohava ce79b0e492 Merge branch 'master' of git://github.com/graydon/rust 2010-08-05 04:19:46 +03:00
Graydon Hoare 6e98a3b64f Thread argument-types down to internal_check_outer_lval in type.ml, in preparation for trying to infer type params from call args. 2010-08-04 17:50:57 -07:00
Tohava 0f53d03139 Added AST logging, and modified AST for consistent handling of alt stmts.
- Modified the arm types, instead of a single arm type, there are now 2 (soon to be 3) arm types, one for each type of alt statement
- Added AST logging for constrained type (see fmt_constrained)
- Added AST logging for STMT_alt_type
- Created a generic fmt_arm for use with all alt statements
2010-08-05 03:44:29 +03:00
Roy Frostig c17ea956a2 Add per-platform file-open flags to std.os. Open buffers as desired in std._io. 2010-08-04 17:14:17 -07:00
Graydon Hoare cbe68d4ccb Add a CHECK_XFAILS target that inverts the sense of check: it tries to compile and run the tests marked as XFAILs. 2010-08-04 15:29:59 -07:00
Graydon Hoare 815424c2ec Fix pexp parser to do left-associativity, not right. Closes #130. 2010-08-04 13:44:22 -07:00
Roy Frostig 1a8d609e89 Add a buffered writer to stdlib _io module. 2010-08-04 12:59:48 -07:00
Roy Frostig b9075c23c0 Address _io.new_buf FIXME now that issue #93 is closed. 2010-08-04 11:24:09 -07:00