From 2816df59b228da0c0c4c7f183d068dbfde0c286b Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Wed, 29 May 2024 18:11:18 -0700 Subject: [PATCH] Increase tinymalloc granularity --- build/bootstrap/compile | Bin 333138 -> 333074 bytes build/bootstrap/fixupobj | Bin 206739 -> 206822 bytes libc/mem/tinymalloc.inc | 49 ++++++++++++++++++++------------------- tool/build/compile.c | 26 +++++++++++---------- 4 files changed, 39 insertions(+), 36 deletions(-) diff --git a/build/bootstrap/compile b/build/bootstrap/compile index 1c5e937566e34b5e48c85a4e6df211d754f29d23..3fb6413783a70bc43be10c51a32b8dff282de02e 100755 GIT binary patch delta 31165 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 OAruyQDZKdo@TI|KVFNXL#R|S*zzG#` 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 X<{`@IQ{;1o$0{xJtiL?NJ*NC0zN(|e delta 31350 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 Jp5*HB{{`ax@B07% diff --git a/build/bootstrap/fixupobj b/build/bootstrap/fixupobj index ae7d39a9e8c1fc20155c02be61049e84abfff9f2..b59b55a5b22cd89d4009079f1dacf17749ee5bd0 100755 GIT binary patch delta 21321 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 delta 21197 zcmZ{M30%xw_xSgIr)g74d(x_uw9>9L?UO>5EG0@s$dYDk#Y_^$h=v~5F1yMSp|Z4y zk}X2kM>WI4$%pXa_} zRMI(*`>4NJIFMc-M~@m=xLO_~#>i1lg<6VE2oO8QDt**&b{b_u{$iJK7jwLvT-+UZ zL@2E(tW-8+sDIV)Upg)$^;hN?1J2Yfx6O96sXkL0vX_$m4cYN6FZX3#CR1k%y^M*(uCX#* z2GC~9L~aq0Ze^K>D!~f9I#&Q=Y_N=x{)e%NFh1&IdC2r%)0DV}-t9`OhQq(888h}tmPdpHW7f@xyjpGF0 z61K`FfG?8+D5`JC>tO;ddljI|Fgz+_nyeT+ zB3yl$He0B=SH^xncm!9E?Ova((rQ)KO86HNexY+BJ{N+vpawi96dCKBO(yFy6+9EX zuu6|D2;j3B%=0)o6j|zS2bxfkE!5r(4OpaQ0K`fG_#6nL!}wt+(zLUh1WLW6Qi@ux zT(;;j3}YluQ2~z9(9vEhGTr$Q7r_gw^+2yC))6pqi}j z-BPODhZ5J|S>w<|6om`MAwx6`-yes5TTD)(S##5Qo;@&}hz#c;M^T|d=McaLXI_HU zp~Y|Tm+?p!=@!XPKpPOs!I@!5*I?z6|E*$L-zste1*

mxZC>>i*D!S=s^!6}%C@ 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 NgddBZ_tL7v{~!5 TINYMALLOC_MAX_ALIGN) goto InvalidArgument; - if (ckd_add(&need, need, sizeof(unsigned) - 1)) + // TODO(jart): refactor append*() to not need size_t*2 granularity + if (ckd_add(&need, need, sizeof(size_t) * 2 - 1)) goto OutOfMemory; - need &= -sizeof(unsigned); + need &= -sizeof(size_t); // allocate from free list next = heap.free; link = &heap.free; while (next) { - next2 = *(unsigned *)(heap.memory + next); - link2 = (unsigned *)(heap.memory + next); - if (need <= ((unsigned *)(heap.memory + next))[-1]) { + next2 = *(size_t *)(heap.memory + next); + link2 = (size_t *)(heap.memory + next); + if (need <= ((size_t *)(heap.memory + next))[-1]) { *link = next2; return (void *)(heap.memory + next); } @@ -90,7 +91,7 @@ void *memalign(size_t align, size_t need) { // allocate new static memory base = heap.used; - base += sizeof(unsigned); + base += sizeof(size_t); base += align - 1; base &= -align; if (ckd_add(&toto, base, need)) @@ -98,7 +99,7 @@ void *memalign(size_t align, size_t need) { if (toto > TINYMALLOC_MAX_BYTES) goto OutOfMemory; res = heap.memory + base; - ((unsigned *)res)[-1] = need; + ((size_t *)res)[-1] = need; heap.used = toto; heap.last = base; return res; @@ -118,7 +119,7 @@ void *malloc(size_t need) { void *calloc(size_t count, size_t size) { char *res; - unsigned need, used; + size_t need, used; if (ckd_mul(&need, count, size)) need = -1; used = heap.used; @@ -130,27 +131,27 @@ void *calloc(size_t count, size_t size) { void *realloc(void *ptr, size_t need) { char *res, *mem; - unsigned base, have, toto; + size_t base, have, toto; if (!ptr) { res = (char *)malloc(need); } else { mem = (char *)ptr; unassert(isheap(mem)); - have = ((unsigned *)mem)[-1]; + have = ((size_t *)mem)[-1]; base = mem - heap.memory; if (need < have) { res = mem; } else if (base == heap.last) { - if (need < sizeof(unsigned)) - need = sizeof(unsigned); - if (ckd_add(&need, need, sizeof(unsigned) - 1)) + if (need < sizeof(size_t)) + need = sizeof(size_t); + if (ckd_add(&need, need, sizeof(size_t) - 1)) goto OutOfMemory; - need &= -sizeof(unsigned); + need &= -sizeof(size_t); if (ckd_add(&toto, base, need)) goto OutOfMemory; if (toto > TINYMALLOC_MAX_BYTES) goto OutOfMemory; - ((unsigned *)mem)[-1] = need; + ((size_t *)mem)[-1] = need; heap.used = toto; res = mem; } else if ((res = (char *)malloc(need))) { diff --git a/tool/build/compile.c b/tool/build/compile.c index 251a7998b..8b2f35e16 100644 --- a/tool/build/compile.c +++ b/tool/build/compile.c @@ -213,18 +213,20 @@ char *g_tmpout; const char *g_tmpout_original; const char *const kSafeEnv[] = { - "ADDR2LINE", // needed by GetAddr2linePath - "HOME", // needed by ~/.runit.psk - "HOMEDRIVE", // needed by ~/.runit.psk - "HOMEPATH", // needed by ~/.runit.psk - "MAKEFLAGS", // needed by IsRunningUnderMake - "MODE", // needed by test scripts - "PATH", // needed by clang - "PWD", // just seems plain needed - "STRACE", // useful for troubleshooting - "TERM", // needed to detect colors - "TMPDIR", // needed by compiler - "SYSTEMROOT", // needed by socket() + "ADDR2LINE", // needed by GetAddr2linePath + "BUILDLOG", // used by cosmocc + "HOME", // needed by ~/.runit.psk + "HOMEDRIVE", // needed by ~/.runit.psk + "HOMEPATH", // needed by ~/.runit.psk + "KPRINTF_LOG", // used by internals + "MAKEFLAGS", // needed by IsRunningUnderMake + "MODE", // needed by test scripts + "PATH", // needed by clang + "PWD", // just seems plain needed + "STRACE", // useful for troubleshooting + "SYSTEMROOT", // needed by socket() + "TERM", // needed to detect colors + "TMPDIR", // needed by compiler }; #include "libc/mem/tinymalloc.inc"