Commit Graph

66 Commits

Author SHA1 Message Date
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 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