Commit graph

177 commits

Author SHA1 Message Date
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
Renamed from compiler/destroyer.nim (Browse further)