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
Araq
32ad3bb236
make 'raise' statement work with --newruntime
2019-04-09 11:39:10 +02:00
Araq
9565b844dd
compute sinks/assignments properly for for-loop iteration variables
2019-04-08 13:53:15 +02:00
Andreas Rumpf
b2898cd254
an owned ref parameter behaves as a 'sink' parameter
2019-04-07 23:11:37 +02:00
Araq
6e6a9a721f
destructors: we are cooking now
2019-04-06 17:32:53 +02:00
Andreas Rumpf
efeee326f8
destructors: progress
2019-04-05 12:38:30 +02:00
Andreas Rumpf
663b1f2c96
newruntime: bugfixes
2019-03-25 16:45:51 +01:00
Andreas Rumpf
bf592c4e94
more destructor based changes ( #10885 )
...
* mark user defined destructors with sfOverriden to simplify the logic
* refactoring in preparation to merge liftings and generic instantiations for destructors
* ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on
* renamed 'patterns' switch to 'trmacros' as it was totally misleading before
* destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking
* test for invalid/too late destructor introductions
* liftdestructors: make code robust for nimsuggest
* --newruntime works for hello world again
* newruntime: code generation for closures
2019-03-23 00:12:05 +01:00