Commit Graph

47 Commits

Author SHA1 Message Date
Timothee Cour
e600ddc555 fix comment from e909486e5c (r39287564) (#14412) 2020-05-20 18:34:14 -07:00
Timothee Cour
e909486e5c trunner was not actually being tested in non-CTFFI mode; minor testament cleanups (#14377)
* use check
* trunner now works with cpp
* cleanup: move compiler/unittest_light => stdtest/unittest_light
* fix tests/readme.md
* remove deadcode references to rodfiles
* fix for windows
2020-05-19 09:41:31 +02:00
Andy Davidoff
a693ce7765 surgical fix for #13319 (#13604) 2020-03-08 10:55:19 +01:00
Jasper Jenkins
796aafe7e0 make case-object transitions explicit, make unknownLineInfo a const, replace a few magic numbers with consts (#13170) 2020-01-17 10:34:31 +01:00
Andreas Rumpf
83a736a34a ARC: cycle detector (#12823)
* first implementation of the =trace and =dispose hooks for the cycle collector
* a cycle collector for ARC: progress
* manual: the .acyclic pragma is a thing once again
* gcbench: adaptations for --gc:arc
* enable valgrind tests for the strutils tests
* testament: better valgrind support
* ARC refactoring: growable jumpstacks
* ARC cycle detector: non-recursive algorithm
* moved and renamed core/ files back to system/
* refactoring: --gc:arc vs --gc:orc since 'orc' is even more experimental and we want to ship --gc:arc soonish
2019-12-17 17:37:50 +01:00
Clyybber
7e747d11c6 Cosmetic compiler cleanup (#12718)
* Cleanup compiler code base

* Unify add calls

* Unify len invocations

* Unify range operators

* Fix oversight

* Remove {.procvar.} pragma

* initCandidate -> newCandidate where reasonable

* Unify safeLen calls
2019-11-28 17:13:04 +01:00
Andreas Rumpf
64e8f050e1 implemented a new localPassc pragma (#12706) 2019-11-22 14:20:15 +01:00
Clyybber
ed1d41c51e Small ast.nim cleanup (#12156)
* Remove sonsLen
* Use Indexable
2019-09-09 11:54:15 +02:00
Araq
49f63d3aae ic: update to serialize paddingAtEnd 2019-09-05 16:45:07 +02:00
Andreas Rumpf
0d5bd7e8b5 removed unused imports [refactoring] 2019-08-08 17:03:19 +02:00
Andreas Rumpf
c8cffaf420 Incremental compilation (IC): Improvements (#11881)
* IC: C codegen is aware of IC
* manual: minor change to make VSCode's RST plugin render it properly
* IC: minor refactoring
* testament: code refactorings
* rodutils: removed dead code
* IC: always build the compiler with the IC feature
* IC: C codegen improvements
* IC: implement the undocumented -d:nimMustCache option for testing purposes
* IC: added first basic tests
* IC: extensive testing of the deserialization feature
* testament: refactoring; better IC tests
* IC: removes 'nimMustCache' flag; readonly does the same
* testament: minor refactoring
* update Nimble version
* testament: removed dead code and imports; IC: added simple test
* IC: progress
2019-08-08 08:41:05 +02:00
Andreas Rumpf
f58d87cb43 IC: some progress 2019-07-27 14:01:28 +02:00
Andreas Rumpf
25e6c53bb5 makes the -d:nimIncremental compiler mode compile again 2019-07-27 14:01:28 +02:00
Andreas Rumpf
3d88d06b32 better run [feature] (#11709)
* track the checksums of all involved Nim files for smarter 'nim c -r' recompiles
* don't recompile unless necessary for 'nim c -r' [feature]
* [feature] koch boot uses a two step process in order to free the RAM before the GCC/Clang invocations
* fixes a serious regression
2019-07-11 21:36:23 +02:00
Andreas Rumpf
651ae68567 fixes #11202 2019-05-14 12:02:26 +02:00
Clyybber
f18b3af9d4 Replace countup(x, y-1) with x ..< y 2019-05-07 12:32:05 +02:00
Araq
d50336837d IC: much faster caching 2018-12-04 22:41:06 +01:00
Araq
f86b827d9e IC: more things work 2018-12-03 18:57:44 +01:00
Araq
abbafe606e IC: further progress 2018-12-01 00:36:14 +01:00
Araq
61d08ebcd8 IC: further progress 2018-11-22 23:17:47 +01:00
Araq
8285e24805 IR: also serialize the new transformedBody field 2018-11-20 23:48:15 +01:00
Araq
eeb7cc6780 IC: further progress 2018-11-20 19:30:00 +01:00
Araq
e8bec61413 incremental compilation: bugfixes 2018-11-19 18:51:47 +01:00
Araq
6acffcd28f incremental compilation: simple recompilation works 2018-11-19 17:16:52 +01:00
Araq
cd9bc941e1 incremental compilation: fixes basic caching logic of 'module' table 2018-10-19 16:27:20 +02:00
Miran
675c629fee replace deprecated safeAdd with add (#9416) 2018-10-18 12:29:32 +02:00
Andreas Rumpf
89ba0f8592 nimpretty: render r-strings properly, fixes #9236 2018-10-16 13:33:14 +02:00
Araq
621b2db2e8 compiler IC: minor improvements 2018-10-02 16:18:16 +02:00
Araq
76aab9baf1 compiler: make symbolfiles feature compile again 2018-10-02 16:18:15 +02:00
Andreas Rumpf
86556ebfdb compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
Andreas Rumpf
90b1030dec incremental compilation: save the configuration 2018-06-11 00:14:29 +02:00
Andreas Rumpf
8db27d30e6 record cppdefine for incremental compilation 2018-06-10 18:05:43 +02:00
Andreas Rumpf
2662d713f7 implement passL and passC for the compilation cache 2018-06-10 17:06:02 +02:00
Andreas Rumpf
8ba7e7d807 toy program works with incremental compilation 2018-06-07 18:24:16 +02:00
Andreas Rumpf
2e9d486378 wip 2018-06-04 11:59:02 +02:00
Andreas Rumpf
268260953c completed VM support for incremental compilations 2018-06-04 01:01:08 +02:00
Andreas Rumpf
b5194f592c WIP: an API for VM replay global state support 2018-06-03 20:18:43 +02:00
Andreas Rumpf
826c1e2d78 incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
Andreas Rumpf
61fb83ecbb baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
Andreas Rumpf
a36c779f39 incremental compilation subsystem compiles again 2018-05-30 20:27:41 +02:00
Andreas Rumpf
ddc6cec69e refactoring: move DB model to incremental.nim 2018-05-30 10:15:41 +02:00
Araq
ac6d9a3079 symbol files: baby steps to a working solution 2018-02-26 17:39:19 +01:00
Araq
67380f71d6 symbol files: delay the emission of forwarded procs 2018-02-21 11:42:58 +01:00
Araq
046ed4ed22 symbol files: implemented accurate module dependency tracking 2018-02-21 00:48:23 +01:00
Araq
2fcc163746 symbol files: more progress 2018-02-20 01:15:43 +01:00
Araq
564cff729a new symbol files: loading of ASTs and module graphs 2018-02-17 00:40:49 +01:00
Araq
f3b8d92216 new .rod file implementation; part 1: writing of the file 2018-02-17 00:40:48 +01:00