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
ccd2934e4a
first steps for 'not nil' annotation
2012-11-25 11:03:14 +01:00
Araq
019d6e4127
added missing type flags
2012-11-23 19:52:32 +01:00
Araq
f610d2d221
'iterator' as type description
2012-11-22 08:31:40 +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
565dc932fa
fixes #261
2012-11-21 22:57:15 +01: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
3d40842088
doc2 improvements; small lexer bugfix: backslashes in comments
2012-11-20 17:46:11 +01:00
Araq
14fc0631d7
fixes #250
2012-11-19 00:16:25 +01:00
Araq
3c0a6a8962
'assert' hides EAssertionFailsure; stdlib makes use of 'tags'
2012-11-18 01:36:20 +01:00
Araq
7f6633a06f
added system.finished for first class iterators
2012-11-17 01:25:32 +01:00
Araq
7a2c11d3cf
next steps for first class iterators
2012-11-15 22:54:06 +01:00
Araq
1fada12a5f
improvements for first class iterators
2012-11-15 08:45:16 +01:00
Araq
814fcb2639
bugfix: stack traces; first class iterators almost working
2012-11-15 01:27:25 +01:00
Araq
7ba0a7e324
Merge branch 'master' of github.com:Araq/Nimrod
2012-11-11 22:05:04 +01:00
Araq
48a62af3b1
implemented 'tags' pragma
2012-11-11 22:03:41 +01:00
Zahary Karadjov
32d0ac01dc
AST quasi-quoting for macros
2012-11-11 17:02:13 +02:00
Araq
04f44f763f
fixed the bugfix of #247
2012-11-09 01:02:39 +01:00
Araq
d86f421372
fixes #247
2012-11-08 19:42:57 +01:00
Araq
ed28f3c8dc
documented 'mixin' declaration
2012-11-08 08:32:08 +01:00
Araq
865d9cc6e6
added system.onRaise to support a condition system
2012-11-05 08:36:44 +01:00
Araq
42c8fd1fe2
bugfixes for exception tracking
2012-11-04 22:40:51 +01:00
Araq
6dd2c2d767
exception tracking should work
2012-11-04 18:09:15 +01:00
Araq
9f38ff0c65
next steps for exception tracking
2012-11-03 15:57:12 +01:00
Araq
224f42bbd7
bugfix: exception tracking (still disabled)
2012-11-01 19:57:48 +01:00
Araq
f35b51c68f
doc2 support for nimweb; fixed graphics.withEvents
2012-11-01 08:32:30 +01:00
Araq
42d0911d6a
nimbuild should work again
2012-11-01 01:11:48 +01:00
Araq
ce454fb835
exception tracking barely works; but disabled
2012-10-31 02:31:03 +01:00