aboutsummaryrefslogtreecommitdiff
path: root/src/boot/me
Commit message (Collapse)AuthorAgeFilesLines
...
* Elide preempt check on thunk and ctor frames. Wins 8kb on rustc.Graydon Hoare2010-08-241-6/+11
|
* Avoid emitting unnecessary frame glue. Wins a couple hundred kb of rustc.Graydon Hoare2010-08-241-33/+74
|
* Avoid iterating ty parts on drop when there are no heap pointers in ty. Wins ↵Graydon Hoare2010-08-242-5/+31
| | | | several tens of kb on rustc.
* Shrink size of glue calls. Wins a few tens of kb on rustc.Graydon Hoare2010-08-241-6/+2
|
* Merge remote branch 'tohava/master'Graydon Hoare2010-08-231-1/+1
|\ | | | | | | | | Conflicts: src/boot/fe/ast.ml
| * Modified parser to handle alt type andadded a few testsOr Brostovski2010-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | ast.ml - modified arm types for easier polymorphism - fixed a bug in fmt_type_arm dead.ml - modified arm types for easier polymorphism common.ml - added 'either' - added some useful auxiliary functions item.ml - modified arm code to be more polymorphic and handle both alt-tag and alt-type, also fixed the problematic case in bad-alt.rs Makefile - added XFAIL for new alt-type test bad-alt.rs - added test for invalid alt syntax alt-type-simple.rs - added simple test for alt type
* | Support single-element append on vec, str. Closes #44.Graydon Hoare2010-08-202-8/+74
| |
* | Fix a bunch of typestate bugs in handling if and while statement wirings.Graydon Hoare2010-08-193-19/+46
| |
* | Add support for casting native types.Graydon Hoare2010-08-182-7/+10
| |
* | Evil solution to the problem of importing the same opaque from two different ↵Patrick Walton2010-08-131-1/+1
| | | | | | | | files. Closes #145.
* | Increment ref counts of objects sent along channels.Michael Bebenita2010-08-111-2/+11
| |
* | Change dwarf output on linux to switch from relative to absolute addresses ↵Graydon Hoare2010-08-111-7/+1
| | | | | | | | based on library-mode-ness, might help fight ASLR-induced confusion.
* | Always bounce mul/div/mod ops. Closes #131 harder.Graydon Hoare2010-08-101-1/+1
| |
* | Merge commit 'jyasskin/work'Graydon Hoare2010-08-107-11/+14
|\ \ | | | | | | | | | | | | | | | Conflicts: src/rt/rust_dom.cpp src/rt/rust_upcall.cpp
| * | Add names to tasks and domains. These can either be an explicit literal stringJeffrey Yasskin2010-08-097-11/+14
| |/ | | | | | | | | after the "spawn" keyword, or implicitly the call expression used to start the spawn.
* | Get object's captured typarams when querying for an object method's typarams ↵Roy Frostig2010-08-091-33/+61
| | | | | | | | in Trans. Together with commit 982dcc29bf6cd41e967a0befe0c6195811cd6a55 this... Closes #138.
* | Get object's captured typarams when calculating sizes in the backend's ↵Roy Frostig2010-08-094-72/+76
| | | | | | | | fn-prologue-generation for object methods.
* | Synthesize a flush_chan upcall right before a channel's ref_count drops to ↵Michael Bebenita2010-08-091-0/+20
|/ | | | 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.
* Added AST logging, and modified AST for consistent handling of alt stmts.Or Brostovski2010-08-061-1/+2
| | | | | | | - 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
* Degrade emitter size cache to just a flat hashtable with regular flushes ↵Graydon Hoare2010-08-051-25/+35
| | | | (sigh) and re-introduce horrible bounce-off-spill hack for DIV, MUL, etc.
* Something is wrong with the emitter size cache; disable for now, possibly ↵Graydon Hoare2010-08-051-1/+3
| | | | put out flaming tinderboxes.
* Move 'as' precedence up to just above relational; support indexing str and ↵Graydon Hoare2010-08-052-5/+7
| | | | vec by all integral types. Closes #94.
* Thread argument-types down to internal_check_outer_lval in type.ml, in ↵Graydon Hoare2010-08-041-9/+16
| | | | preparation for trying to infer type params from call args.
* Kill the preallocator, install a sane replacement. Closes #131. And probably ↵Graydon Hoare2010-08-041-2/+1
| | | | a lot of others.
* Avoid mem cmp mem in trans even though it's an X86ism becase we don't always ↵Roy Frostig2010-08-031-1/+11
| | | | catch it later on.
* Get slots in trans_tag using Semant tables. Closes #133.Roy Frostig2010-07-281-5/+10
|
* Test the deque a bit. Give it a get-by-index method. Fix two uncovered ↵Roy Frostig2010-07-282-6/+32
| | | | state-calculation bugs --- one decently, the other with an ugly hack. Bug on the latter coming right up.
* Switch machine-type lexemes to use suffixes. Remove support for foo(bar) as ↵Graydon Hoare2010-07-273-5/+5
| | | | a cast notation. Closes #129.
* Distill semantics of use-def maps to fewer and more-obvious words.Graydon Hoare2010-07-279-180/+207
| | | | | | | - 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.
* Fix numerous non-linearities and O(sizeof(crate)) issues in typestate ↵Graydon Hoare2010-07-262-126/+340
| | | | system's dataflow algorithm. No longer substantial in profile.
* Note the typestate dataflow timing. The culprit is revealed.Graydon Hoare2010-07-261-1/+2
|
* Change ctxt_crate_main to an Ast.name.Graydon Hoare2010-07-262-8/+7
|
* Do some more iflog-guarding.Graydon Hoare2010-07-261-23/+51
|
* Don't write to NULL after calling C natives returning void.Roy Frostig2010-07-251-2/+6
|
* Another quick fix from jmuizelaar for that "some ocaml versions dont't ↵Graydon Hoare2010-07-231-1/+1
| | | | notice wrong wildcard count in patterns" bug.
* Improve mutability checking. Closes #118.Graydon Hoare2010-07-232-12/+33
|
* Add test for writing-through-uninit bug (reported on IRC by jrmuizel), plus ↵Graydon Hoare2010-07-231-1/+20
| | | | fix in typestate system.
* Stop using project_lval_ty_from_slot for lval_ty; cover residual un-caught ↵Graydon Hoare2010-07-232-15/+19
| | | | cases in type.ml.
* Widen write mutability check to cover all writing stmts.Graydon Hoare2010-07-231-10/+22
|
* Include all lval-writing statements in stmt_is_init calculation, not just ↵Graydon Hoare2010-07-234-15/+15
| | | | "copy-like". Un-XFAIL generic-tag-alt.rs
* Rename STMT_init_* to STMT_new_*; former name was confusing.Graydon Hoare2010-07-235-94/+82
|
* Notify copy glue of dst-initialization and fix _vec.alloc issues in lib and ↵Roy Frostig2010-07-221-6/+25
| | | | runtime. Closes #109.
* A certain incomplete quantity of wrestling with "INIT" statements that don't ↵Graydon Hoare2010-07-221-28/+76
| | | | actually initialize. Should probably rename them to MAKE. Anyway, WIP, but two steps forward (and one back). More later.
* Re-classify some err / bug cases as unimpl. Ideally rustboot should never ↵Graydon Hoare2010-07-224-6/+7
| | | | produce a backtrace.
* Source FIXME annotations for issue #81 and a correction to STMT_bind fmt.Roy Frostig2010-07-221-1/+4
|
* Add XFAIL'ed test for return-in-iter, call unimpl when we find it. Closes #100.Graydon Hoare2010-07-221-0/+2
|
* Fix mem op= mem bug in trans.ml (via not terribly good fix). Closes #111.Graydon Hoare2010-07-221-1/+8
|
* Make bound functions have the right typesPatrick Walton2010-07-201-1/+21
|
* Tidy up handling of unimplemented features. These are expected (if ↵Graydon Hoare2010-07-202-24/+11
| | | | undesirable) sorts of error, we should handle better than "backtrace and exit 2".
* Strip off TY_mutables and TY_constraineds when unboxing values during autoderefPatrick Walton2010-07-191-0/+1
|