I don't think I understand the reason for this change.
The current version keeps, during partitioning, the elements in four groups:
| lt pivot | eq pivot | unchecked | gt pivot |
which means that after partitioning we have the three groups:
| lt pivot | eq pivot | gt pivot |
^ ^ ^ starts at "high_start"
^ ^ starts at "low_end"
^ starts at "from"
The pivot starts out in the "eq pivot" group, and stays there during
partitioning.
We recurse only on the ones that are less than and greater than. I don't
see how
we can recurse on less than that.
http://codereview.chromium.org/1591038/diff/1/2
File src/array.js (right):
http://codereview.chromium.org/1591038/diff/1/2#newcode678
src/array.js:678: a[high_start] = pivot;
This partitions into the following groups:
| lt | eq | unchecked | gt | pivot |
Correct?
http://codereview.chromium.org/1591038/show
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev