Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Freeing critical sections via atexit in system/alloc and system/io (#19062) | Tail Wag Games | 2021-10-29 | 1 | -0/+3 |
| | | | | | | | | | | | | | | | * adding new system module sysexitprocs and including system exit procedures when registering exit handlers defined in userland * fixing failing tests and adding initialization guard to handle cases where the module's global init logic isn't invoked first as is the case with some gc implementaions * js backend shouldn't try to invoke actual system exit procs * fixing formatting in sysexitprocs.nim * 256 was too much - my max number of plugins in my engine is 64 and I require two hooks per runtime it looks like with tls emulation turned off, so for my purposes 128 should be sufficient * so atExit should be enough here, can get rid of all the extra cruft I had added on top since I didn't realize atExit already provided a stack * done being cute - since newruntime prevents correct cpp codegen for object variants apparently and breaks tests if I try to use std/exitprocs, ddSysExitProc is just going into both modules. Since system doesn't include system/io, polluting system with it doesn't make sense either... at least it is only importc'd when it is required in either module and we don't have to have any weird when defined(nimOwnedEnabled) with a comment explaining why | ||||
* | fixes #18494 (#18783) | Andreas Rumpf | 2021-09-02 | 1 | -8/+34 |
| | |||||
* | added `nimAllocPagesViaMalloc` switch (#18490) | Andreas Rumpf | 2021-07-15 | 1 | -1/+2 |
| | | | | | * added switch * alloc.nim needs page aligned memory blocks | ||||
* | minor cleanups (#17948) | Andreas Rumpf | 2021-05-06 | 1 | -1/+1 |
| | |||||
* | fixes #16214 [backport] (#16252) | Andreas Rumpf | 2020-12-04 | 1 | -4/+4 |
| | |||||
* | init checks and 'out' parameters (#14521) | Andreas Rumpf | 2020-06-23 | 1 | -1/+2 |
| | | | | | | | | | | | * I don't care about observable stores * enforce explicit initializations * cleaner code for the stdlib * stdlib: use explicit initializations * make tests green * algorithm.nim: set result explicitly * remove out parameters and bring the PR into a mergable state * updated the changelog | ||||
* | forward type alignment information to seqs (#12430) | Arne Döring | 2020-04-19 | 1 | -7/+10 |
| | |||||
* | TlSF Alloctor: use less memory for --gc:arc (#13280) | Andreas Rumpf | 2020-01-28 | 1 | -79/+100 |
| | |||||
* | Removed lib/system/allocators.nim. seqs_v2 and strs_v2 now uses ↵ | Ico Doornekamp | 2020-01-23 | 1 | -13/+31 |
| | | | | | | | | | | | | | | | | | | | | | | | | | allocShared0. (#13190) * Cleanup, remove lib/system/allocators.nim. seqs_v2 and strs_v2 now use allocShared0 by default. * Fixed -d:useMalloc allocShared / reallocShared / deallocShared. These now use the alloc/dealloc/realloc implementation that also takes care of zeroing memory at realloc. * Removed debug printfs * Removed unpairedEnvAllocs() from tests/destructor/tnewruntime_misc * More mmdisp cleanups. The shared allocators do not need to zero memory or throw since the regular ones already do that * Introduced realloc0 and reallocShared0, these procs are now used by strs_v2 and seqs_v2. This also allowed the -d:useMalloc allocator to drop the extra header with allocation length. * Moved strs_v2/seqs_v2 'allocated' flag into 'cap' field * Added 'getAllocStats()' to get low level alloc/dealloc counters. Enable with -d:allocStats * *allocShared implementations for boehm and go allocators now depend on the proper *allocImpl procs | ||||
* | more fixes for --cpu:avr [backport] (#12748) | Andreas Rumpf | 2019-11-27 | 1 | -2/+2 |
| | |||||
* | new gensym handling (#11985) | Andreas Rumpf | 2019-08-23 | 1 | -6/+6 |
| | | | | | | | | | | | * new .gensym implementation * make astspec test green again * introduce a --useVersion switch to group compatibility switches * fixes #10180 * fixes #11494 * fixes #11483 * object constructor fields and named parameters are also not gensym'ed * disabled broken package | ||||
* | styleCheck: make the compiler and large parts of the stdlib compatible with ↵ | Araq | 2019-07-10 | 1 | -2/+2 |
| | | | | --styleCheck:error | ||||
* | Remove immediate pragma (#11308) | Arne Döring | 2019-05-29 | 1 | -2/+1 |
| | | | | | * remove immediate from tests * remove immediate from the compiler | ||||
* | right shift is now by default sign preserving (#11322) | Arne Döring | 2019-05-29 | 1 | -4/+4 |
| | | | | | | | | | | | * right shift is now by default sign preserving * fix hashString and semfold * enable arithmetic shift right globally for CI * fix typo * remove xxx * use oldShiftRight as flag * apply feedback * add changelog entry | ||||
* | --newruntime: progress | Andreas Rumpf | 2019-03-14 | 1 | -4/+0 |
| | |||||
* | allocators: introduce --define:nimMinHeapPages for tuning mmap calls (omg ↵ | Andreas Rumpf | 2019-01-19 | 1 | -3/+3 |
| | | | | they are slow on OSX...) | ||||
* | Try to let memTracker compile (#8502) | Christopher Dunn | 2018-08-05 | 1 | -5/+5 |
| | |||||
* | fixed #7894 (#8496) | jcosborn | 2018-08-01 | 1 | -1/+2 |
| | | | make system tests run properly | ||||
* | Implements alloc/dealloc counters for better leak debugging. (#8384) | Dominik Picheta | 2018-07-21 | 1 | -0/+13 |
| | |||||
* | Don't depend on string.h in codegen (#8299) | Yuriy Glukhov | 2018-07-13 | 1 | -2/+2 |
| | |||||
* | fix allocator corruption for large sizes (#7338) | jcosborn | 2018-03-17 | 1 | -36/+45 |
| | | | | | | * fix allocator corruption for large sizes * allow large chunks to coalesce and added test case * use correct constants in MaxBigChunkSize | ||||
* | make the allocator take a special path for allocations bigger than 2GB; ↵ | Araq | 2018-02-27 | 1 | -2/+26 |
| | | | | fixes #7120 | ||||
* | fixes the tracking of 'occupied memory' | Andreas Rumpf | 2018-01-30 | 1 | -6/+96 |
| | |||||
* | alloc.nim: Make 'logAlloc' produce a toy Nim program for easier memory tracing | Andreas Rumpf | 2018-01-18 | 1 | -2/+2 |
| | |||||
* | GC improvements; distinguish between thread local and globals in the marking ↵ | Araq | 2018-01-14 | 1 | -4/+4 |
| | | | | step | ||||
* | allocator: minor fix for deallocOsPages | Andreas Rumpf | 2017-12-11 | 1 | -0/+1 |
| | |||||
* | make the new allocator work | Araq | 2017-12-07 | 1 | -8/+15 |
| | |||||
* | make allocator use the TLSF algorithm; work in progress | Araq | 2017-12-07 | 1 | -30/+127 |
| | |||||
* | fixes #3558 | Araq | 2017-10-16 | 1 | -7/+8 |
| | |||||
* | fixes withRegion for --gc:stack | Andreas Rumpf | 2017-06-19 | 1 | -1/+0 |
| | |||||
* | memory manager: use less memory; corruption prevention | Andreas Rumpf | 2017-04-02 | 1 | -59/+47 |
| | |||||
* | Fixes #4719. (#5585) | Eugene Kabanov | 2017-03-23 | 1 | -0/+3 |
| | |||||
* | hotfix: allocator: don't set origSize to 0 | Araq | 2017-03-15 | 1 | -2/+2 |
| | |||||
* | make memory tracker work without onThreadCreation | Araq | 2017-03-14 | 1 | -4/+13 |
| | |||||
* | introduce nimMaxHeap define to fight memory overcommit | Andreas Rumpf | 2017-02-10 | 1 | -0/+5 |
| | |||||
* | system.nim: don't use deprecated symbols/constructs | Araq | 2017-02-08 | 1 | -1/+1 |
| | |||||
* | critical realloc bugfix; refs #4818 | Andreas Rumpf | 2017-02-03 | 1 | -3/+4 |
| | |||||
* | allocator: fixes regression: get alignment right for small objects | Araq | 2017-01-31 | 1 | -0/+2 |
| | |||||
* | make AVL tree node part of the memory regions; fixes hard to reproduce ↵ | Araq | 2017-01-31 | 1 | -15/+15 |
| | | | | channel crashes | ||||
* | fix the racy allocator properly | Andreas Rumpf | 2017-01-31 | 1 | -1/+1 |
| | |||||
* | added test case; threadex example crashes now | Araq | 2017-01-30 | 1 | -1/+5 |
| | |||||
* | fixes #5301 | Araq | 2017-01-30 | 1 | -40/+55 |
| | |||||
* | improvements to memtracking | Andreas Rumpf | 2017-01-26 | 1 | -1/+7 |
| | |||||
* | memory allocator hotfix: do not allocate tremendous amounts of memory | Andreas Rumpf | 2017-01-13 | 1 | -11/+13 |
| | |||||
* | disable new alloctor behaviour for emscripten | Andreas Rumpf | 2016-12-27 | 1 | -4/+5 |
| | |||||
* | fixes #4818 | Araq | 2016-12-18 | 1 | -2/+22 |
| | |||||
* | further memtracking improvements | Andreas Rumpf | 2016-11-24 | 1 | -0/+6 |
| | |||||
* | bugfix: bottom of AVL tree is now threadsafe | Andreas Rumpf | 2016-09-24 | 1 | -2/+2 |
| | |||||
* | clean up a few stray c_stdout's in gc debug code | Jacek Sieka | 2016-07-31 | 1 | -3/+3 |
| | |||||
* | fix types of ansi_c/sysio to more closely match C ABI | Jacek Sieka | 2016-06-05 | 1 | -2/+2 |
| | | | | | also fixes some instances of using C library functions when there are nim alternatives available |