runtime: shift the index for the sort by one.
Makes the code look cleaner, even if it's a little harder to figure
out from the sort invariants.
R=rsc
CC=golang-dev
https://golang.org/cl/165061
diff --git a/src/pkg/runtime/chan.c b/src/pkg/runtime/chan.c
index 1eef4b1..633ff42 100644
--- a/src/pkg/runtime/chan.c
+++ b/src/pkg/runtime/chan.c
@@ -660,12 +660,8 @@
// sort the cases by Hchan address to get the locking order.
for(i=1; i<sel->ncase; i++) {
cas = sel->scase[i];
- for(j=i-1; j<i && sel->scase[j]->chan >= cas->chan; j--)
- sel->scase[j+1] = sel->scase[j];
- // careful: j might be (unsigned)-1
- // 6c trips on sel->scase[j+1] in that case by rewriting it to
- // sel->scase[j] + 8.
- j++;
+ for(j=i; j>0 && sel->scase[j-1]->chan >= cas->chan; j--)
+ sel->scase[j] = sel->scase[j-1];
sel->scase[j] = cas;
}