- User Since
- Jun 30 2017, 3:18 PM (42 w, 5 d)
Feb 6 2018
Rewrite the splay root-picking code a bit to eliminate a few redundant writes.
Jan 29 2018
Jan 28 2018
Jan 27 2018
Jan 26 2018
Endeavor to properly delete a tree node with no left child.
Throw everything back in.
Jan 25 2018
Null the children of the item being inserted.
Fix function name.
Let splay() do the insertion of a new node.
Small changes to splay and unlink that I expect to break nothing.
Back up to where I think things last worked, to start a search for where things broke again.
Update a comment.
The changed behavior of the splay function merits a renaming, to vm_map_splay from vm_map_entry_splay.
Reduce the size of the diff a bit.
Jan 24 2018
Move all tree manipulation into the splay function, by passing a map argument instead of a pointer to root, and a supplementary argument to control whether an item is inserted, or deleted, or neither. Add a assertion on splay that the address is within map bounds.
Perhaps I found a problem with linking a new entry at the beginning. Perhaps I fixed it.
Jan 23 2018
Put everything back in, including a fix for the failure to initialize *entry on an out-of-bounds lookup, and await news.
Returning early cannot mean leaving the *entry value uninitialized.
Drop the early exit for out-of-range addresses, which leaves *entry uninitialized.
Fix the broken binary search.
The map is not an argument to vm_map_entry_splay, so the range data is not available to form an assertion.
Restore the modifications to the tree search, and restore the range check to lookup_entry, and wait to see if those changes can be blamed for what's wrong in the big patch.
The origin of this patch is that I am developing changes to vm_map_entry_splay that require the address to lie within the map range, and a Peter Holm test reveals that not to be the case in at least one instance:
Throw out everything except the changes to the splay function, to see if a problem regarding rc scripts resides there.
Jan 22 2018
Fix another error from rushed editting. I'm surprised that it compiled.
Avoid duplicated comparisons in splay.
Have lookup_entry check that address is within map range before splaying.
Try again to fix the right-right problem, without compilation errors. Thanks again, Peter.
Remember to compare to end before comparing to start in the case when the first splay step is to the right and we have to consider whether the next splay step is also to the right.
Jan 21 2018
Provide more debug information when a splay assertion fails.
Initialize map->header.max_free too.
Initialize map->header.adj_free in _vm_map_init.
Fix a compilation error that I'm embarrassed to have included in the previous version.
Jan 20 2018
Apply suggested changes to indentation.
I have addressed the comments (made offline) from alc. He has stated that he has no objections to the resulting patch, but that I will have to rely on someone else to give it final approval and checkin. I'd appreciate that help from somebody, please.
Add a comment regarding the use of sentinel values.
Jan 16 2018
Make recommended formatting changes to a couple of loops.
Jan 14 2018
Add recommended space to one comment.
Jan 13 2018
Apply reviewer suggestions.
Peter Holm, can you please stress test this patch at your convenience?
Jan 6 2018
Jan 3 2018
Rewrite a comment.
Adopt reviewer suggestions. Reduce the size of the diff by reformatting modified comments to have fewer lines changed.
Eliminate unneeded &map->header checks in vm_mmap.c.
Jan 2 2018
Associate min_offset and max_offset with header.end and header.start, respectively.
Restore missing blist.h changes.
Jan 1 2018
Fixup comments, and whitespace.
Dec 31 2017
On a failed lookup, stop trying to avoid pulling both neighbors of the missing item to the top of the tree.
Apply suggested whitespace and commenting changes.
Add missing declaration.
Drop unwanted comment.
Capitalize in a comment.
Fix 'else' spacing.
Dec 30 2017
Adopt reviewer comments about comments.
Adopt reviewer suggestions.
Dec 10 2017
Eliminate whitespace changes to comments that may have discouraged reviewers.
Adding code to eliminate a redundant comparison.
Dec 7 2017
Dec 6 2017
Dec 2 2017
If you are concerned about a search for a missing tree element flipping the top two tree nodes for no good reason, as for example when looking for 1 in the set (0 2) and flipping the tree back and forth between
Dec 1 2017
Would you please stress test this patch, Peter?
Nov 29 2017
Nov 26 2017
Add missing brace.
Update an assertion.
Drop 'empty' variable.
Rename the new function, and reposition its declaration.
Fold two lines into one, where de-indentation now allows it.
Add a function to test for empty block ranges, and use it to simplify code.
Nov 25 2017
Avoid casting vm_pindex_t differences to ints before comparing them.