Graydon Hoare
|
c7ef0ded81
|
Improve logging on upcall_malloc.
|
2010-07-02 08:17:09 -07:00 |
|
Graydon Hoare
|
c33a522097
|
Handle DW_FORM_blcok4 in runtime dwarf reader, which we started emitting a while ago.
|
2010-07-02 08:16:34 -07:00 |
|
Graydon Hoare
|
113c31a26d
|
Trap missing attr forms during dwarf-scan and shut down dwarf reader, don't crash.
|
2010-07-02 08:16:04 -07:00 |
|
Graydon Hoare
|
99be02a28d
|
Indent/outdent when logging dwarf at runtime.
|
2010-07-02 08:15:27 -07:00 |
|
Graydon Hoare
|
8370b947a4
|
Wrap long lines.
|
2010-07-01 23:53:32 -07:00 |
|
Graydon Hoare
|
60c6ae3ad5
|
Box arguments that are supposed to be boxed.
|
2010-07-01 23:50:58 -07:00 |
|
Graydon Hoare
|
f0faeaed25
|
Yeah. Not even a semantic mix-up: just a damn typo.
|
2010-07-01 23:45:16 -07:00 |
|
Graydon Hoare
|
27d69a88b1
|
Teach clone_ty to tolerate cloning a mutable (though not state) type.
|
2010-07-01 23:20:28 -07:00 |
|
Graydon Hoare
|
a2e4d45600
|
Improve mangling.
|
2010-07-01 23:15:42 -07:00 |
|
Graydon Hoare
|
f3de4ee2a7
|
Teach the associative_binary_op_ty_fold about box, mutable and tys.
|
2010-07-01 23:12:34 -07:00 |
|
Graydon Hoare
|
01cfcfab13
|
Strip outer 'mutable' off slot when deciding if pred can apply.
|
2010-07-01 21:20:30 -07:00 |
|
Graydon Hoare
|
2d40bc669c
|
Retire defunct copy_ty in favour of trans_copy_ty, which invokes the same logic at the bottom.
|
2010-07-01 21:02:49 -07:00 |
|
Graydon Hoare
|
d0a1b6e914
|
Reinstate disgusting, filthy workarounds for deriving missing type information. It existed before, we will survive if it exists now.
|
2010-07-01 20:24:23 -07:00 |
|
Graydon Hoare
|
4273986623
|
Remove similar over-application of auto-deref from type.
|
2010-07-01 19:30:35 -07:00 |
|
Graydon Hoare
|
65a87a55a1
|
Remove too-optimistic (and not harmless) over application of auto-deref in trans.
|
2010-07-01 19:29:51 -07:00 |
|
Graydon Hoare
|
314af0a44b
|
Split out and improve trans_init_box.
|
2010-07-01 19:29:03 -07:00 |
|
Graydon Hoare
|
7df949af40
|
Add logging to trans_init_slot_from_atom.
|
2010-07-01 19:28:11 -07:00 |
|
Graydon Hoare
|
6c9832d3ec
|
Catch ast pretty-printer up with init-tup syntax.
|
2010-07-01 19:27:20 -07:00 |
|
Graydon Hoare
|
bb018b24f5
|
Fox the clauses that actually satisfy box and mutable constraints; in all the confusion I had got those wrong.
|
2010-07-01 18:39:58 -07:00 |
|
Graydon Hoare
|
c27879a1aa
|
Of course, the LHS constraint on an init-box statement is mutable @.
|
2010-07-01 18:39:08 -07:00 |
|
Graydon Hoare
|
fdafec39de
|
Clarify in type logging when we have a constraint vs. a resolved type.
|
2010-07-01 18:38:28 -07:00 |
|
Graydon Hoare
|
fb7e37842b
|
Add compile-check target for just attempting to compile, not run, the tests.
|
2010-07-01 18:37:53 -07:00 |
|
Graydon Hoare
|
f72774db7a
|
Correct existing reliance on auto-box / unbox behavior in tests.
|
2010-07-01 18:37:30 -07:00 |
|
Graydon Hoare
|
792d96474e
|
Box the integer passed to the handle in obj-drop.rs. No more implicit arg-boxing.
|
2010-07-01 18:04:21 -07:00 |
|
Graydon Hoare
|
2120599387
|
Establish the box constraint on the dst in STMT_init_box before propagating it to the rval.
|
2010-07-01 18:03:37 -07:00 |
|
Graydon Hoare
|
c30353d4f9
|
Remove TYSPEC_loggable. Everything's loggable (or will be, eventually; the backend can catch unimplemented cases until then).
|
2010-07-01 17:56:20 -07:00 |
|
Graydon Hoare
|
4bec9538cc
|
Check the simplified type used in check-expr in trans.
|
2010-07-01 17:55:28 -07:00 |
|
Graydon Hoare
|
ae25e66a7f
|
Extract pattern-slot variables in lval typecheck context (mutable ok).
|
2010-07-01 17:11:01 -07:00 |
|
Graydon Hoare
|
abfeefc662
|
Relax alias-analysis pass to permit literal-aliasing.
|
2010-07-01 17:10:30 -07:00 |
|
Graydon Hoare
|
bcc7ec18b8
|
Remove the catch-all in type.ml, add cases for every stmt (a couple more handled; mostly still stubs).
|
2010-07-01 16:56:39 -07:00 |
|
Graydon Hoare
|
9138438620
|
Convey auto-deref judgments made in typechecker to trans layer; control the decision in one place.
|
2010-07-01 15:59:29 -07:00 |
|
Graydon Hoare
|
90b36dcd26
|
Correct overzealous bulk-edit to LLVM code.
|
2010-07-01 15:26:00 -07:00 |
|
Graydon Hoare
|
2122b59ea2
|
Some work on teaching trans to differentiate between auto-deref and explicit-deref contexts.
|
2010-07-01 13:20:57 -07:00 |
|
Graydon Hoare
|
ef61c458fa
|
Add more logging to copy/init paths.
|
2010-07-01 11:11:34 -07:00 |
|
Graydon Hoare
|
bb3aad72c4
|
Remove redundant indirection-function.
|
2010-07-01 11:11:07 -07:00 |
|
Graydon Hoare
|
a7016ade65
|
Implement STMT_init_box in trans, clean up some of the semant table-accessors.
|
2010-07-01 10:44:27 -07:00 |
|
Graydon Hoare
|
8acb2cf47d
|
Add STMT_init_box to typestate pass.
|
2010-07-01 10:14:38 -07:00 |
|
Graydon Hoare
|
a61e85ca34
|
Simplify types before analyzing call structure; 2 more tests compile.
|
2010-07-01 10:09:04 -07:00 |
|
Graydon Hoare
|
cb04275afa
|
Add machine-dependent 'float' type.
|
2010-07-01 09:35:48 -07:00 |
|
Graydon Hoare
|
afc0dc8bfc
|
Fix lexer's definition of numeric literals.
|
2010-07-01 09:03:47 -07:00 |
|
Roy Frostig
|
5a07e98c5d
|
Fix two bugs in tag patterns: 1. Look up the tag constructor function item 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.
|
2010-07-01 00:09:11 -07:00 |
|
Graydon Hoare
|
6a0b06e562
|
Rename 'exterior' to 'box' and 'interior' to 'local' (at least wrt. slots; keep MEM_interior for describing interior-parts-of-allocations)
|
2010-06-30 22:45:54 -07:00 |
|
Graydon Hoare
|
8b8186db87
|
No more "transplant" behavior in "let @x = y", gotta box explicitly.
|
2010-06-30 21:17:45 -07:00 |
|
Graydon Hoare
|
e460da3889
|
Auto-deref on lval-ext terms (x.y == x->y, if you like)
|
2010-06-30 21:16:13 -07:00 |
|
Graydon Hoare
|
0b252a96b1
|
De-duplicate code in get_resolved_ty, make recursive, add a case for tup.
|
2010-06-30 21:01:28 -07:00 |
|
Graydon Hoare
|
d2e7c1a5dc
|
Add two move variants of "acceptable mismatches to recover from" when the mut_ok or ext_ok flags are set.
|
2010-06-30 21:00:57 -07:00 |
|
Graydon Hoare
|
edfcd3a723
|
Add relaxed init-context in which we're willing to auto-deref.
|
2010-06-30 21:00:09 -07:00 |
|
Graydon Hoare
|
f6fda46020
|
Add TYSPEC_mutable, merge control-flag for it and auto_deref into unify_ctx structure.
|
2010-06-30 19:45:40 -07:00 |
|
Graydon Hoare
|
cab674447f
|
Make type-cast decisions based on simplified types.
|
2010-06-30 19:30:12 -07:00 |
|
Graydon Hoare
|
4765d1e358
|
Fix another type bug I introduced yesterday; found through wondrous logging technology.
|
2010-06-30 15:26:34 -07:00 |
|
Graydon Hoare
|
335053eb68
|
Improve logging in type.
|
2010-06-30 15:25:24 -07:00 |
|
Graydon Hoare
|
77cf4a880c
|
Pick out error in type due to delightfully clear logging.
|
2010-06-30 15:16:37 -07:00 |
|
Graydon Hoare
|
4cd49c0ab0
|
Improve logging in type.ml, give it indentation and per-statement context.
|
2010-06-30 15:13:29 -07:00 |
|
Graydon Hoare
|
b450838c46
|
Fix recently-broken lval formatter.
|
2010-06-30 15:12:42 -07:00 |
|
Graydon Hoare
|
6c3a2491d8
|
Add support for parsing COMP_deref lval components (*foo).
|
2010-06-30 14:51:36 -07:00 |
|
Graydon Hoare
|
9fb3e128da
|
Fix formatting string.
|
2010-06-30 14:51:03 -07:00 |
|
Graydon Hoare
|
0ac6be85a9
|
Add a COMP_deref to lvals for explicit-derefs, modify typechecker to implicitly deref in only *some* contexts.
|
2010-06-30 12:39:11 -07:00 |
|
Graydon Hoare
|
8e4a10790f
|
rewrite 'mutable &' as '& mutable', corresponding to grammar shift.
|
2010-06-30 02:30:17 -07:00 |
|
Graydon Hoare
|
e828b2a94d
|
Tidy up (I think) a couple typos from patrick's last commit.
|
2010-06-30 01:45:36 -07:00 |
|
Graydon Hoare
|
df0eebcf1e
|
Improve error message.
|
2010-06-30 01:42:40 -07:00 |
|
Graydon Hoare
|
5a8d93c652
|
Remove redundant (and misnamed) function "without_exterior" in trans.
|
2010-06-30 00:58:15 -07:00 |
|
Graydon Hoare
|
d796673c11
|
Reimplement backup scheme for handling lvals not yet resolved by typechecker.
|
2010-06-30 00:57:28 -07:00 |
|
Graydon Hoare
|
8120a59097
|
Init the exterior ty, not the inner ty.
|
2010-06-30 00:56:44 -07:00 |
|
Graydon Hoare
|
6ee16b588d
|
Fix error-message typo.
|
2010-06-30 00:55:53 -07:00 |
|
Graydon Hoare
|
992f344c83
|
Use simplified_ty in effect.
|
2010-06-30 00:55:27 -07:00 |
|
Graydon Hoare
|
7e853457df
|
Move simplified_ty from trans to semant and use it a few places.
|
2010-06-30 00:55:04 -07:00 |
|
Graydon Hoare
|
861423989d
|
Add logging to type and effect.
|
2010-06-30 00:53:33 -07:00 |
|
Graydon Hoare
|
2a1d88ae00
|
Fix exterior formatter.
|
2010-06-30 00:52:52 -07:00 |
|
Graydon Hoare
|
7d076bcaa0
|
Get compiler to the point of building std.rc and rustc.rc.
|
2010-06-30 00:07:37 -07:00 |
|
Graydon Hoare
|
675f90eca3
|
Handle constrained types in type.ml while we're at it.
|
2010-06-30 00:07:05 -07:00 |
|
Graydon Hoare
|
fc1b86e1ca
|
Wrap long lines.
|
2010-06-30 00:06:31 -07:00 |
|
Patrick Walton
|
c2d4c1116f
|
Teach the typechecker about the auto-dereference and auto-promote-to-mutable semantics we're going with
|
2010-06-29 19:56:04 -07:00 |
|
Graydon Hoare
|
f05fc6b9d7
|
Different, not quite correct yet, but I think slightly closer to correct, approach to convincing the typechecker to get along with this new type grammar.
|
2010-06-29 18:25:16 -07:00 |
|
Graydon Hoare
|
2a00a61ef3
|
Thread a 'simplification' flag through unifier, attempt to strip off layers of ignorable types when simplification is permitted.
Gets std.rc through typechecking, but assigns some wrong types to lvals (the simplified types, not the correct ones).
|
2010-06-29 16:46:07 -07:00 |
|
Roy Frostig
|
e692ccfb0c
|
Add (XFAILed) testcase for typechecker issue where fns-in-mods appear to lose their type parameters over the course of the typechecking pass.
|
2010-06-29 16:13:26 -07:00 |
|
Graydon Hoare
|
7b11a52a37
|
Update LLVM translation to match changes to slot and ty.
|
2010-06-29 14:06:50 -07:00 |
|
Graydon Hoare
|
17c293bbaa
|
Merge branch 'master' of git@github.com:graydon/rust
|
2010-06-29 12:06:18 -07:00 |
|
Graydon Hoare
|
1f9fd2710e
|
Initial stab at lowering mutable and exterior into the type system.
|
2010-06-29 12:00:15 -07:00 |
|
Graydon Hoare
|
ffdcd67c25
|
Fix underlying failure to signal errors when dep'ing.
|
2010-06-29 10:32:11 -07:00 |
|
Graydon Hoare
|
0ad7468ff2
|
Revert "Improve makefile to try to avoid wedging on failure-to-dep lib/std.rc"
This reverts commit 3bc263f102 .
|
2010-06-29 10:30:36 -07:00 |
|
Graydon Hoare
|
3bc263f102
|
Improve makefile to try to avoid wedging on failure-to-dep lib/std.rc
|
2010-06-29 10:25:25 -07:00 |
|
Roy Frostig
|
0d6aaec493
|
Work-around and un-XFAIL generic-obj.rs test. The problem uncovered in the original XFAIL is more generally that of issue #92.
|
2010-06-29 00:48:49 -07:00 |
|
Roy Frostig
|
023e5af639
|
The few and proud isolated bits from stdlib-work so far that don't break everything. Note util.rs hasn't yet been declared mod in the std crate. Don't do that yet, as it breaks make check.
|
2010-06-28 23:18:51 -07:00 |
|
Graydon Hoare
|
d94f0e2498
|
Add a NO_VALGRIND override mechanism to makefile, if you want day-to-day builds to cycle faster on linux.
|
2010-06-28 22:29:17 -07:00 |
|
Roy Frostig
|
d5ff6e133c
|
Add to generic-obj.rs testcase a method that takes an argument of the object type-param type. XFAIL the test since it no longer passes.
|
2010-06-28 21:45:48 -07:00 |
|
Roy Frostig
|
5b5b334c24
|
Testcase (XFAILed) for fn item given as lval.
|
2010-06-28 21:18:09 -07:00 |
|
Graydon Hoare
|
329a65530f
|
Canonicalize hashtables after running them through htab_map. Closes #77.
|
2010-06-28 19:24:04 -07:00 |
|
Graydon Hoare
|
bd059a354d
|
Whitespace.
|
2010-06-28 19:21:09 -07:00 |
|
Graydon Hoare
|
5abc483d9a
|
Move more of the GC logic into the runtime.
|
2010-06-28 18:53:43 -07:00 |
|
Roy Frostig
|
a27cbd4ee8
|
Testcase (XFAILed) for mutable alias vec weirdness.
|
2010-06-28 16:36:24 -07:00 |
|
Roy Frostig
|
66d313d365
|
Teach the typechecker that uints are integral types. Closes #88.
|
2010-06-28 15:27:05 -07:00 |
|
Graydon Hoare
|
d608c09168
|
Some fixme-to-issue housekeeping.
|
2010-06-28 09:39:43 -07:00 |
|
Graydon Hoare
|
e1f6749f9a
|
Once more with feeling. Closes #13.
|
2010-06-27 20:54:33 -07:00 |
|
Graydon Hoare
|
8815c02005
|
Previous commit closes #13. Trying to convince github of that fact automagically.
|
2010-06-27 20:53:07 -07:00 |
|
Graydon Hoare
|
1316312c0c
|
Only translate or dwarf-emit items or stubs locally defined or used. Avoids instantiating O(sizeof(standard-library)) worth of imports stubs on each 'use std'. Closes issue 13.
|
2010-06-27 20:48:28 -07:00 |
|
Graydon Hoare
|
7045526a3e
|
Change slot_mem_ctrl to classify vec[state] as GC mem. Breaking / XFAILing mutable-vec-drop.rs test.
|
2010-06-27 13:53:23 -07:00 |
|
Graydon Hoare
|
fb3e2fa4bf
|
Encode tag and iso types at dwarf level. Can't decode them yet.
|
2010-06-27 13:48:25 -07:00 |
|
Graydon Hoare
|
7ea416f4c3
|
Add callable gc method exposed to user code, use it in mlist-cycle.rs test (still not quite working; some memory corruption in the recursive tag constructors, not the GC)
|
2010-06-25 23:57:30 -07:00 |
|
Graydon Hoare
|
9236ad2846
|
Further attempts to convince mem_ctrl to be sane.
|
2010-06-25 23:55:36 -07:00 |
|
Graydon Hoare
|
50e96414d2
|
Fix register-use bugs in sweep pass, factor sweep pass out and call twice for separate sever/free phases.
|
2010-06-25 23:07:34 -07:00 |
|
Graydon Hoare
|
90eaaf666b
|
Improve sever_slot logging.
|
2010-06-25 23:03:06 -07:00 |
|
Graydon Hoare
|
49ac5e6312
|
Fix copy-paste error in logging function.
|
2010-06-25 23:02:19 -07:00 |
|
Graydon Hoare
|
37426e42cf
|
Add sever-glue, for missing first stage of sweep.
|
2010-06-25 21:57:46 -07:00 |
|
Graydon Hoare
|
0cf3c2ad93
|
Pass type parameters to free function called from sweep loop.
|
2010-06-25 21:20:32 -07:00 |
|
Graydon Hoare
|
3718055276
|
Align emitted DATA_* elements -- tydescs in particular -- to 16 byte boundaries, so we can get our tag bit freed up.
|
2010-06-25 20:47:16 -07:00 |
|
Graydon Hoare
|
dd2716f56c
|
Fix bad register use in GC sweep pass.
|
2010-06-25 20:46:11 -07:00 |
|
Graydon Hoare
|
968ec14527
|
Fix marking logic.
|
2010-06-25 19:56:29 -07:00 |
|
Graydon Hoare
|
34dc7053eb
|
Fix over-conservatism in alias analysis.
|
2010-06-25 19:55:40 -07:00 |
|
Graydon Hoare
|
c56a729ff1
|
Remove obsolete comment.
|
2010-06-25 17:32:35 -07:00 |
|
Graydon Hoare
|
eb7807c4fe
|
I hear actually loading the next pointer into the right register helps when walking a list.
|
2010-06-25 17:31:08 -07:00 |
|
Graydon Hoare
|
d601b357ec
|
Debug GC glue enough that marking passes.
|
2010-06-25 16:59:29 -07:00 |
|
Graydon Hoare
|
2a2474d497
|
Update comment to reflect slightly-improved GC situation.
|
2010-06-25 16:56:25 -07:00 |
|
Graydon Hoare
|
eed5c0aa24
|
Add rust_task::gc(size_t args) method that drops us back into the GC glue.
|
2010-06-25 16:54:03 -07:00 |
|
Graydon Hoare
|
67d1f0a9aa
|
Emit gc glue and rearrange crate glue offsets slightly to have a regular order.
|
2010-06-25 15:43:55 -07:00 |
|
Graydon Hoare
|
2e3fa5bd68
|
Return at end of GC glue.
|
2010-06-25 15:43:03 -07:00 |
|
Graydon Hoare
|
a9c639ec8a
|
Fix forgotten llvm xfail in Makefile.
|
2010-06-25 15:42:24 -07:00 |
|
Graydon Hoare
|
c06ea8f944
|
Add test of recursive object types (ha, work by default) and fix effect-walker bug revealed by it.
|
2010-06-25 12:15:40 -07:00 |
|
Graydon Hoare
|
422b8a6be4
|
Unlink (doubly) gc chain on free.
|
2010-06-25 11:48:17 -07:00 |
|
Graydon Hoare
|
e875993471
|
Doubly-link gc chain on alloc.
|
2010-06-25 11:00:23 -07:00 |
|
Graydon Hoare
|
63b5e18207
|
Enlarge gc header to doubly-link the gc chain.
|
2010-06-25 09:00:08 -07:00 |
|
Graydon Hoare
|
5dfe101e51
|
Revert "Add intrinsic calling convention." Isn't going to work.
This reverts commit 72c6c60d80 .
|
2010-06-25 01:33:00 -07:00 |
|
Graydon Hoare
|
287d69ddac
|
Sketch out gc glue.
|
2010-06-25 01:32:59 -07:00 |
|
Roy Frostig
|
85a701c8f6
|
Add testcases for item name conflict at the same path level.
|
2010-06-25 01:26:44 -07:00 |
|
Roy Frostig
|
241305caab
|
Resolve and typecheck patterns in pattern alt redux. This time featuring way more correctness.
|
2010-06-25 00:47:23 -07:00 |
|
Graydon Hoare
|
0d9565a4c1
|
Rearrange pexp-custom stuff a bit.
|
2010-06-25 00:00:31 -07:00 |
|
Graydon Hoare
|
72c6c60d80
|
Add intrinsic calling convention.
|
2010-06-24 19:21:40 -07:00 |
|
Graydon Hoare
|
c483808e0f
|
Factor out some trans bits.
|
2010-06-24 19:21:15 -07:00 |
|
Graydon Hoare
|
1c60be2f32
|
Fix bad output-slot logic in tag constructors.
|
2010-06-24 18:25:10 -07:00 |
|
Graydon Hoare
|
bcf29b882a
|
A couple new tests for broken parts of the typechecker, XFAILed.
|
2010-06-24 16:57:00 -07:00 |
|
Graydon Hoare
|
24d5ff75c3
|
Fix output-slot handling for real. It's been broken for a long time.
|
2010-06-24 16:19:55 -07:00 |
|
Graydon Hoare
|
af44ec2856
|
Issue 24, drop output slot when not initializing. Un-XFAIL generic-tag.rs. Add test for output slot modes with several broken cases.
|
2010-06-24 13:32:59 -07:00 |
|
Graydon Hoare
|
69a34503f4
|
Remove redundant copy of comment.
|
2010-06-24 11:18:02 -07:00 |
|
Graydon Hoare
|
0364a801bb
|
Clean up trans_alt_tag to use slots, not assume interior words. Also remove record-based destructuring (hard on eyes). Add execution parts to generic-tag-alt.rs and un-XFAIL it.
|
2010-06-24 11:15:22 -07:00 |
|
Graydon Hoare
|
25eb1fd3c9
|
Add fmt module, move out some common format helpers, add instruction-selection tracing and make selection use queues rather than list refs.
|
2010-06-24 10:34:47 -07:00 |
|
Graydon Hoare
|
4a1f86ccd7
|
Merge timer loop functions, fix win32 build broken by logger change.
|
2010-06-24 08:52:52 -07:00 |
|
Graydon Hoare
|
935442babc
|
Fix hg dependency in testsuite.
|
2010-06-24 08:44:14 -07:00 |
|
Roy Frostig
|
1f3cff91f6
|
Remove bogus FIXME.
|
2010-06-24 08:23:17 -07:00 |
|
Roy Frostig
|
bc286c7f2c
|
Resolve and typecheck patterns in pattern alt.
|
2010-06-24 08:13:32 -07:00 |
|
Graydon Hoare
|
d6b7c96c3e
|
Populate tree.
|
2010-06-23 21:03:09 -07:00 |
|
Graydon Hoare
|
c01efc669f
|
Initial git commit.
|
2010-06-16 14:30:45 -07:00 |
|