fork of 9front i guess
Find a file
Ori Bernstein b5086c1863 libc: recurse on smaller half of array
Our qsort has an optimization to recurse on one
half of the array, and do a tail call on the other
half. Unfortunately, the condition deciding which
half of the array to recurse on was wrong, so we
were recursing on the larger half of the array and
iterating on the smaller half.

This meant that if we picked the partition poorly,
we were pessimizing our stack usage instead of
optimizing it.

This change reduces our stack usage from O(n)
to O(log(n)) for poorly chosen pivots.
2020-11-01 11:23:39 -08:00
386 add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
68000 add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
68020 add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
acme win: fix window recreation command 2020-09-16 12:41:24 +02:00
adm/timezone timezones: change DST timezone string for South Australia 2019-11-20 11:49:16 +10:30
amd64 turn ptrdiff_t into a 64 bit type 2020-03-24 14:45:15 -07:00
arm add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
arm64 turn ptrdiff_t into a 64 bit type 2020-03-24 14:45:15 -07:00
lib aux/vga: eepc igfx support (thanks p.kosyh) 2020-09-26 20:47:17 -07:00
mips add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
power add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
power64 add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
rc window: fix error exit with the -m flag 2020-09-16 13:12:13 +02:00
sparc ape: floating point improvements (thanks spew) 2018-05-24 13:40:44 +01:00
sparc64 add va_copy macro, conforming to c99 7.15.1.2 2020-03-22 17:31:39 -07:00
spim add signed fixed size integer typedefs 2018-05-12 19:19:52 +02:00
sys libc: recurse on smaller half of array 2020-11-01 11:23:39 -08:00
.hgignore hgignore: ignore section 9 manpage indices, ignore init, kernels and bootloader binaries 2020-03-07 12:28:49 +01:00