Andreas Rumpf
1aa359febb
warn about inconsistent spacing around binary operators; fixes #7582
2018-05-05 14:58:33 +02:00
Araq
f1089db175
GC: enable precise global/thread local storage tracing
2018-01-15 17:41:05 +01:00
Araq
f71f9f83c2
GC improvements; distinguish between thread local and globals in the marking step
2018-01-14 17:34:27 +01:00
Araq
f1bf65f66e
gc.nim: Add a gcAssert to enforce the no heap sharing restrictions
2018-01-12 15:08:02 +01:00
Yuriy Glukhov
d1e10f9aa3
Fixed mutex usage in SharedList and SharedTable. Closes #6988 ( #6990 )
2017-12-31 09:28:51 +01:00
Andreas Rumpf
6a3288a60e
more replacements for the deprecated '<'
2017-10-29 08:55:30 +01:00
Araq
4a7266e1c1
fixes #3558
2017-10-16 12:29:40 +02:00
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