Commit Graph

25 Commits

Author SHA1 Message Date
Andreas Rumpf
07531b41b9 make gc:v2 compile again 2017-09-22 11:12:14 +02:00
Andreas Rumpf
e968fbb7dd added system.deallocHeap feature for Nim's native GCs 2017-07-22 11:38:47 +02:00
Araq
c3b0eb5df7 added logic to the M&S GC to detect logical leaks 2017-06-16 01:48:23 +02:00
Yuriy Glukhov
73387e89a0 Fixed compilation error (#5462) 2017-03-02 14:58:26 +01:00
Rokas Kupstys
f80ddbbcc6 Use constant nimCoroutines instead of defined(nimCoroutines)
Variable
2017-02-20 17:24:19 +02:00
Rokas Kupstys
9f8863169a Cleanup of gc code
Cleanups
2017-02-20 17:24:19 +02:00
Rokas Kupstys
c3d1b732d6 Reworked gc support for coroutines. Nim now bootstraps with -d:nimCoroutines
Added gc test to coro.nim
Lots of misc improvements and comments in coro.nim
2017-02-20 17:24:19 +02:00
Rokas Kupstys
ff1bf74554 Delete fiber context when it exits (memleak fix)
Few correctness changes to gc stack management.
2017-02-20 17:24:19 +02:00
Rokas Kupstys
373e667dbc Coroutine rework.
* ucontext backend (default on unix)
* setjmp backend
* fibers backend (default and required on windows)
* Fixed coroutine loop timing issues
* Fixed saving of xmm registers on x64 windows
* Fixed alignment issues
* Updated coroutine sample with cooperative fibonacci calculation.
* Disable glibc security features only when platform jump functions are used
* Removed dependency on fasm.
    * Using fiber api on windows.
    * Other platforms and compilers  will use built in assembler and .S files or API provided by platform libc.
* Replaced stack switching procs with `coroExecWithStack()` which never returns. This makes compiler always generate proper code.
2017-02-20 17:24:19 +02:00
Anatoly Galiulin
6fa1dba515 Add `tearDownForeignThreadGc` function (#5369) 2017-02-13 13:37:20 +01:00
Araq
346ea6d171 system.nim: don't use deprecated symbols/constructs 2017-02-08 14:55:30 +01:00
Anatoly Galiulin
61b4bb5af5 Mark setupForeignThreadGc and initGC as gcsafe (#5353) 2017-02-08 10:26:15 +01:00
Andreas Rumpf
915cc86f5d docs for the heap dump feature 2017-01-16 23:04:53 +01:00
Andreas Rumpf
03916fa3b1 M&S GC gets the heap dump feature 2017-01-15 10:12:28 +01:00
Jez Kabanov
014a90abad call initAllocator in foreign thread 2016-10-05 19:16:31 +11:00
Jacek Sieka
b3846124e6 clean up a few stray c_stdout's in gc debug code 2016-07-31 08:34:42 +08:00
Andreas Rumpf
0834cd63d9 prepare Nim codebase for upcoming parser changes 2016-07-15 12:56:03 +02:00
Andreas Rumpf
ad7e219117 GCs support ForeignCells 2016-03-05 19:59:15 +01:00
Federico Ceratto
d9cb85c2d8 Spellcheck 2016-02-29 11:25:51 +00:00
Anatoly Galiulin
4f8244c717 Remove system.setupForeignThreadGc if threads option is off or TLS
emulation is enabled
2016-01-28 12:29:53 +06:00
def
4e0f8cf595 Use ByteAddress instead of deprecated TAddress 2016-01-24 14:02:20 +01:00
Andrey Sobolev
3be1267cbd Change TAddress to ByteAddress 2015-09-14 11:51:21 +06:00
Andrey Sobolev
9cdfdde344 Support for GC working in Emscripten environment
Support for GC working in Emscripten environment
2015-09-11 17:36:35 +06:00
Adam Strzelecki
43bddf62dd lib: Trim .nim files trailing whitespace
via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
2015-09-04 23:03:56 +02:00
rku
43bfda057b Coroutine support for i386/amd64 platforms unix/windows OSes markAndSweep/refCounting GCs. 2015-07-31 17:59:50 +03:00