Commit graph

279 commits

Author SHA1 Message Date
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
Araq
565dc932fa fixes #261 2012-11-21 22:57:15 +01:00
Araq
814fcb2639 bugfix: stack traces; first class iterators almost working 2012-11-15 01:27:25 +01:00
Araq
86ed918157 fixes #235 2012-10-24 23:26:13 +02:00
Araq
172b6aacf8 fixes #230; fixes #227 2012-10-19 20:45:26 +02:00
Araq
b20663ce19 fixes #232 2012-10-19 13:24:42 +02:00
Zahary Karadjov
2efdf3df81 fixes #106 2012-10-16 02:21:28 +03:00
Araq
af7c92c003 term rewriting macros fully implemented; still buggy 2012-09-03 00:55:44 +02:00
Araq
51de278bd4 next steps for tyVarargs/tyOpenArray split 2012-08-14 08:44:26 +02:00
Araq
b9afdffb3e fixes #178 2012-07-28 16:37:31 +02:00
Araq
840e5f34ef no range checks for conversion to unsigned (but I may reconsider this) 2012-07-25 22:09:08 +02:00
Araq
39f399f424 fixes #172 2012-07-25 00:56:34 +02:00
Araq
1e4fc02e5e small bugfix: code generation for nil closures 2012-07-25 00:12:56 +02:00
Araq
ed915a309e DLLs should work again; fixes #169 2012-07-24 01:14:21 +02:00
Araq
43f057c5aa got rid of some mAddU64 etc. magics 2012-07-20 07:52:04 +02:00
Zahary Karadjov
4841b6390c removed nimdat in favor of per-module dat init procs 2012-07-19 19:43:58 +03:00
Araq
832da8a303 equality and hashing for closures 2012-07-17 17:26:02 +02:00
Araq
4f582da27f make tests green again 2012-07-17 01:27:25 +02:00
Araq
b4084df434 improved unsigned support 2012-07-14 14:03:13 +02:00
Araq
dc8924e1a2 fixes cast[int8] bug 2012-07-12 08:43:38 +02:00
Araq
4fbba0a65a changed integer promotion rules; breaks bootstrapping and lots of code 2012-07-08 21:03:47 +02:00
Zahary Karadjov
df1ec09399 proper indentation in the generated C code 2012-06-12 04:43:58 +03:00
Zahary Karadjov
e2d38a57ec better support for unsigned integers. 2012-06-11 21:38:01 +03:00
Zahary Karadjov
4105a91c48 fix compilation errors when bootstrapping with C++ 2012-06-04 01:56:42 +03:00
Zahary Karadjov
88f7b7bc50 Merge branch 'master' of github.com:Araq/Nimrod into upstream 2012-06-02 19:52:06 +03:00
Zahary Karadjov
a1da1f987b Added system.staticExec proc for executing external command at compile-time 2012-06-02 19:51:49 +03:00
Araq
7a249eb8c1 bugfix: field names of tuples are treated consistently in the C backend 2012-05-27 14:57:12 +02:00
Zahary Karadjov
d2b45dbe85 C variables are created in their enclosing block instead of their enclosing function 2012-04-12 14:12:32 +03:00
Araq
1af0601011 bugfix #100 again 2012-03-28 16:43:05 +02:00
Zahary Karadjov
560a3bad28 `do' keyword in the grammar for lambda blocks 2012-02-10 14:50:35 +02:00
Araq
161f6f7229 further steps for closure support 2012-02-06 08:44:18 +01:00
Araq
632aece191 further steps to closure support 2012-02-06 00:19:56 +01:00
Araq
8d19a93f1a pragma on/off improvements; endb rewritten 2012-01-28 23:22:44 +01:00
Araq
4f1b89c30c year 2012 for most copyright headers 2012-01-02 23:07:35 +01:00
Araq
e8376067ef C code gen: generate even better code for the GC 2011-12-12 22:46:21 +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
af792da0bb codegen uses alias analysis to generate better code 2011-12-10 01:06:32 +01:00
Araq
2962ca7890 alias analysis as required for the code gen and the HLO 2011-12-08 23:21:08 +01:00
Araq
70cf34cbdc 'assert' is now implemented without compiler magic 2011-12-04 20:14:50 +01:00
Araq
7fcbdc6d42 implemented 'let' statement 2011-11-29 17:27:48 +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
fedc69f61a unused constants are optimized away 2011-11-22 18:48:00 +01:00
Araq
bec06a0649 bugfix: s[1..n] = @[] produced wrong C code 2011-11-14 08:33:44 +01:00
Araq
64e74cf484 bugfix: code gen for constant sequences 2011-11-02 19:47:33 +01:00
Araq
351e89e705 better code generation for constant aggregates 2011-11-02 00:55:29 +01:00
Araq
c517639155 lazy loading of body ast implemented 2011-10-30 20:53:04 +01:00
Araq
90db9171a2 compilation cache: various bugfixes; works for the compiler itself 2011-10-27 00:41:42 +02:00
Araq
4de84024e5 much more efficient rod file generation 2011-10-18 17:21:51 +02:00