Skip to content

Commit

Permalink
Showing 1 changed file with 4 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -2068,14 +2068,16 @@ public DynamicObject sortVeryShort(VirtualFrame frame, DynamicObject array, NotP
public Object sortLargeArray(VirtualFrame frame, DynamicObject array, NotProvided block,
@Cached("new()") SnippetNode snippetNode) {
return snippetNode.execute(frame,
"sorted = dup; Rubinius.privately { sorted.mergesort! }; sorted");
"sorted = dup; Rubinius.privately { sorted.isort!(0, right) }; sorted",
"right", getSize(array));
}

@Specialization(guards = { "!isNullArray(array)" })
public Object sortWithBlock(VirtualFrame frame, DynamicObject array, DynamicObject block,
@Cached("new()") SnippetNode snippet) {
return snippet.execute(frame,
"sorted = dup; Rubinius.privately { sorted.mergesort_block!(block) }; sorted",
"sorted = dup; Rubinius.privately { sorted.isort_block!(0, right, block) }; sorted",
"right", getSize(array),
"block", block);
}

0 comments on commit ea3d84f

Please sign in to comment.