about summary refs log tree commit diff
path: root/src/boot
AgeCommit message (Collapse)AuthorLines
2010-09-15Teach walk about plvals and pexps.Graydon Hoare-8/+106
2010-09-15Add Ast.ATOM_pexp and -pexp mode wherein pexps live beyond parsing, into ↵Graydon Hoare-12/+66
later stages. Fixes to pexp pretty printer.
2010-09-15Add pretty-printing for pexps.Graydon Hoare-0/+145
2010-09-15Add some form-judgements on plvals and pexps.Graydon Hoare-10/+169
2010-09-14Commence moving pexp into ast, for eventual merger with expr.Graydon Hoare-154/+158
2010-09-14Begin actually folding constant items into operands at site of use.Graydon Hoare-8/+78
2010-09-14Translate const uses via runtime expression evaluation.Graydon Hoare-6/+16
2010-09-14Teach front-end about simple, first-cut version of const items.Graydon Hoare-0/+39
2010-09-13Fix leaking arg slots on tail calls. Closes #160.Graydon Hoare-0/+2
2010-09-12Fix a leak when box types are used via type descriptors.Graydon Hoare-2/+2
2010-09-09Use hashtable rather than bitset for vreg constraints in ra; speeds compilation.Graydon Hoare-26/+40
2010-09-09Switch tags to purely nominal, removing TY_iso and TY_idx. Seems to mostly ↵Graydon Hoare-1245/+842
work, possibly a little bumpy. Changes a lot.
2010-09-08First lame stab at solving the diamond import problemPatrick Walton-25/+53
2010-09-07Lots of design changes around proxies and message passing. Made it so that ↵Michael Bebenita-1/+1
domains can only talk to other domains via handles, and with the help of the rust_kernel.
2010-09-07Initial support for a global crate metadata cachePatrick Walton-6/+22
2010-09-07Recursively drop a type's parts if the type uses any typarams, since those ↵Roy Frostig-3/+5
typarams may represent types that actually require dropping.
2010-09-03When vec growth results in a newly allocated (extended) buffer, copy ↵Roy Frostig-19/+195
existing elements over via element-wise copy, not flat memcpy. Introduce new vec growth glue to achieve this.
2010-09-03Assert to insure that the worst-case glue-call arg count is not exceeded ↵Roy Frostig-5/+22
unless allowed to.
2010-09-03Fail a bit more informatively on a bad get_element_ptr_dyn.Roy Frostig-2/+6
2010-08-31Whitespace churn.Graydon Hoare-1/+1
2010-08-27Make pattern-alt drop the slots it initializes when binding slot patterns. ↵Roy Frostig-37/+52
Undoes most of the hackiness in 5e77e784f006e36c06252d9beccbd7893eddac73 and replaces it with a more proper fix.
2010-08-27Have alt-pattern drop the slots it initializes when binding slot patterns. ↵Roy Frostig-10/+35
Add a testcase for this as well.
2010-08-27Read definitions of tag types in the DWARFPatrick Walton-32/+52
2010-08-27Zero-length tuples can show up in tag types. Don't forbid them when reading ↵Patrick Walton-2/+2
in the DWARF.
2010-08-26Simplify null-writing from commit 8559a85ccacf70c51d93759b47a3880ae818b247 ↵Roy Frostig-8/+2
so as to avoid a branch.
2010-08-26Encode tag names in the DWARFPatrick Walton-4/+5
2010-08-26Make vreg constrs per-quad, regfence on nontrivial constrs, back out ↵Graydon Hoare-46/+61
workaround to _uint, add regression test. Closes #152.
2010-08-26Add automatic parameter instantiation. Closes #45.Patrick Walton-8/+31
2010-08-26When copying function values, null out the destination's binding iff the ↵Roy Frostig-1/+14
source's binding is null.
2010-08-26Add check to catch bug underlying issue #152. Fix will take longer.Graydon Hoare-1/+14
2010-08-26Add a "param handler" to demand_fn for use in automatic type parameter ↵Patrick Walton-12/+18
instantiation
2010-08-26Tiny style cleanup in a pattern match in type.mlPatrick Walton-1/+1
2010-08-25Typecheck function patternsPatrick Walton-9/+14
2010-08-25Insure bools remain 0x1 or 0x0 by having boolean-NOT not just be a simple ↵Roy Frostig-1/+4
bit-NOT.
2010-08-25Add element to closure to hold captured tydesc (not body tydesc).Graydon Hoare-10/+12
2010-08-25Merge obj-drop and closure-drop code, handles freeing bound exteriors now.Graydon Hoare-44/+52
2010-08-25First pass of updating the in-memory layout of closures, for issue 81.Graydon Hoare-121/+153
2010-08-25Janitorial work on obj box / body / field terminology, following froystig's ↵Graydon Hoare-35/+40
brave lead.
2010-08-25Fix ghastly typestate bug breaking nested functions.Graydon Hoare-8/+58
2010-08-25Introduce "type patterns" to the typechecker in preparation for function ↵Patrick Walton-36/+51
type-param inference
2010-08-25Obj ctors are not obj fns so translate their frame entry as such.Roy Frostig-1/+1
2010-08-24Fix residual nonsense of storing crate-rel displacements in a closure pair ↵Graydon Hoare-12/+4
(made it impossible to pass between crates, of course).
2010-08-24Remove obsolete TODO about checking for return statementsPatrick Walton-2/+0
2010-08-24Elide preempt check on thunk and ctor frames. Wins 8kb on rustc.Graydon Hoare-6/+11
2010-08-24Avoid emitting unnecessary frame glue. Wins a couple hundred kb of rustc.Graydon Hoare-33/+74
2010-08-24Avoid iterating ty parts on drop when there are no heap pointers in ty. Wins ↵Graydon Hoare-5/+31
several tens of kb on rustc.
2010-08-24Shrink size of glue calls. Wins a few tens of kb on rustc.Graydon Hoare-6/+2
2010-08-24Make error reporting slightly more regular.Graydon Hoare-3/+4
2010-08-23Merge remote branch 'tohava/master'Graydon Hoare-70/+148
Conflicts: src/boot/fe/ast.ml
2010-08-20Warn when the value of "spawn" is unused, as it's uselessPatrick Walton-1/+5