summary refs log tree commit diff stats
path: root/compiler/lambdalifting.nim
Commit message (Collapse)AuthorAgeFilesLines
* make case-object transitions explicit, make unknownLineInfo a const, replace ↵Jasper Jenkins2020-01-171-3/+3
| | | | a few magic numbers with consts (#13170)
* ARC: cycle detector (#12823)Andreas Rumpf2019-12-171-0/+1
| | | | | | | | | | | | | * 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: implemented a simple cycle detectorAraq2019-11-281-4/+6
|
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-41/+40
| | | | | | | | | | | | | | | | | | * 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 Rumpf2019-11-181-2/+9
| | | | | | | | * 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 Rumpf2019-11-151-6/+9
|
* ARC: solves phase ordering problems (#12654)Andreas Rumpf2019-11-141-7/+4
|
* ARC: use the new .cursor annotation for 'up' pointersAraq2019-11-131-2/+6
|
* fixes #12577 [backport] (#12584)Andreas Rumpf2019-11-031-8/+4
|
* --gc:destructors: simple closures workAndreas Rumpf2019-11-021-9/+13
|
* --gc:destructors now means Nim uses pure refcounting (#12557)Andreas Rumpf2019-10-301-1/+2
|
* proof that refcounting can handle Nim's async (#12533)Andreas Rumpf2019-10-281-18/+18
|
* some progress on bug #12443Andreas Rumpf2019-10-271-1/+1
|
* refactoring: use the new strings and seqs when optSeqDestructors is activeAraq2019-10-201-3/+3
|
* refactoring: --newruntime consists of 3 different switchesAraq2019-10-201-10/+10
|
* fixes #12323 [backport]Andreas Rumpf2019-10-071-1/+3
|
* int128 on firstOrd, lastOrd and lengthOrd (#11701)Arne Döring2019-08-071-1/+1
| | | | * fixes #11847
* [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-1/+1
|
* newruntime: progress to make 'async' work with --newruntimeAraq2019-07-151-1/+1
|
* styleCheck: make the compiler and large parts of the stdlib compatible with ↵Araq2019-07-101-4/+4
| | | | --styleCheck:error
* fixes #11523Andreas Rumpf2019-06-261-1/+2
|
* [bugfix] newruntime: trivial closure iterator worksAraq2019-06-201-0/+7
|
* [bugfix] owned closures (#11544)Andreas Rumpf2019-06-201-15/+47
|
* [refactoring] liftdestructors.nim is callable from lambdalifting; refs #11217Araq2019-06-121-1/+6
|
* make fullpaths the default in error messages and stack traces for mor… ↵Andreas Rumpf2019-06-051-3/+1
| | | | | | | | | | | | (#11385) * make fullpaths the default in error messages and stack traces for more convenient development * split up -d:release into -d:release and -d:danger flags * workaround a Nim config parser bug * fixes an old nim config parser bug * make megatest green again * make nimpretty tests work again * make nimsuggest green
* make twidgets example green (#11135)Andreas Rumpf2019-04-281-19/+27
|
* make strscans module work with --newruntimeAndreas Rumpf2019-04-141-3/+6
|
* ignore nkCommentStmt in lambda liftingAndreas Rumpf2019-02-061-1/+1
|
* fixes silly typo causing tons of async regressionsAraq2019-01-301-1/+1
|
* destructors: do not produce strong backrefs in closure environments so that ↵Araq2019-01-301-4/+17
| | | | refcounting works
* fixes nested gensym'ed parameters; fixes #9476Araq2018-12-081-4/+1
|
* fixes #9441Araq2018-12-061-2/+20
|
* lambdalifting: be consistent in its handling for 'func'Araq2018-12-051-9/+7
|
* Change the order of compilation passes, transformation is made lazy at code ↵cooldome2018-10-181-6/+11
| | | | | | | | | | | | | | | gen (#8489) * Ast no transformation * Add getImplNoTransform to the macros module * progress on delaying transf * Fix methods tranformation * Fix lazy lambdalifting * fix create thread wrapper * transform for lambda lifting * improve getImplTransformed * Fix destructor tests * try to fix nimprof for linux
* improve error message, closes #2361 (#9387)Miran2018-10-171-2/+3
| | | | | | * improve error message * use single % operation
* Access implicit `result` trough envP in closures (#8471)LemonBoy2018-07-301-1/+13
| | | | | | | Reuse the existing machinery, most of the changes are only needed to handle the `result = result` node in nkReturnStmt produced by the closure iterator transform. Fixes #338
* fixes yet another merge conflictAraq2018-06-111-86/+2
|\
| * Removed oldIterTranf featureYuriy Glukhov2018-06-101-86/+2
| |
* | fixex merge conflictsAraq2018-06-081-21/+41
|\|
| * Merge branch 'devel' into yield-in-tryYuriy Glukhov2018-05-151-102/+101
| |\
| * | CosmeticsYuriy Glukhov2018-05-091-2/+2
| | |
| * | Small fix and cosmeticsYuriy Glukhov2018-05-091-2/+1
| | |
| * | Closure iter transformationYuriy Glukhov2018-05-091-18/+42
| | |
* | | baby steps for incremental compilationAndreas Rumpf2018-05-301-1/+1
| | |
* | | refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-20/+20
| | | | | | | | | | | | around explicitly
* | | remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
| | |
* | | make tests green againAndreas Rumpf2018-05-181-1/+1
| | |
* | | remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-2/+2
| |/ |/|
* | options.nim: no global variables anymoreAndreas Rumpf2018-05-131-13/+10
| |
* | lambda lifting compiles againAndreas Rumpf2018-05-121-85/+90
|/