Right now we use an arena-style allocator. Every time we want to allocate memory, we bump the base pointer and return the previous value. This is extremely-simple, but it wastes memory in two ways: first, if an object doesn't fit in the current page, we lose all the unused space in that page. Second, we can't free objects. A smarter allocator could keep track of free memory and re-use it.
Right now we use an arena-style allocator. Every time we want to allocate memory, we bump the base pointer and return the previous value. This is extremely-simple, but it wastes memory in two ways: first, if an object doesn't fit in the current page, we lose all the unused space in that page. Second, we can't free objects. A smarter allocator could keep track of free memory and re-use it.