Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | --gc:destructors now means Nim uses pure refcounting (#12557) | Andreas Rumpf | 2019-10-30 | 1 | -2/+2 |
| | |||||
* | first implementation of the new --seqsv2 switch | Araq | 2019-10-20 | 1 | -1/+1 |
| | |||||
* | Fixes #12286 - require explicit disabling of boehm interior pointer checking ↵ | genotrance | 2019-10-11 | 1 | -1/+3 |
| | | | | (#12406) [backport] | ||||
* | Fix spellings (#12277) [backport] | Federico Ceratto | 2019-09-27 | 1 | -1/+1 |
| | |||||
* | gc:destructors progress | Andreas Rumpf | 2019-09-16 | 1 | -2/+4 |
| | |||||
* | fixes a critical --gc:boehm regression | Andreas Rumpf | 2019-09-06 | 1 | -4/+4 |
| | |||||
* | fixes #11447 | Andreas Rumpf | 2019-07-06 | 1 | -1/+3 |
| | |||||
* | [feature] Add boehm gc finalizer (#11446) | yatsen1 | 2019-06-17 | 1 | -0/+7 |
| | |||||
* | --newruntime: progress | Andreas Rumpf | 2019-03-14 | 1 | -1/+2 |
| | |||||
* | --newruntime: work in progress | Andreas Rumpf | 2019-03-14 | 1 | -0/+2 |
| | |||||
* | system refactorings (#10559) | Andreas Rumpf | 2019-02-06 | 1 | -1/+1 |
| | | | | | | | | * move IO subsystem into its own module; refs #10385 * make standalone test compile again * make C++ examples compile again * make more tests green * make sysAssert and gcAssert work again | ||||
* | Disable interior pointer checking by default for the Boehm GC. (#10316) | Reimer Behrends | 2019-01-15 | 1 | -0/+3 |
| | | | | | | | | | | | | | | | The Boehm GC only needs interior pointer checking if pointers in global variables or on the heap point to the interior of an object rather than the beginning. If this does not happen, then checking for interior pointers causes additional overhead, in particular because any objects whose sizes are an exact multiple of two words gain another two words of padding, wasting memory. If checking of interior pointers is still desired, this can be achieved by setting the environment variable GC_ALL_INTERIOR_POINTERS. Pointers on the stack will always be treated as potential interior pointers, as compiler optimizations may advance the only live reference to a point past the beginning of an object. | ||||
* | Remove dead code (#9777) | Jacek Sieka | 2018-11-26 | 1 | -8/+8 |
| | | | | | | | | | * gc/gc2: remove unused ref counting stuff * also removes some false threading support - hasSharedHeap is always false in gc/gc2 * gc: remove some threading cruft * remove asgnRefNoCycle * compiler: remove TLoc.dup (unused) | ||||
* | removes deprecated T/P types | Araq | 2018-11-16 | 1 | -1/+0 |
| | |||||
* | gogc: GCC-8.2.0 compatibility and other improvements (#9211) | Ștefan Talpalaru | 2018-10-11 | 1 | -107/+53 |
| | | | | | | | | - Go's write barriers are now plugged-in in all the relevant points - "gcGo" is correctly classified by usesWriteBarrier() - some gogc structures and functions now use golib wrappers to keep GCC version-specific conditions out of the compiler/stdlib code - we no longer allow mixing the C malloc with Go's - fix a problem with string copying | ||||
* | more progress on destructor based strings | Andreas Rumpf | 2018-07-13 | 1 | -1/+1 |
| | |||||
* | mmdisp: code cleanups | Andreas Rumpf | 2018-07-11 | 1 | -64/+59 |
| | |||||
* | hotfix 3221ac094398492e09ea618638204793b0990eca broke gc:regions/aka gc:stack by | Charles Blake | 2018-06-13 | 1 | -1/+2 |
| | | | | | underallocating for sequences of any type larger than 1 byte. This does the necessary multiply to restore basic functionality. | ||||
* | Expose GC_setStackBottom (#7885) | Yuriy Glukhov | 2018-06-04 | 1 | -4/+4 |
| | |||||
* | hotfix for --gc:regions | Andreas Rumpf | 2018-05-28 | 1 | -6/+9 |
| | |||||
* | Don't zeroMem result of boehmAlloc() (#7029) | Mathias Stearn | 2018-01-05 | 1 | -3/+1 |
| | | | | From the man page: "Unlike the standard implementations of malloc, GC_malloc clears the newly allocated storage. GC_malloc_atomic does not." | ||||
* | cleanup todo.txt | Araq | 2017-12-07 | 1 | -1/+2 |
| | |||||
* | make asyncdispatch compile with the foreign GCs | Araq | 2017-12-01 | 1 | -0/+8 |
| | |||||
* | remove goFree() (#6808) | Ștefan Talpalaru | 2017-11-25 | 1 | -2/+0 |
| | | | | __go_free() was removed from gcc-7.2.0 so we stop trying to help the garbage collector by marking no longer used memory regions | ||||
* | newSeqOfCap: skip initialization step for non-GC-ed data | Andreas Rumpf | 2017-09-24 | 1 | -1/+5 |
| | |||||
* | remove ArrayDummySize with unchecked arrays (#5818) | Jacek Sieka | 2017-08-28 | 1 | -1/+1 |
| | |||||
* | WIP: --gc:regions instead of --gc:stack | Araq | 2017-08-13 | 1 | -3/+3 |
| | |||||
* | fixes #6234 | Andreas Rumpf | 2017-08-11 | 1 | -1/+1 |
| | |||||
* | support libgo from GCC 6.3 (#5964) | Ștefan Talpalaru | 2017-06-08 | 1 | -1/+10 |
| | |||||
* | Control leakDetector from cmdline | Yuriy Glukhov | 2016-12-06 | 1 | -1/+1 |
| | |||||
* | Add define value `nimBurnFree` which allow deallocation procedures to fill ↵ | cheatfate | 2016-09-20 | 1 | -1/+1 |
| | | | | memory with 0xFF before freeing it. | ||||
* | added system.newSeqOfCap for improved efficiency | Andreas Rumpf | 2016-07-15 | 1 | -0/+14 |
| | |||||
* | fix types of ansi_c/sysio to more closely match C ABI | Jacek Sieka | 2016-06-05 | 1 | -12/+12 |
| | | | | | also fixes some instances of using C library functions when there are nim alternatives available | ||||
* | Merge remote-tracking branch 'origin/devel' into malloc-store-size | Jacek Sieka | 2016-04-26 | 1 | -4/+8 |
|\ | |||||
| * | simple stuff works with --gc:stack | Andreas Rumpf | 2016-04-18 | 1 | -4/+5 |
| | | |||||
| * | beginnings of --gc:stack | Andreas Rumpf | 2016-03-28 | 1 | -0/+3 |
| | | |||||
* | | store block size in when using malloc and nogc | Jacek Sieka | 2016-03-25 | 1 | -5/+20 |
|/ | | | | | this allows for a correct implementation of realloc, which is needed as code using it assumes new values will be zeroed out / nil | ||||
* | newObj can clear memory, even when using malloc and nogc | Jacek Sieka | 2016-03-07 | 1 | -1/+1 |
| | |||||
* | further progress on --gc:v2 | Andreas Rumpf | 2016-02-17 | 1 | -1/+1 |
| | |||||
* | some progress on GC v2 | Andreas Rumpf | 2016-02-03 | 1 | -2/+2 |
| | |||||
* | set debug switch to false again | Araq | 2015-12-01 | 1 | -1/+1 |
| | |||||
* | next steps for the GC | Araq | 2015-12-01 | 1 | -1/+1 |
| | |||||
* | Remove spurious unsigned operations from system/threads.nim. | Reimer Behrends | 2015-09-08 | 1 | -3/+0 |
| | | | | | | These operations were included before the unsigned module was incorporated directly into system.nim and subsequently caused compilation errors with --gc:go due to duplicate definitions. | ||||
* | Properly register threads with the Boehm GC. | Reimer Behrends | 2015-09-08 | 1 | -23/+18 |
| | | | | | | | | | | | | | | | | In order to be able to scan thread stacks, the Boehm GC needs to know about newly created threads. We establish the end of the stack by using GC_call_with_stack_base (this works properly also with the dual-stack Itanium architecture) and then GC_register_my_thread() to register a thrad and GC_unregister_my_thread() to unregister it again. This patch also includes a modification for the refc and markandsweep collectors to set the stack bottom for thread stacks correctly even if an optimizer aggressively inlines and optimizes procedures (this is already being done for the stack of the main thread). Finally, we use the {.noconv.} pragma for the Boehm GC, as the Boehm API uses no specific calling convention. | ||||
* | Properly initialize the Boehm GC on all platforms. | Reimer Behrends | 2015-09-06 | 1 | -1/+1 |
| | |||||
* | proper distinction between --gc:none and --os:standalone | Araq | 2015-06-29 | 1 | -3/+6 |
| | |||||
* | TMemRegion -> MemRegion | Stefan Talpalaru | 2015-06-15 | 1 | -5/+6 |
| | |||||
* | cleanup | Stefan Talpalaru | 2015-06-15 | 1 | -5/+0 |
| | |||||
* | Merge branch 'devel' into gogc | Stefan Talpalaru | 2015-06-15 | 1 | -14/+17 |
|\ | |||||
| * | lib/system/g-w - Dropped 'T' from types | pdw | 2015-06-04 | 1 | -14/+17 |
| | |