Andreas Rumpf
70e94b8c9e
GCs: use add instead of &
2017-09-29 11:20:28 +02:00
Andreas Rumpf
f7f3a25be8
first steps of making 'opt' a first class type for Nim
2017-09-25 13:19:36 +02:00
Andreas Rumpf
88b65ea957
fixes #6234
2017-08-11 20:14:44 +02:00
Andreas Rumpf
e968fbb7dd
added system.deallocHeap feature for Nim's native GCs
2017-07-22 11:38:47 +02:00
Andreas Rumpf
6f89323385
make the GCs more robust
2017-07-20 18:42:08 +02:00
Yuriy Glukhov
27c8efda9d
decTypeSize on growObj ( #5465 )
2017-03-15 10:58:34 +01:00
Samantha Marshall
93753926f5
adding support for using llvm ASAN ( #5536 )
2017-03-14 23:33:56 +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
d69b701dde
Coroutines realtime support
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
Araq
346ea6d171
system.nim: don't use deprecated symbols/constructs
2017-02-08 14:55:30 +01:00
Araq
79f4b37d3b
added test case; threadex example crashes now
2017-01-30 21:11:37 +01:00
Andreas Rumpf
03916fa3b1
M&S GC gets the heap dump feature
2017-01-15 10:12:28 +01:00
Andreas Rumpf
823fbd4e40
default GC can do a sort of heap dump via -d:nimTypeNames and dumpNumberOfInstances()
2017-01-14 04:00:06 +01:00
Andreas Rumpf
36a9703866
Merge branch 'devel' into sighashes
2016-12-06 10:08:38 +01:00
Yuriy Glukhov
44ff8baf2a
Show cell type name in writeCell
2016-12-06 00:31:26 +02:00
Araq
d2cbf7f242
more fixes
2016-12-02 08:37:51 +01:00
Araq
49667798eb
further progress; more tests are green
2016-11-28 21:45:29 +01:00
Andreas Rumpf
d2d851a1f3
Merge pull request #4878 from yglukhov/gc-frameinfo
...
Cosmetics
2016-11-28 10:31:06 +01:00
Andreas Rumpf
249fd5e56b
further memtracking improvements
2016-11-24 08:27:19 +01:00
Yuriy Glukhov
d857b4bc0e
DRY frame info setting out to a template.
2016-11-03 19:16:10 +02:00
Araq
6a1b8e691f
fixes #4764 , fixes #4731 , fixes #4724
2016-09-14 19:59:32 +02:00
Jacek Sieka
b3846124e6
clean up a few stray c_stdout's in gc debug code
2016-07-31 08:34:42 +08:00
Yuriy Glukhov
59d17cb341
Fixed crash with leakDetector and threads enabled.
2016-07-11 16:23:15 +03:00
Jacek Sieka
64b0485207
fix types of ansi_c/sysio to more closely match C ABI
...
also fixes some instances of using C library functions when there are
nim alternatives available
2016-06-05 12:03:20 +08:00
Andreas Rumpf
55ec99b70b
new GC listens to GC_ref/GC_unref
2016-05-23 12:54:01 +02:00
Andreas Rumpf
dcf830bba9
fixes #3184
2016-05-22 14:28:53 +02:00
Andreas Rumpf
7e134b5388
fixes #3793
2016-05-16 15:29:51 +02:00
Andreas Rumpf
d8bce8b83d
GC with primitive MS
2016-05-16 00:28:00 +02:00
Ruslan Mustakov
0dc35b7841
Replaced ignoreStackAndRegisters with stackSize in GC_step
2016-05-11 20:02:12 +06:00
Ruslan Mustakov
f288eb7543
Added ignoreStackAndRegisters parameter to GC_step
2016-05-10 21:52:44 +06:00
Andreas Rumpf
ad7e219117
GCs support ForeignCells
2016-03-05 19:59:15 +01:00
Andreas Rumpf
fb149d2eef
fixes #1895
2016-01-30 14:23:03 +01:00
def
4e0f8cf595
Use ByteAddress instead of deprecated TAddress
2016-01-24 14:02:20 +01:00
Araq
d7433d02bc
fixes typo
2015-12-01 00:53:30 +01:00
Araq
999c107c52
fixes #3245
2015-08-25 15:13:39 +02:00
rku
43bfda057b
Coroutine support for i386/amd64 platforms unix/windows OSes markAndSweep/refCounting GCs.
2015-07-31 17:59:50 +03:00
pdw
2ca90a20a1
lib/system/g-w - Dropped 'T' from types
2015-06-04 13:18:37 +02:00
Reimer Behrends
2a08bbdf31
Fix GC scanning of registers on x86_64 architectures.
...
It is possible for jmp_buf to not be word-aligned or addresses
in the register dump to not be word-aligned. This can result in
either addresses in registers being missed or even addresses on
the stack past the register area not being scanned properly.
2015-05-07 14:35:39 +02:00
def
573fa9b891
Clean up GCs a bit
2015-03-10 15:31:55 +01:00
Araq
ee57bb3e3e
fixes --gc:none regression; made some tests green
2015-03-10 12:32:47 +01:00
Araq
c40aac8e20
GC: get rid of pathological behaviour for stack marking
2015-03-08 13:08:19 +01:00
def
d875951124
sizeof(char) is always 1
2015-03-04 03:22:06 +01:00
Federico Ceratto
657dca5c3b
Fix typos
2015-02-15 16:20:32 +00:00
Araq
683b82a2ec
fixes #2070
2015-02-10 20:19:44 +01:00
def
dfdd84f2c9
Make ESTP compile
2015-01-23 23:18:20 +01:00
Araq
7524610b31
fixes #1796
2015-01-05 02:27:24 +01:00