Commit Graph

79 Commits

Author SHA1 Message Date
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