The main difference in stack usage caused by this change is: Its only safe to walk a stack from top down via the prev pointers. If we ever need to go up from base, marking a stack COW would need duplication of the linked chunk list.
There are probably still some bugs in the code like off by 1 errors WRT chunk_copy, but we currently don't have tests that might reveal this.
So please write tests and tests ...
Thanks, leo