Commit Graph

107240 Commits

Author SHA1 Message Date
Roy Frostig
f307688bf4 Add native vec[u8] to str converter. Put in workaround for leak in str to vec[u8] converter. Add testcase exercising both. Drive-by fix a potential array-out-of-bounds write on rust_str buffers. 2010-08-11 16:06:45 -07:00
Roy Frostig
8e02a2bcb5 Fix reverse-indexing bug in _vec.init_fn. 2010-08-11 15:56:19 -07:00
Graydon Hoare
9faaf9eaf4 Tidy up run script. 2010-08-11 14:28:01 -07:00
Graydon Hoare
bf341f829b Change dwarf output on linux to switch from relative to absolute addresses based on library-mode-ness, might help fight ASLR-induced confusion. 2010-08-11 14:27:47 -07:00
Graydon Hoare
60e5ad384e Put out burning tinderbox on OSX. 2010-08-10 16:49:36 -07:00
Graydon Hoare
5d2e94838e un-XFAIL lib-deque.rs, as it seems to have been waiting on something recently fixed. 2010-08-10 16:35:40 -07:00
Graydon Hoare
9f6dec9e13 Always bounce mul/div/mod ops. Closes #131 harder. 2010-08-10 16:03:58 -07:00
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
4467d7683d Merge branch 'master' of git://github.com/graydon/rust
Conflicts:
	src/boot/fe/ast.ml
2010-08-07 16:43:08 +03: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