Commit Graph

13162 Commits

Author SHA1 Message Date
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
261d543920 Ignore TAGS. 2010-06-24 16:51:48 -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
d3c0762ff8 A couple more ignorable files. 2010-06-24 16:19:45 -07:00