Araq
0f2aa053d9
added GC_addCycleRoot
2013-02-12 08:45:01 +01:00
Araq
5e7dd69b00
GC: incRef needs to add cycleroots
2013-02-12 08:28:46 +01:00
Araq
3d7abb958d
open arrays documented in the manual
2013-02-10 15:06:25 +01:00
Araq
0bb3731422
working cycle collector for old GC
2013-02-10 02:59:36 +01:00
Araq
ab6f793408
first version of a simple mark&sweep GC; activate with --gc:markAndSweep
2013-02-07 01:57:10 +01:00
Araq
65fdd641a9
revert to old GC; use --gc:v2 to activate the new GC
2013-01-31 17:24:55 +01:00
Zahary Karadjov
19e795e017
the mainmodule option has effect only when no explicit module is given
2013-01-28 00:26:49 +02:00
Zahary Karadjov
67f37264b3
few notes about the remaining problems with retired buffers
2013-01-27 22:23:57 +02:00
Zahary Karadjov
31134a6bae
Disabled mark-and-sweep in the compiler itself
...
This also adds "cycle roots trimming": a light-weight collection of the cycle
roots performed in CollectZCT for candidates that are recently allocated
and provably dead.
2013-01-22 12:16:08 +02:00
Zahary Karadjov
41cbd1c980
minor bug fixes to make some tests green
2013-01-21 02:03:13 +02:00
Zahary Karadjov
86bf97a730
cleaned up some debugging code
2013-01-20 21:22:07 +02:00
Zahary Karadjov
083d4f4708
fixes the recently discovered GC memory leaks
...
This revision is intended as comparison point between the old and the new GC
The used GC can be switched in mmdisp and various statistics will be gathered during
execution (these will be removed/disabled in later revisions)
2012-12-20 15:51:21 +02:00
Zahary Karadjov
c67520a7c5
temporary debugging code for the memory leak investigation
2012-11-28 01:15:14 +02:00
Araq
d43febf81e
first version of a memory profiler
2012-10-10 00:41:34 +02:00
Araq
75abf72503
profiler improvements
2012-09-17 00:31:41 +02:00
Araq
214c7a2ebd
implemented a stack trace profiler
2012-09-15 00:21:10 +02:00
Araq
ed915a309e
DLLs should work again; fixes #169
2012-07-24 01:14:21 +02:00
Araq
8d99753d63
preparations for making 'closure' the default calling convention for proc types
2012-07-16 23:00:57 +02:00
Araq
5a838d3e06
thread var emulation should work again
2012-06-25 00:23:41 +02:00
Araq
ee98c76d2e
bite the bullet and make 'initStackBottom' a compilerproc
2012-06-24 20:00:25 +02:00
Araq
fcd91a0cd6
added gcleak4.nim test; fails in debug mode
2012-06-24 17:18:01 +02:00
Araq
d257f7fd36
tests/gc/gcleak4.nim
2012-06-24 17:15:54 +02:00
Araq
7e7c514dfc
documentation improvements; GC_step improved
2012-04-21 16:38:25 +02:00
Araq
4aba7421f5
GC with realtime support
2012-04-21 03:19:43 +02:00
Araq
03ba0f3e25
implemented marker procs for the GC resulting in huge speedups
2012-03-21 23:10:56 +01:00
Zahary Karadjov
e5bd3b5b97
bootstraps fine with overloadable templates
2012-03-14 21:00:42 +02:00
Araq
fb35b855d5
added 'system.shallow'
2012-02-09 20:13:36 +01:00
Araq
8d19a93f1a
pragma on/off improvements; endb rewritten
2012-01-28 23:22:44 +01:00
Araq
1d1752cac7
removed nimKeepAlive as it's not necessary with interior pointer checking
2012-01-15 11:54:38 +01:00
Araq
9460f7cc4e
GC: growObj: revert to somewhat more efficient version
2012-01-13 21:15:52 +01:00
Araq
76886432da
even more sys assertions
2012-01-13 12:49:06 +01:00
Araq
e6b3f50c7f
more sysasserts for allocator/gc
2012-01-12 19:44:57 +01:00
Araq
6599dca857
GC: interior pointers on stack are not necessarily aligned
2012-01-10 01:01:21 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00
Araq
73919e3082
GC stack scanning cares about interior pointers
2011-12-30 11:03:01 +01:00
Araq
cd83cc81aa
code gen can generate code to keep alive stack roots
2011-12-22 15:04:00 +01:00
Araq
081ef4334c
GC: some inlining to improve performance sensitive parts
2011-12-13 00:58:37 +01:00
Araq
e8376067ef
C code gen: generate even better code for the GC
2011-12-12 22:46:21 +01:00
Araq
4487b614e1
c2nim compiles again
2011-12-12 19:11:31 +01:00
Araq
3c53c4c2b0
compiler takes advantage of 'new(Obj|New)RC1
2011-12-12 08:37:35 +01:00
Araq
94358e03e9
compiler generates volatile temps to keep C compiler from optimizing away stack roots
2011-12-12 01:40:23 +01:00
Araq
c8d270268a
bugfixes for .rod files and visual C++
2011-12-03 17:21:35 +01:00
Araq
020a10927a
fixes #31
2011-11-27 16:32:05 +01:00
Araq
703430787d
C codegen: generate nimKeepAlive calls at strategic places to keep the C compiler from optimizing away all stack roots
2011-11-24 23:28:28 +01:00
Araq
c8dda8cc6f
attempt to fix tunidecode test; GC cares for seq->openArray conversions
2011-11-21 01:33:18 +01:00
Araq
84c473a890
DLL generation may work again
2011-11-02 01:25:17 +01:00
Araq
351e89e705
better code generation for constant aggregates
2011-11-02 00:55:29 +01:00
Araq
bd2d146c77
got rid of tyPureObject; broke bootstrapping; use generated C code
2011-09-24 09:35:00 +02:00
Araq
99bcc233cd
bugfix: 'set' overloadable; further steps for multi threading support
2011-07-08 01:29:15 +02:00
Araq
e25384db89
improvements to get code size down for programs that don't use GC
2011-06-26 20:17:19 +02:00