277 Commits

Author SHA1 Message Date
Graydon Hoare
c599b32646 Kill old parser support for type-parametric modules. We don't support those. 2010-08-12 10:28:23 -07:00
Graydon Hoare
88d9a79ac8 Some ELF correctness issues, but apparently none enough to placate gdb. 2010-08-11 16:57:34 -07:00
Michael Bebenita
18beb7a33d Increment ref counts of objects sent along channels. 2010-08-11 16:08:45 -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
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
fd0750b218 Get object's captured typarams when querying for an object method's typarams in Trans. Together with commit 982dcc29bf6cd41e967a0befe0c6195811cd6a55 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
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
8395d46163 Changed seemingly incorrect stk_field_valgrind_id. 2010-08-09 07:01:20 -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
Or Brostovski
b1c86beea8 Added AST pretty printing for communication alt statement, closes issue 19. 2010-08-07 13:44:44 +03: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
fdb842f9e6 Fix LLVM translation of modules. 2010-08-06 17:14:59 -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
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
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
Graydon Hoare
815424c2ec Fix pexp parser to do left-associativity, not right. Closes #130. 2010-08-04 13:44:22 -07:00
Graydon Hoare
7595aca5e3 Kill the preallocator, install a sane replacement. Closes #131. And probably a lot of others. 2010-08-04 00:27:36 -07:00
Graydon Hoare
d1a67574c6 Factor append_quad out of IL.emit_full, for use elsewhere. 2010-08-03 18:59:26 -07:00
Graydon Hoare
c014748c01 Remove dead implicit-destinations logic from IL. 2010-08-03 18:52:49 -07:00
Roy Frostig
7b91933eed Avoid mem cmp mem in trans even though it's an X86ism becase we don't always catch it later on. 2010-08-03 17:42:22 -07:00
Graydon Hoare
a1ecdb103d Fix some naughtiness of handling newlines in bracequotes and multi-line comments. Closes #142. 2010-08-03 16:28:50 -07:00
Graydon Hoare
1fc4e9fcc6 Add tests and fix pexp bug. Closes #141. 2010-08-03 12:20:29 -07:00
Patrick Walton
559e1e7e01 Use a better heuristic to determine whether we're on a Mac, issue 69 2010-08-02 13:26:35 -07:00
Graydon Hoare
e85f6ca4d3 Patch up another place where the newly-expanded 'closure-ptr' implicit arg needs to be passed. Amazingly, it mostly-worked without this. On some platforms. 2010-07-30 19:14:42 -07:00
Roy Frostig
f282c5ccc0 Get slots in trans_tag using Semant tables. Closes #133. 2010-07-28 15:04:58 -07:00
Roy Frostig
596d19e2ea Test the deque a bit. Give it a get-by-index method. Fix two uncovered state-calculation bugs --- one decently, the other with an ugly hack. Bug on the latter coming right up. 2010-07-28 14:00:44 -07:00
Graydon Hoare
8030757624 Switch machine-type lexemes to use suffixes. Remove support for foo(bar) as a cast notation. Closes #129. 2010-07-27 19:21:51 -07:00
Graydon Hoare
6662aeb779 Calm some LLVM indigestion of last change. 2010-07-27 17:23:41 -07:00
Graydon Hoare
4d31cf1dc5 Distill semantics of use-def maps to fewer and more-obvious words.
- Remove redundant uses of 'resolve' and 'referent' in semant.
- Use defn, defn_id, lval, lval_base more consistently.
- Make associated query functions more consistent.
- Closes #127.
2010-07-27 11:19:43 -07:00
Graydon Hoare
b7d7f70d09 Slight shaving on RA, no more optimizing today. It's fast enough for now. 2010-07-26 16:55:54 -07:00
Graydon Hoare
3d69407b51 Fix numerous non-linearities and O(sizeof(crate)) issues in typestate system's dataflow algorithm. No longer substantial in profile. 2010-07-26 15:44:29 -07:00
Graydon Hoare
ec5efd2577 Note the typestate dataflow timing. The culprit is revealed. 2010-07-26 12:31:43 -07:00
Graydon Hoare
c4897f849c Add a cumulative timer count to be sure we're getting everything. 2010-07-26 12:31:08 -07:00
Graydon Hoare
1b41d7be1a Change ctxt_crate_main to an Ast.name. 2010-07-26 12:30:43 -07:00
Graydon Hoare
025b1e4133 Do some more iflog-guarding. 2010-07-26 12:30:02 -07:00
Roy Frostig
7ef9e82f51 Don't write to NULL after calling C natives returning void. 2010-07-25 21:27:28 -07:00
Graydon Hoare
3ce18d88c5 Another quick fix from jmuizelaar for that "some ocaml versions dont't notice wrong wildcard count in patterns" bug. 2010-07-23 15:38:34 -07:00
Graydon Hoare
44e2dc2789 Improve mutability checking. Closes #118. 2010-07-23 15:29:17 -07:00