Andreas Rumpf
3ceaf5c130
fixes #18030 ( #18415 )
2021-07-01 17:35:04 +02:00
Andreas Rumpf
ceb9e3efc9
fixes #18240 ( #18354 )
...
* ORC: track escaping parameters properly
* fixes #18240
2021-06-25 14:12:23 +02:00
Andreas Rumpf
0d194cdbf9
fixes #18287 ( #18346 )
2021-06-25 06:22:52 +02:00
Andreas Rumpf
53935b8b27
ARC: fixes memory leaks with newSeq used in a loop [backport:1.4] ( #18040 )
...
* ARC: fixes memory leaks with newSeq used in a loop [backport:1.4]
* Update tests/arc/tnewseq_legacy.nim
2021-05-18 21:45:37 +02:00
Clyybber
3614523664
Rework DFA traversal ( #18016 )
...
* enable using dbg: without a context
* Optimally joining first write/last read analysis
* Add test for #18002
* potLastReads -> potentialLastReads
2021-05-16 00:15:53 +02:00
Andreas Rumpf
c14427dbf3
ORC: cursor inference bugfix ( #17973 )
...
* fixed a .cursor inference bug
* added a test case
2021-05-08 16:47:06 +02:00
Clyybber
b03d6c9b2f
Fix #17712 ( #17873 )
2021-04-27 13:03:26 +02:00
flywind
53c898de41
fix #17812 (repr fails to compile with ARC/ORC) ( #17816 )
2021-04-22 08:08:56 +02:00
Clyybber
bb3769975b
Fix #17199 ( #17348 )
...
* don't zero out in a move in the VM
* Add testcases for #17199
* Update tests/arc/tarcmisc.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* Update tests/vm/tissues.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
* Fix test failures
* Fix test
* Fix tests
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-03-26 13:05:51 +01:00
Clyybber
833084b671
Fixes #17450 ( #17477 )
...
* Fixes #17450
* Add missing test output
2021-03-23 16:30:49 +01:00
Clyybber
97f51ed7c2
Revert "Fixes #17450 ( #17474 )" ( #17476 )
...
This reverts commit 5f0c520489 .
2021-03-23 15:44:20 +01:00
Clyybber
5f0c520489
Fixes #17450 ( #17474 )
...
* Fixes #17450
* Add missing test output
2021-03-23 15:40:30 +01:00
Clyybber
38d82795da
Fix #16437 ( #17277 )
...
* Fix #16437
* Fix
* Small cleanup
2021-03-06 22:35:02 +01:00
flywind
e1cc3b83fb
deprecate newruntime ( #17245 )
...
* deprecate newruntime
* tests
* Update compiler/commands.nim
2021-03-04 19:33:16 +01:00
Andreas Rumpf
bb0c19f42c
fixes #17173 ( #17213 )
...
* fixes #17173
* add testcase (#17214 )
* Apply suggestions from code review
* fix for newruntime
* Apply suggestions from code review
* Update lib/system.nim
* Update lib/system.nim
* Update lib/system.nim
Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com >
Co-authored-by: flywind <xzsflywind@gmail.com >
Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com >
2021-03-01 20:58:12 +01:00
Andreas Rumpf
e9a287fe12
fixes #17170 ( #17171 )
2021-02-24 17:43:13 +01:00
Timothee Cour
11a7fa68f6
fix #17159 items(cstring) works in VM ( #17160 )
...
* fix #17159 items(cstring) works in VM
* improve test coverage tests/stdlib/tcstring.nim; add helpers: whenRuntimeJs, whenVMorJs
* document items(cstring)
* address comments
2021-02-24 14:01:06 +01:00
Clyybber
aa3af9e053
ARC Analysis in one pass v3 ( #17068 )
...
* Analyse last reads all at once
* Integrate firstWrite analysis
* Small cleanup
* Use sets instead of seqs
* Remove instrTargets
* Reap the benefits
* Implement error diagnostics
* Operate on DFA index for lastRead analysis
* Use mgetOrPut
* Cache alias results
This improves performance by a lot, since many
CFG locations map to a single PNode
* Improve performance
* Improve performance
* Cleanup
* Fix #17025
* Grammar
* Expand testcase
2021-02-17 14:17:35 +01:00
Andreas Rumpf
f32ffb6ed8
fixes #17033 [backport:1.4] ( #17061 )
...
* fixes #17033 [backport:1.4]
* make test robust against stdlib gensym things
* cleanup assertions.nim to make topt_no_cursor easier to get right
2021-02-17 11:00:03 +01:00
Clyybber
70b9e9962f
Revert "ARC: Analysis in one pass v2 ( #17000 )" ( #17046 )
...
This reverts commit 216be4060a .
2021-02-15 18:31:15 +01:00
Clyybber
216be4060a
ARC: Analysis in one pass v2 ( #17000 )
...
* Analyse last reads all at once
* Integrate firstWrite analysis
* Small cleanup
* Use sets instead of seqs
* Remove instrTargets
* Reap the benefits
* Implement error diagnostics
* Operate on DFA index for lastRead analysis
* Use mgetOrPut
* Cache alias results
This improves performance by a lot, since many
CFG locations map to a single PNode
* Improve performance
* Improve performance
* Cleanup
2021-02-10 15:03:57 +01:00
Clyybber
9edf719e1e
Revert "ARC Analysis in one pass ( #16849 )" ( #16984 )
...
This reverts commit ab740cb5b9 .
2021-02-09 15:50:52 +01:00
Clyybber
ab740cb5b9
ARC Analysis in one pass ( #16849 )
...
* Analyse last reads all at once
* Integrate firstWrite analysis
* Small cleanup
* Use sets instead of seqs
* Remove instrTargets
* Reap the benefits
* Implement error diagnostics
* Operate on DFA index for lastRead analysis
* Use mgetOrPut
2021-02-09 14:20:58 +01:00
flywind
d447c0fe3f
use typeof instead type ( #16962 )
2021-02-08 09:46:07 +01:00
Clyybber
301e5838ec
Finer analysis for array access ( #16787 )
...
* Refine the analysis for array access
* Cleanup
* Add comments
2021-01-24 21:01:41 +01:00
Clyybber
57d5c1465a
Part-to-whole optimization ( #16775 )
2021-01-21 15:25:00 +01:00
Clyybber
ccb11a63fb
Reboot of #16195 ( #16746 )
...
* fix #16185
* fix test
* fix comment
* fix comment
* better approach
* Add more tests and move sameLocation to injectdestructors
* Better and more strict sameLocation
* Small cleanup and preliminary spec clarification
* Fix
* Fix doc
* Expand test
Co-authored-by: Andrey R (cooldome) <ariabushenko@gmail.com >
2021-01-20 11:05:56 +01:00
Juan Carlos
78a99587a4
Deprecate TaintedString ( #15423 )
...
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com >
2021-01-15 18:56:38 -08:00
cooldome
fc9cf2088d
Fix 16722 ( #16730 )
...
* fix #16722
* fix spacing
* spacing
2021-01-15 18:16:24 +00:00
flywind
6d442a40a6
use doAssert in tests ( #16486 )
2020-12-28 14:13:21 +01:00
cooldome
fbc8a40c7a
fix #15043 ( #16441 ) [backport:1.4]
...
* fix #15043
* Trigger build
2020-12-27 20:05:33 +01:00
Timothee Cour
7e1ae35195
testament: error instead of silently ignore invalid targets; remove pointless alias target vs targets; document matrix; DRY ( #16343 )
...
* testament: error instead of silently ignore invalid targets
* s/target/targets/
* fix test; refs #16344
* address comments
* Update testament/specs.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-12-14 10:58:29 +01:00
Andreas Rumpf
af7f7726fe
ORC: make the adaptive strategy the default in order to fight memory consumption ( #16250 )
...
* ORC: make the adaptive strategy the default in order to fight memory consumption
* added missing test case
2020-12-05 23:15:17 +01:00
Andreas Rumpf
2e4b6b94e6
Revert "fix #16185 ( #16195 )" ( #16197 )
...
This reverts commit bb4b27a2ca .
2020-11-30 23:36:38 +01:00
cooldome
bb4b27a2ca
fix #16185 ( #16195 )
...
* fix #16185
* fix test
* fix comment
* fix comment
* better approach
2020-11-30 18:45:37 +01:00
Timothee Cour
b809562c7c
make megatest consistent with unjoined tests wrt newlines, honor newlines in output spec ( #16151 )
...
* fix megatest newlines
* still allow missing trailing newline for now but in a more strict way than before
2020-11-28 09:09:31 +01:00
cooldome
8c12d3e29d
fix #16120 ( #16145 )
2020-11-26 14:37:34 +01:00
Andreas Rumpf
da753c6a2e
fixes #15076 ( #16143 )
...
* fixes #15076
* heapqueue: optimized for ARC
* added another test case [backport:1.4]
* code cleanup
2020-11-26 10:24:52 +01:00
Andreas Rumpf
d306a04466
fixes #16069 ; [backport:1.2] [backport:1.4] ( #16115 )
...
* fixes #16069 ; refs https://github.com/nim-lang/RFCs/issues/257 [backport:1.2] [backport:1.4]
* make tests green again
2020-11-24 16:09:00 +01:00
Timothee Cour
b3c3557c33
fix #16025 repr now consistent: does not insert trailing newline ( #16034 )
2020-11-19 12:12:51 -08:00
Timothee Cour
557dcfd87d
fix #16033 nim js --gc:arc works and ignores --gc:arc ( #16036 )
2020-11-18 23:28:52 +01:00
Andreas Rumpf
b9eb91cbb5
ORC: prepare for another patent-pending optimization ( #15996 )
...
* ORC: prepare for another patent-pending optimization
* bugfix
* '=copy' for refs can take a cyclic parameter for more ORC optimizations
* ORC: exploit the common 'it = it.next' pattern
* can't hurt to check for nil
* use an algorithm that is not obviously broken
* restore the test case
* final cleanups for --gc:orc
2020-11-18 22:31:06 +01:00
cooldome
a4d02f591c
fix #15910 ( #15984 )
...
* fix #15910
* produce op of op is nil
* Trigger build
2020-11-16 11:39:28 +00:00
Andreas Rumpf
7eb34d170a
fixes #15753 [backport:1.4] ( #15971 )
2020-11-15 15:47:42 +01:00
Fanael Linithien
7d4f70280e
Fix #15909 ( #15914 )
2020-11-12 09:28:32 +01:00
cooldome
69fe707025
Fix 15629 ( #15888 )
...
* fix #15858
* fix space
* fix #15629
* Revert "fix space"
* Revert "fix #15858 "
2020-11-09 12:26:12 +01:00
cooldome
7b19217798
fix #15707 ( #15870 )
2020-11-09 11:47:29 +01:00
cooldome
fa5f225efc
fix #15609 ( #15856 )
...
* fix #15609
* fix test
2020-11-05 23:29:05 +01:00
cooldome
0956a99537
ARC now capable of custom extra alignment. Ref, closure and seq support. ( #15697 )
2020-10-28 14:00:49 +01:00
Clyybber
d4022ebe53
Revert "fixes #15280 [backport:1.2] ( #15281 )" ( #15700 )
...
This reverts commit 3f00a738db .
2020-10-24 11:45:18 +02:00