aboutsummaryrefslogtreecommitdiff
path: root/src/boot/me/semant.ml
Commit message (Collapse)AuthorAgeFilesLines
...
* Switch tags to purely nominal, removing TY_iso and TY_idx. Seems to mostly ↵Graydon Hoare2010-09-091-189/+262
| | | | work, possibly a little bumpy. Changes a lot.
* When vec growth results in a newly allocated (extended) buffer, copy ↵Roy Frostig2010-09-031-1/+8
| | | | existing elements over via element-wise copy, not flat memcpy. Introduce new vec growth glue to achieve this.
* Add element to closure to hold captured tydesc (not body tydesc).Graydon Hoare2010-08-251-4/+3
|
* Merge obj-drop and closure-drop code, handles freeing bound exteriors now.Graydon Hoare2010-08-251-4/+9
|
* First pass of updating the in-memory layout of closures, for issue 81.Graydon Hoare2010-08-251-23/+60
|
* Janitorial work on obj box / body / field terminology, following froystig's ↵Graydon Hoare2010-08-251-3/+6
| | | | brave lead.
* Avoid iterating ty parts on drop when there are no heap pointers in ty. Wins ↵Graydon Hoare2010-08-241-1/+27
| | | | several tens of kb on rustc.
* Fix a bunch of typestate bugs in handling if and while statement wirings.Graydon Hoare2010-08-191-0/+2
|
* Add support for casting native types.Graydon Hoare2010-08-181-1/+2
|
* Get object's captured typarams when calculating sizes in the backend's ↵Roy Frostig2010-08-091-32/+37
| | | | fn-prologue-generation for object methods.
* Test the deque a bit. Give it a get-by-index method. Fix two uncovered ↵Roy Frostig2010-07-281-0/+17
| | | | 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-271-1/+1
| | | | a cast notation. Closes #129.
* Distill semantics of use-def maps to fewer and more-obvious words.Graydon Hoare2010-07-271-137/+119
| | | | | | | - 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-261-18/+6
| | | | system's dataflow algorithm. No longer substantial in profile.
* Change ctxt_crate_main to an Ast.name.Graydon Hoare2010-07-261-5/+2
|
* Stop using project_lval_ty_from_slot for lval_ty; cover residual un-caught ↵Graydon Hoare2010-07-231-10/+2
| | | | cases in type.ml.
* Include all lval-writing statements in stmt_is_init calculation, not just ↵Graydon Hoare2010-07-231-2/+2
| | | | "copy-like". Un-XFAIL generic-tag-alt.rs
* Tidy up handling of unimplemented features. These are expected (if ↵Graydon Hoare2010-07-201-15/+3
| | | | undesirable) sorts of error, we should handle better than "backtrace and exit 2".
* Fix over-optimistic resolution of self-methods within obj scopes. There is ↵Graydon Hoare2010-07-191-5/+1
| | | | no such feature in the language at present. Add test to prevent regression. Closes #114.
* Clean up nomenclature in the Abi constants brigade. Purge magic GEP numbers ↵Roy Frostig2010-07-161-5/+8
| | | | in trans. Adjust obj_closure_rty (and its consumers) to be more explicit about the fact that it is a box.
* Make mutability no longer a type constructorPatrick Walton2010-07-151-2/+2
|
* Begin moving closure-or-obj pointer out to front of call args by changing ↵Roy Frostig2010-07-151-2/+2
| | | | the order within the call-arg tup referent type. This breaks the world quite a bit, since it remains to fix custom call paths: glue, upcalls, natives.
* Make the call args referent type always have a closure word (non-optional, ↵Roy Frostig2010-07-151-5/+4
| | | | null in case of no closure) in preparation for shifting it inward from its current position at end-of-call-tup.
* Minimize pointless logging during walk.Graydon Hoare2010-07-141-3/+94
|
* Catch cyclic imports harder. Add 2 tests to confirm.Graydon Hoare2010-07-091-11/+14
|
* Add detection for cyclic imports.Graydon Hoare2010-07-081-8/+21
|
* Build fix from jmuizelaar (on ocamlc versions that notice this bug; drat, ↵Graydon Hoare2010-07-081-2/+2
| | | | not all do)
* Merge branch 'master' of [email protected]:graydon/rust into ↵Graydon Hoare2010-07-021-9/+9
|\ | | | | | | exterior_and_mutable_types
| * Fix two bugs in tag patterns: 1. Look up the tag constructor function item ↵Roy Frostig2010-07-011-9/+9
| | | | | | | | using lval_item, not lval_to_referent; 2. Correct the form of the name used to query the tag or iso ty_tag when obtaining the corresponding type tuple.
* | Improve mangling.Graydon Hoare2010-07-011-2/+2
| |
* | Teach the associative_binary_op_ty_fold about box, mutable and tys.Graydon Hoare2010-07-011-0/+3
| |
* | Reinstate disgusting, filthy workarounds for deriving missing type ↵Graydon Hoare2010-07-011-14/+19
| | | | | | | | information. It existed before, we will survive if it exists now.
* | Convey auto-deref judgments made in typechecker to trans layer; control the ↵Graydon Hoare2010-07-011-0/+2
| | | | | | | | decision in one place.
* | Some work on teaching trans to differentiate between auto-deref and ↵Graydon Hoare2010-07-011-4/+9
| | | | | | | | explicit-deref contexts.
* | Implement STMT_init_box in trans, clean up some of the semant table-accessors.Graydon Hoare2010-07-011-39/+23
| |
* | Simplify types before analyzing call structure; 2 more tests compile.Graydon Hoare2010-07-011-2/+4
| |
* | Rename 'exterior' to 'box' and 'interior' to 'local' (at least wrt. slots; ↵Graydon Hoare2010-06-301-30/+30
| | | | | | | | keep MEM_interior for describing interior-parts-of-allocations)
* | Add a COMP_deref to lvals for explicit-derefs, modify typechecker to ↵Graydon Hoare2010-06-301-7/+28
| | | | | | | | implicitly deref in only *some* contexts.
* | Improve error message.Graydon Hoare2010-06-301-2/+1
| |
* | Reimplement backup scheme for handling lvals not yet resolved by typechecker.Graydon Hoare2010-06-301-15/+38
| |
* | Fix error-message typo.Graydon Hoare2010-06-301-1/+1
| |
* | Move simplified_ty from trans to semant and use it a few places.Graydon Hoare2010-06-301-1/+8
| |
* | Wrap long lines.Graydon Hoare2010-06-301-1/+4
| |
* | Initial stab at lowering mutable and exterior into the type system.Graydon Hoare2010-06-291-78/+93
|/
* Canonicalize hashtables after running them through htab_map. Closes #77.Graydon Hoare2010-06-281-11/+3
|
* Some fixme-to-issue housekeeping.Graydon Hoare2010-06-281-13/+11
|
* Only translate or dwarf-emit items or stubs locally defined or used. Avoids ↵Graydon Hoare2010-06-271-11/+134
| | | | instantiating O(sizeof(standard-library)) worth of imports stubs on each 'use std'. Closes issue 13.
* Add sever-glue, for missing first stage of sweep.Graydon Hoare2010-06-251-13/+16
|
* Emit gc glue and rearrange crate glue offsets slightly to have a regular order.Graydon Hoare2010-06-251-0/+4
|
* Resolve and typecheck patterns in pattern alt redux. This time featuring ↵Roy Frostig2010-06-251-9/+38
| | | | way more correctness.