Araq
bcab3ed06c
ARC: handle closures like tuples consistently
2019-11-13 23:29:21 +01:00
Andreas Rumpf
dfb020b174
.cursor implementation ( #12637 )
...
* cursors: first implementation
* added currently failing test
* .cursor works for doubly linked lists
* make -d:useMalloc work again
* added code to nil out refs in a destructor
* it's now called --gc:arc
* renderer.nim: render nkBreakState properly
* make simple closure iterators work without leaking
2019-11-12 15:05:36 +01:00
Araq
e835377d3f
inhibit silly warning about moving closure environments for performance
2019-11-09 20:33:23 +01:00
narimiran
cc3e9ca164
remove unused imports
2019-11-06 12:01:00 +01:00
Andreas Rumpf
44a27ccfe1
--gc:destructors: simple closures work
2019-11-02 00:39:04 +01:00
Andreas Rumpf
3761e62fde
improve codegen quality for --gc:destructors
2019-11-01 09:59:18 +01:00
Andreas Rumpf
7192b13609
some progress on bug #12443
2019-10-27 17:50:30 +01:00
Araq
61ea85687c
refactoring: --newruntime consists of 3 different switches
2019-10-20 08:11:07 +02:00
Arne Döring
7cf3395d85
refactor illegal iterator assignment detection ( #12212 )
...
* refactor illegal iterator assignment detection
* delete crappy test
2019-10-11 08:43:58 +02:00
Clyybber
5f5879dc4c
Refactor injectdestructors ( #12295 )
...
One improvement over #devel is visible in the transformation of getEnv. With this approach we move to result whenever possible.
2019-10-01 14:09:24 +02:00
Federico Ceratto
39290cf88c
Fix spellings ( #12277 ) [backport]
2019-09-27 07:02:54 +02:00
Araq
5018e7f304
fixes #12172
2019-09-13 18:12:38 +02:00
Andreas Rumpf
33b8a00aa8
Revert "Refactored injectdestructors.nim ( #11926 )" ( #12169 )
...
This reverts commit 20dec10722 .
2019-09-11 15:39:40 +02:00
Clyybber
20dec10722
Refactored injectdestructors.nim ( #11926 )
...
One improvement over #devel is visible in the transformation of getEnv. With this approach we move to result whenever possible.
2019-08-28 00:02:48 +02:00
Andreas Rumpf
ce7f29e8e6
fixes #11833 ( #12018 )
2019-08-24 06:25:47 +02:00
Araq
322ce1872f
fixes #10689
2019-08-12 14:06:48 +02:00
Araq
289b5e9ef9
fixes #11254
2019-08-12 13:58:35 +02:00
Araq
07d465ca42
[refactoring] remove unused imports in the compiler and in some stdlib modules
2019-07-18 00:36:03 +02:00
Araq
edbe02b4e1
newruntime: progress to make 'async' work with --newruntime
2019-07-15 10:56:55 +02:00
Araq
423e8cca91
newruntime: refchecks:on|off switch
2019-07-12 21:53:46 +02:00
Araq
c94647aeca
styleCheck: make the compiler and large parts of the stdlib compatible with --styleCheck:error
2019-07-10 12:42:41 +02:00
Araq
55e8aefbea
newruntime: async progress
2019-07-09 20:15:57 +02:00
Araq
085a21ebf4
fixes #11350
2019-07-07 17:17:14 +02:00
Araq
c0db1705dc
fixes #11510
2019-07-03 12:54:11 +02:00
Araq
413dff03a0
fixes #11614
2019-07-01 12:29:03 +02:00
Araq
0a81b038fd
fixes #11577
2019-06-26 15:33:51 +02:00
Andreas Rumpf
79c721d418
[bugfix] fixes #11524
2019-06-22 01:52:49 +02:00
Araq
50afafdb38
wip
2019-06-20 11:31:19 +02:00
Andreas Rumpf
af10788dcc
WIP: closures for the newruntime [ci skip]
2019-06-20 11:30:42 +02:00
Andreas Rumpf
c65a5d754b
[bugfix] owned closures ( #11544 )
2019-06-20 07:40:45 +02:00
Araq
b75ad05267
fixes move analyser; refs #11257
2019-05-24 00:12:36 +02:00
Clyybber
0c869eaa47
Fix destructor injections for global variables ( #11230 )
...
* attach global destructors at end of mainModule
* Add testcase
* Minor cleanup
* Inject topLevelVar temporaries' destructors early
* Fix megatest
2019-05-13 08:28:33 +02:00
cooldome
f4c9eb1774
fixes #11204 ( #11207 )
2019-05-09 16:45:56 +02:00
cooldome
d3db189eb4
Destructor lifting fixes #11149 ( #11163 )
...
* fixes #11149
* add test
2019-05-04 22:34:37 +02:00
Andreas Rumpf
e1515b53d1
introduce temporary <//> for 'owned' to get this compile with 0.19 ( #11145 )
...
* introduce temporary <//> for 'owned' to get this compile with 0.19
* make newTable[string, owned Node]() compile (but it crashes)
* make sink/owned parameters consistent
* make actiontable test compile again
* VM: support sytem.move; makes tests green
2019-05-02 08:07:09 +02:00
Andreas Rumpf
55aa2129b5
make twidgets example green ( #11135 )
2019-04-28 13:28:18 +02:00
Andreas Rumpf
46ce797231
newruntime: progress...
2019-04-27 09:36:34 +02:00
Araq
b350a9fc52
preparations to make the twidgets test work
2019-04-26 15:44:06 +02:00
Araq
a36d8bbf6c
introduce a special typing rule that makes seq[owned ref T] easier to use; remains to be investigated...
2019-04-25 13:54:04 +02:00
Andreas Rumpf
eb9043c0e9
fixes #11095 ( #11104 )
...
* fixes #11095
2019-04-25 07:59:34 +02:00
Andreas Rumpf
a394d31746
move analyser is smarter; refs #11053
2019-04-19 18:02:43 +02:00
Araq
750f50b6c0
destructors: internal compiler refactoring
2019-04-18 00:53:02 +02:00
Araq
a520eb7766
injectdestructors.nim: code cleanups
2019-04-16 10:35:43 +02:00
Araq
045e026d0e
dfa.nim: track object/tuple field accesses more precisely; sink(o.x); sink(o.y) needs to compile; activate the tuple unpacking transf.nim bugfix
2019-04-16 10:35:43 +02:00
cooldome
fdc3f54f97
fix reraise ( #11017 )
2019-04-13 10:50:30 +02:00
Araq
e33266ded1
make koch.nim compile with --newruntime. Again.
2019-04-12 19:59:04 +02:00
Araq
a2ad069769
preparations for --newruntime owned refs/callbacks
2019-04-11 12:42:51 +02:00
Araq
2846156e13
newruntime: raising an exception works but currently leaks memory because currentException global is not an 'owned' ref
2019-04-10 20:34:00 +02:00
Araq
a34ce2714a
newruntime: fixes another bug
2019-04-10 13:53:47 +02:00
Araq
72408842d9
koch.nim compiles with --newruntime
2019-04-09 21:25:36 +02:00