Commit Graph

1544 Commits

Author SHA1 Message Date
Zahary Karadjov
0d77909b17 fixed a regression in nimrod i 2013-01-27 19:52:24 +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
8be307713e fixed a regression: compiling projects not residing in the current directory 2013-01-20 22:09:07 +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
d0edb1826b adds an option to interleave the generated code with snippets from the original source
Lines from the original source are outputted as comments next to line directives.
Hopefully, this will make debugging codegen problems easier.

Other changes:
The frame setup code now uses a single-line C macro. My motivation was to reduce
the noise in the generated output and make it easier to step over the boiler-plate
code, but counter-intuitively this also improved the overall compilation speed a
little bit so I applied the same treatment to line tracking too (this reduces the size of
the generated files and the explanation is that probably the I/O overhead dominates
the macro expansion costs).
2012-12-02 20:36:29 +02:00
Zahary Karadjov
e9e22ccb2a track the "owner" heap object in the ref write barrier
See the papers for reference counting with heap sliding views for details:
2012-12-01 15:37:13 +02:00
Zahary Karadjov
c67520a7c5 temporary debugging code for the memory leak investigation 2012-11-28 01:15:14 +02:00
Zahary Karadjov
a42545ea3e disables the compile-time rope formatting during bootstrapping 2012-11-28 01:15:14 +02:00
Zahary Karadjov
e817d54369 first batch of rope code converted to rfmt
The results so far are inconclusive:
The rope cache tries have been reduced by more than 125K (nearly 20%),
but the bootstrap time seems to be ever slightly increasing (0.01s).
2012-11-28 01:15:13 +02:00
Zahary Karadjov
f644e3079f experimental compile-time rope formatting code 2012-11-28 01:15:13 +02:00
Zahary Karadjov
e6f3f46cd9 store the instantiation cache in the generic symbol 2012-11-28 01:15:13 +02:00
Zahary Karadjov
f9bd8cc985 [caas] first version that actually works (still has a lot of logical memory leaks on recompilation) 2012-11-28 01:15:13 +02:00
Zahary Karadjov
36e25a6849 CaaS in-memory caching
removed some redundant filepath params and variables and
switched to canonical paths in most places
2012-11-28 01:15:13 +02:00
Zahary Karadjov
091c1b3075 caas is now drivable through stdin
* added idetools --eval
* streams.readLine recognises and applies the backspace character
2012-11-28 01:15:13 +02:00
Araq
c43bf78000 fixed recently introduced parser bugs 2012-11-26 19:31:55 +01:00
Araq
2591ac0ada 'return' for first class iterators 2012-11-26 08:47:57 +01:00
Araq
dd9ad9e497 next steps for first class iterators 2012-11-26 02:43:32 +01:00
Araq
538699a281 parser support for 'not nil' annotation 2012-11-25 23:40:42 +01:00
Araq
2a2f41ee98 Merge branch 'master' of github.com:Araq/Nimrod 2012-11-25 11:03:27 +01:00
Araq
ccd2934e4a first steps for 'not nil' annotation 2012-11-25 11:03:14 +01:00
Araq
012a7b5522 Merge pull request #262 from gradha/pr_adds_some_documentation_to_db_modules
Documents NULL to "" db_* transformation and return values.
2012-11-24 17:54:04 -08:00
Grzegorz Adam Hankiewicz
cdd324d163 Documents NULL to "" db_* transformation and return values. 2012-11-24 20:41:26 +01:00
Araq
019d6e4127 added missing type flags 2012-11-23 19:52:32 +01:00
Araq
4bef5a7a78 Merge branch 'master' of github.com:Araq/Nimrod 2012-11-22 21:37:01 +01:00
Zahary Karadjov
ad53e0b022 added 2 GC leak test cases 2012-11-22 21:57:37 +02:00
Araq
f610d2d221 'iterator' as type description 2012-11-22 08:31:40 +01:00
Araq
476f6fc8ee sockets: proper bugfix for solaris 2012-11-22 08:08:54 +01:00
Araq
d0de1fc336 made 'shared' a keyword 2012-11-22 07:53:50 +01:00
Araq
338683a198 bugfixes for thread analysis 2012-11-22 01:36:57 +01:00
Araq
85c53d525b Merge pull request #260 from exhu/master
base() proc for typeinfo module
2012-11-21 14:04:19 -08:00
Araq
565dc932fa fixes #261 2012-11-21 22:57:15 +01:00
Yury Benesh
b0388073c4 Added base() proc to typeinfo. 2012-11-21 23:42:11 +03:00
Araq
66ae9bc609 fixes 259 2012-11-21 21:00:54 +01:00
Araq
46f92c31aa added 2 necessary node kinds 2012-11-21 20:55:03 +01:00
Araq
022ff2e86e almost every pragma is allowed in a 'push' pragma 2012-11-20 23:58:45 +01:00
Araq
1dfc57c5ff bugfix: sockets with SSL support 2012-11-20 22:04:45 +01:00
Araq
67d9933eb3 sockets.nim: bugfix for solaris 2012-11-20 21:40:22 +01:00
Araq
b4ad97a036 fixes #256 (I hope) 2012-11-20 21:33:22 +01:00
Araq
c4b7a3e545 docs should build under doc2; unittests of times.nim compile under 32bit; small bugfix for the tester 2012-11-20 21:28:55 +01:00
Araq
3d40842088 doc2 improvements; small lexer bugfix: backslashes in comments 2012-11-20 17:46:11 +01:00
Araq
3738cee76e Merge branch 'master' of github.com:Araq/Nimrod 2012-11-19 00:17:20 +01:00
Araq
14fc0631d7 fixes #250 2012-11-19 00:16:25 +01:00
Araq
a56418b716 Merge pull request #253 from gradha/pr_reduce_todo_code_repetition
Reduces code repetition through helper procs and templates.
2012-11-18 05:12:32 -08:00
Araq
02d0748823 Merge pull request #252 from gradha/pr_correct_todo_object_inheritance
Removes 'of TObject' to finalize objects not meant for inheritance.
2012-11-18 05:12:21 -08:00
Araq
db80038c37 Merge branch 'master' of github.com:Araq/Nimrod 2012-11-18 13:35:05 +01:00
Araq
ec9b1f78e1 annotated effects of modules: os, sockets, times 2012-11-18 13:34:48 +01:00
Dominik Picheta
ddf4449442 Fixes bug in scgi module: client socket was not initialised properly. 2012-11-18 11:21:51 +00:00
Araq
1c17d3e841 Merge branch 'master' of github.com:Araq/Nimrod 2012-11-18 01:41:28 +01:00