Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fixes #15130 (#15141) | Andreas Rumpf | 2020-08-01 | 1 | -1/+1 |
| | | | | | * fixes #15130 * you really have to copy from cursors | ||||
* | fixes #15111 (#15136) | Andreas Rumpf | 2020-08-01 | 1 | -2/+2 |
| | |||||
* | injectdestructors fixes and refactor (#14964) | Clyybber | 2020-07-14 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * injectdestructors fixes and refactor * Tiny cleanup * Refactor and expand testcase * Closes #14902 by adding testcase * Better naming * Fix test failures * Misc cleanup * Add testcase for #14968 * Better approach; expand testcases * Optimizations and fixes * Add testcase * typo * Tiny cleanup | ||||
* | DFA and injectdestructors cleanup (#14824) | Clyybber | 2020-06-28 | 1 | -135/+92 |
| | | | | | | | | | | | | | | | * DFA and injectdestructors cleanup * More precise write analysis * Cleanup obsoleted path * Unify defInstrTargets and useInstrTargets * Misc cleanups * Nicer CFG printing * Misc cleanups 2 | ||||
* | init checks and 'out' parameters (#14521) | Andreas Rumpf | 2020-06-23 | 1 | -4/+2 |
| | | | | | | | | | | | * I don't care about observable stores * enforce explicit initializations * cleaner code for the stdlib * stdlib: use explicit initializations * make tests green * algorithm.nim: set result explicitly * remove out parameters and bring the PR into a mergable state * updated the changelog | ||||
* | more checking for --gc:arc, no need for valgrind (#14467) | Andreas Rumpf | 2020-05-29 | 1 | -1/+4 |
| | | | | * sigmatch: removed dead code | ||||
* | New "ping-pong" DFA (#14322) | Clyybber | 2020-05-15 | 1 | -41/+22 |
| | | | | | | | | | | | | | | | | | * New ping-pong analysis * Add testcase for #13456 * Remove debugging leftover * Unquote "unstructured controlflow" * Fix typo * Fix exponential complexity in edge cases * Add sanity testcase * Fix | ||||
* | Fix #14269 (#14286) | Clyybber | 2020-05-09 | 1 | -1/+2 |
| | |||||
* | Fix the DFA for "unstructured controlflow" (#14263) | Clyybber | 2020-05-07 | 1 | -74/+115 |
| | | | | | * Fix the DFA for "unstructured controlflow" * Add testcase from #14233 | ||||
* | destructors: don't produce stupid code for 'cast' (#14208) [backport:1.2] | Andreas Rumpf | 2020-05-04 | 1 | -2/+2 |
| | | | | | * destructors: don't produce stupid code for 'cast' * fixes #14207 | ||||
* | fixes #14159 [backport:1.2] | Araq | 2020-05-02 | 1 | -1/+3 |
| | |||||
* | Deprecate when declared(echo):echo (#13840) | Juan Carlos | 2020-04-02 | 1 | -2/+1 |
| | |||||
* | sink parameter inference for types that have destructors (#13544) | Andreas Rumpf | 2020-03-04 | 1 | -0/+2 |
| | | | | | | | | | | | | | | * 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 #13314 (#13372) | Andreas Rumpf | 2020-02-09 | 1 | -4/+9 |
| | |||||
* | Cleanup DFA (#13173) | Clyybber | 2020-01-16 | 1 | -34/+14 |
| | |||||
* | ARC: misc bugfixes (#13156) | Andreas Rumpf | 2020-01-15 | 1 | -2/+8 |
| | | | | | | | | * 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 | ||||
* | minor refactorings | Andreas Rumpf | 2019-12-27 | 1 | -9/+1 |
| | |||||
* | fixes #12669 | Araq | 2019-11-29 | 1 | -11/+26 |
| | |||||
* | Cosmetic compiler cleanup (#12718) | Clyybber | 2019-11-28 | 1 | -44/+43 |
| | | | | | | | | | | | | | | | | | | * 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 | ||||
* | Fix spellings (#12277) [backport] | Federico Ceratto | 2019-09-27 | 1 | -1/+1 |
| | |||||
* | fix #12037 (#12089) | Clyybber | 2019-08-30 | 1 | -14/+3 |
| | |||||
* | [refactoring] remove unused imports in the compiler and in some stdlib modules | Araq | 2019-07-18 | 1 | -1/+1 |
| | |||||
* | there is only one style -- my style | Araq | 2019-07-10 | 1 | -29/+29 |
| | |||||
* | control flow graph: don't ignore yield statements | Araq | 2019-07-09 | 1 | -1/+1 |
| | |||||
* | fixes #11633 | Andreas Rumpf | 2019-07-01 | 1 | -1/+1 |
| | |||||
* | increase dfa instruction limit (#11579) | cooldome | 2019-06-24 | 1 | -2/+2 |
| | |||||
* | [bugfix] owned closures (#11544) | Andreas Rumpf | 2019-06-20 | 1 | -2/+16 |
| | |||||
* | fixes #10963, disallow implicit mixing of strings and ints/floats (#11292) | Miran | 2019-05-21 | 1 | -1/+1 |
| | |||||
* | Replace countup(x, y-1) with x ..< y | Clyybber | 2019-05-07 | 1 | -1/+1 |
| | |||||
* | move analyser: fixes another critical bug | Araq | 2019-04-29 | 1 | -1/+1 |
| | |||||
* | make twidgets example green (#11135) | Andreas Rumpf | 2019-04-28 | 1 | -3/+9 |
| | |||||
* | fixes #11095 (#11104) | Andreas Rumpf | 2019-04-25 | 1 | -11/+28 |
| | | | * fixes #11095 | ||||
* | added a note about what to not do | Andreas Rumpf | 2019-04-19 | 1 | -0/+10 |
| | |||||
* | move analyser is smarter; refs #11053 | Andreas Rumpf | 2019-04-19 | 1 | -1/+4 |
| | |||||
* | DFA: We are not allowed to take ownership of parameters | Araq | 2019-04-17 | 1 | -1/+2 |
| | |||||
* | make move-analysis smarter; see tuse_ownedref_after_move test case | Araq | 2019-04-16 | 1 | -8/+30 |
| | |||||
* | dfa.nim: track object/tuple field accesses more precisely; sink(o.x); ↵ | Araq | 2019-04-16 | 1 | -17/+56 |
| | | | | sink(o.y) needs to compile; activate the tuple unpacking transf.nim bugfix | ||||
* | compute sinks/assignments properly for for-loop iteration variables | Araq | 2019-04-08 | 1 | -1/+1 |
| | |||||
* | more destructor based changes (#10885) | Andreas Rumpf | 2019-03-23 | 1 | -1/+1 |
| | | | | | | | | | | | * mark user defined destructors with sfOverriden to simplify the logic * refactoring in preparation to merge liftings and generic instantiations for destructors * ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on * renamed 'patterns' switch to 'trmacros' as it was totally misleading before * destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking * test for invalid/too late destructor introductions * liftdestructors: make code robust for nimsuggest * --newruntime works for hello world again * newruntime: code generation for closures | ||||
* | explicit default values for a leaner codegen, .cursor variables for optimization | Andreas Rumpf | 2019-03-07 | 1 | -39/+0 |
| | |||||
* | dfa.nim: continues are bad | Andreas Rumpf | 2019-03-06 | 1 | -2/+3 |
| | |||||
* | introduce tfHasOwned for fast must-move checkings; removed tfAcyclic as the ↵ | Andreas Rumpf | 2019-03-05 | 1 | -1/+1 |
| | | | | GC has ignored this hint for quite some time now | ||||
* | DFA: fixes wrong 'def' instruction emission | Andreas Rumpf | 2019-03-05 | 1 | -5/+6 |
| | |||||
* | destructors/dfa: more documentation | Andreas Rumpf | 2019-03-04 | 1 | -3/+5 |
| | |||||
* | isLastRead regression fix (#10463) | cooldome | 2019-01-28 | 1 | -6/+9 |
| | | | | | | * fixes #10462 * add a test | ||||
* | control flow graphs: introduce 'join' points for easy analyses based on ↵ | Andreas Rumpf | 2019-01-23 | 1 | -152/+391 |
| | | | | abstract interpretation | ||||
* | improve vmgen.codeListing formatting (#10306) | Timothee Cour | 2019-01-15 | 1 | -1/+1 |
| | | | | | * improve vmgen.codeListing formatting * address comments | ||||
* | use control flow graph for sink params | Andrii Riabushenko | 2018-12-09 | 1 | -1/+1 |
| | |||||
* | destructors; fixes #9594 | Araq | 2018-11-02 | 1 | -2/+12 |
| | |||||
* | DFA: implement exception handling properly | Andreas Rumpf | 2018-10-14 | 1 | -2/+20 |
| |