Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fixes #13722 (#13729) | Andreas Rumpf | 2020-03-23 | 1 | -1/+1 |
| | | | | | * fixes #13722 * better fix | ||||
* | disable even more of scope based destruction handling; fixes #13709 | Araq | 2020-03-23 | 1 | -7/+98 |
| | |||||
* | fixes #13691 (#13694) | Andreas Rumpf | 2020-03-19 | 1 | -2/+5 |
| | |||||
* | arc optimizations (#13325) | Andreas Rumpf | 2020-03-18 | 1 | -81/+240 |
| | | | | | * scope based destructors * handle 'or' and 'and' expressions properly, see the new test arc/tcontrolflow.nim * make this branch mergable, logic is disabled for now | ||||
* | fixes #13622 (#13679) | Andreas Rumpf | 2020-03-18 | 1 | -2/+4 |
| | |||||
* | Fixes #13659 (#13674) | cooldome | 2020-03-17 | 1 | -2/+2 |
| | | | | | * fixes #13659 Co-authored-by: cooldome <ariabushenko@bk.ru> | ||||
* | fixes #13436 (#13615) | Andreas Rumpf | 2020-03-10 | 1 | -1/+2 |
| | |||||
* | sink parameter inference for types that have destructors (#13544) | Andreas Rumpf | 2020-03-04 | 1 | -6/+6 |
| | | | | | | | | | | | | | | * ensure capitalize doesn't take an inferred sink parameter * sink parameter inference: first version, for now disabled. Changed that sink parameters can be consumed multiple times in order to adhere to our spec. * sink inference can now be disabled with .nosinks; sometimes for proc type interop this is required * fixes yet another critical DFA bug * better implementation that also understands if expressions etc * document sink parameter inference and allow for global disabling | ||||
* | fixes #13368 (#13397) | cooldome | 2020-02-14 | 1 | -7/+8 |
| | |||||
* | ARC: optimize complete object constructors to use nimNewObjUninit | Araq | 2020-01-26 | 1 | -2/+4 |
| | |||||
* | make sink operator optional (#13068) | cooldome | 2020-01-17 | 1 | -37/+23 |
| | | | | | | | | | | | | | | | | * make sink operator optional * bug fix, add changelog entry * Trigger build * fix one regression * fix test * Trigger build * fix typos | ||||
* | Cleanup DFA (#13173) | Clyybber | 2020-01-16 | 1 | -2/+2 |
| | |||||
* | ARC: misc bugfixes (#13156) | Andreas Rumpf | 2020-01-15 | 1 | -1/+2 |
| | | | | | | | | * fixes #13102 * closes #13149 * ARC: fixes a move optimizer bug (there are more left regarding array and tuple indexing) * proper fix; fixes #12957 * fixes yet another case object '=' code generation problem | ||||
* | fixes #13119 (#13128) | Andreas Rumpf | 2020-01-14 | 1 | -0/+2 |
| | | | | | * fixes #13119 * fixes a regression | ||||
* | Continue #13002 (#13021) | Clyybber | 2020-01-06 | 1 | -37/+81 |
| | |||||
* | fixes #12956 (#13020) | Andreas Rumpf | 2020-01-03 | 1 | -1/+2 |
| | |||||
* | Sink to MemMove optimization in injectdestructors (#13002) | cooldome | 2020-01-02 | 1 | -16/+21 |
| | |||||
* | fixes #12989 (#12992) | cooldome | 2019-12-31 | 1 | -8/+10 |
| | | | | | | | * fixes #12989 * Revert "remove unwanted changes" This reverts commit 501829732a8e44deef2d815c303859efbe452cb5. | ||||
* | ARC: cycle detector (#12823) | Andreas Rumpf | 2019-12-17 | 1 | -3/+3 |
| | | | | | | | | | | | | | * 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 | ||||
* | ARC: fixes cycle detection and move the .cursor attribute into closures (#12872) | Andreas Rumpf | 2019-12-11 | 1 | -1/+2 |
| | |||||
* | ARC: yet another bugfix (#12871) | Andreas Rumpf | 2019-12-10 | 1 | -25/+41 |
| | |||||
* | ARC related bugfixes and refactorings (#12781) | Andreas Rumpf | 2019-12-05 | 1 | -229/+198 |
| | |||||
* | fixes #12766 | Araq | 2019-11-29 | 1 | -8/+12 |
| | |||||
* | ARC: implemented a simple cycle detector | Araq | 2019-11-28 | 1 | -0/+33 |
| | |||||
* | Cosmetic compiler cleanup (#12718) | Clyybber | 2019-11-28 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | * 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 | ||||
* | ARC: closure bugfixes (#12677) | Andreas Rumpf | 2019-11-18 | 1 | -12/+39 |
| | | | | | | | | * ARC: closure bugfixes * progress * ARC closures: create =hooks for captured parameters * ARC: always destroy constructions like tuples, arrays properly, even in edge cases * fixes a regression | ||||
* | ARC: fixes leaking new() statement (#12665) | Andreas Rumpf | 2019-11-15 | 1 | -2/+6 |
| | |||||
* | ARC: closure inside object constructor now works | Araq | 2019-11-13 | 1 | -2/+15 |
| | |||||
* | ARC: handle closures like tuples consistently | Araq | 2019-11-13 | 1 | -2/+2 |
| | |||||
* | .cursor implementation (#12637) | Andreas Rumpf | 2019-11-12 | 1 | -3/+15 |
| | | | | | | | | | | | * cursors: first implementation * added currently failing test * .cursor works for doubly linked lists * make -d:useMalloc work again * added code to nil out refs in a destructor * it's now called --gc:arc * renderer.nim: render nkBreakState properly * make simple closure iterators work without leaking | ||||
* | inhibit silly warning about moving closure environments for performance | Araq | 2019-11-09 | 1 | -1/+3 |
| | |||||
* | remove unused imports | narimiran | 2019-11-06 | 1 | -1/+1 |
| | |||||
* | --gc:destructors: simple closures work | Andreas Rumpf | 2019-11-02 | 1 | -1/+4 |
| | |||||
* | improve codegen quality for --gc:destructors | Andreas Rumpf | 2019-11-01 | 1 | -4/+7 |
| | |||||
* | some progress on bug #12443 | Andreas Rumpf | 2019-10-27 | 1 | -1/+2 |
| | |||||
* | refactoring: --newruntime consists of 3 different switches | Araq | 2019-10-20 | 1 | -1/+1 |
| | |||||
* | refactor illegal iterator assignment detection (#12212) | Arne Döring | 2019-10-11 | 1 | -1/+1 |
| | | | | | | * refactor illegal iterator assignment detection * delete crappy test | ||||
* | Refactor injectdestructors (#12295) | Clyybber | 2019-10-01 | 1 | -482/+257 |
| | | | One improvement over #devel is visible in the transformation of getEnv. With this approach we move to result whenever possible. | ||||
* | Fix spellings (#12277) [backport] | Federico Ceratto | 2019-09-27 | 1 | -2/+2 |
| | |||||
* | fixes #12172 | Araq | 2019-09-13 | 1 | -2/+2 |
| | |||||
* | Revert "Refactored injectdestructors.nim (#11926)" (#12169) | Andreas Rumpf | 2019-09-11 | 1 | -342/+383 |
| | | | This reverts commit 20dec10722eecb1e9b9ee43a3e1cda7533837c72. | ||||
* | Refactored injectdestructors.nim (#11926) | Clyybber | 2019-08-28 | 1 | -383/+342 |
| | | | | One improvement over #devel is visible in the transformation of getEnv. With this approach we move to result whenever possible. | ||||
* | fixes #11833 (#12018) | Andreas Rumpf | 2019-08-24 | 1 | -2/+0 |
| | |||||
* | fixes #10689 | Araq | 2019-08-12 | 1 | -1/+5 |
| | |||||
* | fixes #11254 | Araq | 2019-08-12 | 1 | -11/+0 |
| | |||||
* | [refactoring] remove unused imports in the compiler and in some stdlib modules | Araq | 2019-07-18 | 1 | -1/+1 |
| | |||||
* | newruntime: progress to make 'async' work with --newruntime | Araq | 2019-07-15 | 1 | -1/+3 |
| | |||||
* | newruntime: refchecks:on|off switch | Araq | 2019-07-12 | 1 | -1/+1 |
| | |||||
* | styleCheck: make the compiler and large parts of the stdlib compatible with ↵ | Araq | 2019-07-10 | 1 | -2/+2 |
| | | | | --styleCheck:error | ||||
* | newruntime: async progress | Araq | 2019-07-09 | 1 | -1/+1 |
| |