sort_unstable (quicksort) everywhere
This commit is contained in:
@@ -1476,7 +1476,7 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.safepoints.sort();
|
self.safepoints.sort_unstable();
|
||||||
|
|
||||||
// Insert safepoint virtual stack uses, if needed.
|
// Insert safepoint virtual stack uses, if needed.
|
||||||
for vreg in self.func.reftype_vregs() {
|
for vreg in self.func.reftype_vregs() {
|
||||||
@@ -1638,9 +1638,9 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.clobbers.sort();
|
self.clobbers.sort_unstable();
|
||||||
self.blockparam_ins.sort();
|
self.blockparam_ins.sort_unstable();
|
||||||
self.blockparam_outs.sort();
|
self.blockparam_outs.sort_unstable();
|
||||||
self.prog_move_srcs.sort_unstable_by_key(|(pos, _)| *pos);
|
self.prog_move_srcs.sort_unstable_by_key(|(pos, _)| *pos);
|
||||||
self.prog_move_dsts.sort_unstable_by_key(|(pos, _)| *pos);
|
self.prog_move_dsts.sort_unstable_by_key(|(pos, _)| *pos);
|
||||||
|
|
||||||
@@ -2634,7 +2634,7 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
|
|
||||||
iter = rangedata.next_in_bundle;
|
iter = rangedata.next_in_bundle;
|
||||||
}
|
}
|
||||||
splits.sort();
|
splits.sort_unstable();
|
||||||
log::debug!(" -> final splits: {:?}", splits);
|
log::debug!(" -> final splits: {:?}", splits);
|
||||||
splits
|
splits
|
||||||
}
|
}
|
||||||
@@ -3831,7 +3831,7 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
// Sort the half-moves list. For each (from, to,
|
// Sort the half-moves list. For each (from, to,
|
||||||
// from-vreg) tuple, find the from-alloc and all the
|
// from-vreg) tuple, find the from-alloc and all the
|
||||||
// to-allocs, and insert moves on the block edge.
|
// to-allocs, and insert moves on the block edge.
|
||||||
half_moves.sort_by_key(|h| h.key);
|
half_moves.sort_unstable_by_key(|h| h.key);
|
||||||
log::debug!("halfmoves: {:?}", half_moves);
|
log::debug!("halfmoves: {:?}", half_moves);
|
||||||
self.stats.halfmoves_count = half_moves.len();
|
self.stats.halfmoves_count = half_moves.len();
|
||||||
|
|
||||||
@@ -4060,7 +4060,7 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
// resolve (see cases below).
|
// resolve (see cases below).
|
||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
self.inserted_moves
|
self.inserted_moves
|
||||||
.sort_by_key(|m| (m.pos.to_index(), m.prio));
|
.sort_unstable_by_key(|m| (m.pos.to_index(), m.prio));
|
||||||
while i < self.inserted_moves.len() {
|
while i < self.inserted_moves.len() {
|
||||||
let start = i;
|
let start = i;
|
||||||
let pos = self.inserted_moves[i].pos;
|
let pos = self.inserted_moves[i].pos;
|
||||||
@@ -4101,7 +4101,7 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
// Add edits to describe blockparam locations too. This is
|
// Add edits to describe blockparam locations too. This is
|
||||||
// required by the checker. This comes after any edge-moves.
|
// required by the checker. This comes after any edge-moves.
|
||||||
self.blockparam_allocs
|
self.blockparam_allocs
|
||||||
.sort_by_key(|&(block, idx, _, _)| (block, idx));
|
.sort_unstable_by_key(|&(block, idx, _, _)| (block, idx));
|
||||||
self.stats.blockparam_allocs_count = self.blockparam_allocs.len();
|
self.stats.blockparam_allocs_count = self.blockparam_allocs.len();
|
||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
while i < self.blockparam_allocs.len() {
|
while i < self.blockparam_allocs.len() {
|
||||||
@@ -4129,7 +4129,7 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ensure edits are in sorted ProgPoint order.
|
// Ensure edits are in sorted ProgPoint order.
|
||||||
self.edits.sort_by_key(|&(pos, prio, _)| (pos, prio));
|
self.edits.sort_unstable_by_key(|&(pos, prio, _)| (pos, prio));
|
||||||
self.stats.edits_count = self.edits.len();
|
self.stats.edits_count = self.edits.len();
|
||||||
|
|
||||||
// Add debug annotations.
|
// Add debug annotations.
|
||||||
@@ -4190,7 +4190,7 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
.iter()
|
.iter()
|
||||||
.map(|&inst| ProgPoint::before(inst))
|
.map(|&inst| ProgPoint::before(inst))
|
||||||
.collect();
|
.collect();
|
||||||
safepoints.sort();
|
safepoints.sort_unstable();
|
||||||
log::debug!(" -> live over safepoints: {:?}", safepoints);
|
log::debug!(" -> live over safepoints: {:?}", safepoints);
|
||||||
|
|
||||||
let mut safepoint_idx = 0;
|
let mut safepoint_idx = 0;
|
||||||
@@ -4217,7 +4217,7 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.safepoint_slots.sort();
|
self.safepoint_slots.sort_unstable();
|
||||||
log::debug!("final safepoint slots info: {:?}", self.safepoint_slots);
|
log::debug!("final safepoint slots info: {:?}", self.safepoint_slots);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user