@@ -0,0 +1,36 @@
1+# UF Grant: Loom pointer compression
3+This project makes it possible to at least double the maximum addressible loom size, taking advantage of object allocation alignment to make use of one-or-more additional bits in our 29-bit (30-bits possible) loom-offset references.
7+- an updated allocator (`u3a_walloc()`) that ensures at least 8-byte (2-word) alignment for all allocations
8+- an updated de/reference api that compresses pointer-to-offset (`u3a_to_off()`) and decompresses offset-to-pointer (`u3a_to_ptr()`)
9+- a migration from the old to new heap layout (`u3m_pack()`, but enforcing new alignment invariants)
18+- familiarity with custom allocators, bit-twiddling, &c
20+## Educational Outcomes for the Apprentice
22+The apprentice will learn about:
25+- the loom and road system
28+## Responsibilities of the Mentor
34+## Duration and Compensation
36+Expected duration is two months.