Andreas Rumpf
d84894de2e
fixes #15026 [backport] ( #15040 )
...
no test case since only a special case was affected and the special case got removed
2020-07-22 13:02:03 +02:00
Andreas Rumpf
911e39351e
ARC: optimize the code better when --panics:off ( #15031 )
2020-07-21 23:23:33 +02:00
Andreas Rumpf
3a4e4cec4d
cursor inference bugfix
2020-07-20 18:37:14 +02:00
Andreas Rumpf
80d3ef9952
hotfix: firstOrd/lastOrd for 'tyLent' as it shows up in strange places, as usual
2020-07-20 17:44:35 +02:00
Andreas Rumpf
49d4b50fe5
fixes #14194 ( #15023 )
2020-07-20 14:28:00 +02:00
Andreas Rumpf
71dd5f85b9
'isolate' builtin; refs https://github.com/nim-lang/RFCs/issues/244 ( #15011 )
2020-07-20 07:50:19 +02:00
Andreas Rumpf
d4984e069a
arc: cursors for simple for loop variables ( #15008 )
...
* arc: cursors for simple for loop variables
* merged devel
2020-07-17 15:24:36 +02:00
Clyybber
1355b461aa
Show that a variable is cursor in --expandArc ( #15002 )
2020-07-17 10:56:17 +02:00
Andreas Rumpf
6b607413e9
cursor inference: hotfix ( #14999 )
2020-07-16 12:07:06 +02:00
Andreas Rumpf
617c1f16d7
disable debug output
2020-07-15 23:04:18 +02:00
Andreas Rumpf
c5358b0d4b
An optimizer for ARC ( #14962 )
...
* WIP: an optimizer for ARC
* do not optimize away destructors in 'finally' if unstructured control flow is involved
* optimized the optimizer
* minor code cleanup
* first steps to .cursor inference
* cursor inference: big steps to a working solution
* baby steps
* better .cursor inference
* new feature: expandArc for easy inspection of the AST after ARC transformations
* added topt_cursor test
* adapt tests
* cleanups, make tests green
* optimize common traversal patterns
* moved test case
* fixes .cursor inference so that npeg compiles once again
* cursor inference: more bugfixes
Co-authored-by: Clyybber <darkmine956@gmail.com >
2020-07-15 23:00:06 +02:00
Clyybber
e057b1d839
Fix #14990 ( #14991 )
...
* Fix #14990
* Add testcase
2020-07-15 19:00:52 +02:00
Clyybber
08159733cd
Fix #14985 ( #14988 )
2020-07-15 11:34:10 +02:00
Clyybber
2b0e336c97
injectdestructors fixes and refactor ( #14964 )
...
* 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
2020-07-14 14:15:39 +02:00
flywind
086efac49b
fix #6608 ( #14963 )
...
* fix #6608
2020-07-14 09:22:48 +02:00
Miran
371b416ac8
fix #14912 , make --useVersion:1.0 work again ( #14945 )
...
* fix #14912 , make `--useVersion:1.0` work again
* a better fix
* add test
2020-07-10 16:44:12 +02:00
Araq
4603197fe8
fixes a minor regression
2020-07-10 13:36:02 +02:00
Araq
112511084d
fixes the tcontrolflow regression, clen idea of an escaping expression
2020-07-10 13:36:02 +02:00
Araq
b59385f22b
no wasMoved() calls after destructors necessary
2020-07-10 13:36:02 +02:00
Araq
37a98c77f3
optimize sinks even when in a loop
2020-07-10 13:36:02 +02:00
Araq
78513a9204
renderer.nim: more obvious debug output
2020-07-10 13:36:02 +02:00
Clyybber
4a1128d16c
Move wasMoved out of =destroy
2020-07-10 13:36:02 +02:00
Clyybber
3e52136f26
Cosmetics
2020-07-10 13:36:02 +02:00
Araq
f92d2eaa35
cleanup of PR #14833 (VM profiler)
2020-07-09 19:21:20 +02:00
Ico Doornekamp
d7ccd82eac
VM profiler ( #14833 )
...
* Crude VM profiler
* Added --profileVM flag, refactoring
* fixed FileLine hash
* Use TLineInfo instead of own FileLine, updated formatting
* Refactoring, moved PStackFrame to vmdefs for cleaner data structure
* Moved vmprofiler to separate file
* Simplified TLineInfo hash, use toFileLineCol for output
* Hash
* Moved profile data into Config, dump only once at end of run
* Changed profile output header to show '#instr' instead of 'count'
* Do not accumulate instrcount for non-top frames
Co-authored-by: Ico Doornekamp <git@zevv.nl >
2020-07-09 19:18:35 +02:00
Andreas Rumpf
c38a459582
fixes #14925 ( #14947 )
2020-07-09 17:24:23 +02:00
flywind
40b58a0a18
fix #11009 ( #14935 )
2020-07-09 09:57:35 +02:00
Andreas Rumpf
bc712c28fc
fixes #14865 ( #14937 )
2020-07-08 18:59:34 +02:00
Clyybber
27579cfd3a
Make arc compile laser again
2020-07-08 16:20:16 +02:00
Andreas Rumpf
06d776a582
fixes #14900 , this time for real, maybe ( #14934 )
2020-07-08 14:47:14 +02:00
Araq
e42ce877a6
fixes #14805
2020-07-08 12:22:55 +02:00
Araq
ecf8cbbbe0
fixes #14900
2020-07-08 10:48:12 +02:00
Araq
cdce245a23
fixes #14899
2020-07-08 10:48:12 +02:00
Araq
b17e1efc67
progress
2020-07-08 10:48:12 +02:00
Andreas Rumpf
a61a7889b8
injectdestructors: refactoring, added more cases explicitly ( #14929 )
2020-07-07 17:47:57 +02:00
Araq
95808c2806
speed up Nim's lexer by using cstring instead of string. C optimizers are fragile.
2020-07-07 15:17:58 +02:00
Clyybber
5bd2da3f64
Fix #14911 ( #14922 ) [backport]
...
* Fix #14911
* Add testcase
* Fix test
2020-07-07 10:21:18 +02:00
Dean Eigenmann
842efab8ae
Update btrees.nim ( #14916 )
2020-07-06 10:23:42 +02:00
Clyybber
af27e6bdea
Fix #14396 ( #14793 )
...
* Correct Left-To-Right evaluation of proc args
* Fix CPP backend
* Add testcase
* closes #14396
* closes #14345
* Improve test and optimize
* Improve testcase and optimize literals
* Fix bug
* Expand testcase and use DFA to optimize
* Turn genParams into proc
* Turn withTmpIfNeeded into a proc
* Cleanup
* Fix crash
* Better analysis
* Cleanup
* Trailing newline..
* Fix build
* Tiny cleanup
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-07-04 17:45:07 +02:00
Andreas Rumpf
1854d29781
scoped memory management ( #14790 )
...
* fixes the regressions
* closes #13936
* scope based memory management implemented
* enabled tcontrolflow.nim test case
* final cleanups
2020-07-04 07:37:24 +02:00
Timothee Cour
695154970d
deprecate existsDir; use dirExists instead ( #14884 )
2020-07-03 23:04:23 +02:00
Timothee Cour
a6cbe58e8c
typetraits.$: $((int, float), int) is now "((int, float), int)" instead of "(tuple of (int, float), int)" ( #14812 )
...
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-07-02 16:19:43 +02:00
Timothee Cour
dc5a40f3f3
{.deprecated: [existsFile: fileExists].} ( #14735 )
...
* {.deprecated: [existsFile: fileExists].}
* s/existsFile/fileExists/ except under deps
* workaround pending #14819
* fix test
2020-07-02 16:19:13 +02:00
Tomohiro
366b9a7e4a
Fix #12745 ( #14879 )
2020-07-02 13:20:34 +02:00
Clyybber
1440e70c62
allow packed union ( #14868 )
...
Co-authored-by: Arne Döring <arne.doering@gmx.net >
2020-07-01 11:41:03 +02:00
Miran
1edb9a6178
fix #14401 , trailing comma confuses nimpretty ( #14867 )
2020-07-01 11:40:13 +02:00
Juan Carlos
74d1f25010
Clean out oldast ( #14837 )
...
* Clean out old Deprecated CLI switch
* Update to remove --oldast CLI option
2020-06-30 10:01:25 +02:00
lbartoletti
5c1fa142d6
New freebsd platforms ( #14801 )
...
* add riscv as riscv64
* add all platforms supported by FreeBSD
2020-06-29 10:31:25 +02:00
Timothee Cour
1b41c3122b
fix #13432 typetraits.$: $(int,) is now (int,); $tuple[] is now tuple[] ( #14799 )
...
* typetraits.$: $(int,) is now (int,); $tuple[] is now tuple[]
* changelog
2020-06-29 09:34:05 +02:00
Clyybber
299ddda5f6
Make unreachable code a warning instead of an error ( #14816 )
...
* Make unreachable code a warning
* Adapt test
* Trigger CI
2020-06-29 08:49:53 +02:00