summary refs log tree commit diff stats
path: root/compiler/lambdalifting.nim
Commit message (Collapse)AuthorAgeFilesLines
* `nim doc --backend:js`, `nim doc --doccmd:-d:foo`, `nim r --backend:js`, ↵Timothee Cour2020-05-111-3/+3
| | | | | | | | | | `--doccmd:skip` + other improvements (#14278) * `nim doc --backend:js|cpp...` `nim doc --doccmd:'-d:foo --threads:on'` `nim r --backend:cpp...` (implies --run --usenimcache) * --usenimcache works with all targets * --docCmd:skip now skips compiling snippets; 50X speedup for doc/manual.rst
* 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
| |
d='n748' href='#n748'>748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909