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
a4d43d7d0c
--gc:destructors: bugfixes
2019-11-09 20:34:51 +01:00
Andreas Rumpf
82e0765fc9
--gc:destructors improvements ( #12626 )
...
* do not cache the noDestructors transformation
* liftdestructor: improvements
* undo bugfix
2019-11-09 13:21:55 +01:00
Andreas Rumpf
1746da2d9e
--gc:destructors now means Nim uses pure refcounting ( #12557 )
2019-10-30 16:15:17 +01:00
Araq
ed2fb36bc6
refactoring: use the new strings and seqs when optSeqDestructors is active
2019-10-20 08:11:07 +02:00
Araq
61ea85687c
refactoring: --newruntime consists of 3 different switches
2019-10-20 08:11:07 +02:00
Andreas Rumpf
2a59f499e9
some gc:destructors progress
2019-09-16 13:54:58 +02:00
Araq
5018e7f304
fixes #12172
2019-09-13 18:12:38 +02:00
Araq
cf99c9bfb5
fixes #12051
2019-09-10 09:43:37 +02:00
Araq
ad82e65387
gc:destructors progress
2019-09-01 23:28:26 +02:00
cooldome
c9f49cbc0a
lift destructor for openarray ( #12073 )
...
* destroy for sink openarray
2019-08-28 12:07:46 +02:00
Arne Döring
afbcd1b330
int128 on firstOrd, lastOrd and lengthOrd ( #11701 )
...
* fixes #11847
2019-08-07 15:53:16 +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
423e8cca91
newruntime: refchecks:on|off switch
2019-07-12 21:53:46 +02:00
Andreas Rumpf
28c9c062a4
fixes #11610 ( #11659 )
2019-07-05 07:26:06 +02:00
Andreas Rumpf
c65a5d754b
[bugfix] owned closures ( #11544 )
2019-06-20 07:40:45 +02:00
Araq
ab36ffbeb1
[bugfix] fixes #11517
2019-06-19 17:39:52 +02:00
Araq
b056d32a79
[refactoring] liftdestructors.nim is callable from lambdalifting; refs #11217
2019-06-12 10:44:45 +02:00
Araq
c07973e313
[refactoring] liftdestructors is now a module of its own
2019-06-12 08:45:47 +02:00
Araq
950f2d7c2f
fixes #6755 ; error message could be better but oh well
2019-05-28 22:20:49 +02:00
Araq
a3e27ffa2c
fixes #11215
2019-05-12 15:07:35 +02:00
Arne Döring
b92fd30282
rename tyExpr/tyStmt to tyUntyped/tyTyped ( #11227 )
2019-05-11 10:11:08 +02:00
cooldome
d3db189eb4
Destructor lifting fixes #11149 ( #11163 )
...
* fixes #11149
* add test
2019-05-04 22:34:37 +02:00
Andreas Rumpf
44ec66bd48
fixes #11053
2019-04-19 18:02:43 +02:00
Araq
750f50b6c0
destructors: internal compiler refactoring
2019-04-18 00:53:02 +02:00
Araq
d8a8c8806f
fixes #11014
2019-04-17 00:15:40 +02:00
Araq
572735bbfa
fixes #11004
2019-04-12 13:28:12 +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
Andreas Rumpf
b2898cd254
an owned ref parameter behaves as a 'sink' parameter
2019-04-07 23:11:37 +02:00
Andreas Rumpf
f08e90f0d6
more efficient enumToStr implementation that works without the old typeinfo structures
2019-04-07 21:14:54 +02:00
Araq
f1ee36692a
fixes compiler regression
2019-04-06 19:12:44 +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
cooldome
795de374fb
fixes destructor tuple regression #10940 ( #10941 )
...
* fixes #10940
* bug fixes
* fix spacing
2019-04-04 20:46:02 +01:00
Araq
c9c6741cde
newruntime: fixes codegen for closures
2019-04-04 16:35:15 +02:00
Araq
f5a7a3bee9
make megatest work again
2019-04-02 08:23:13 +02:00
Araq
b77a2037f8
newruntime: progress
2019-04-02 00:46:38 +02:00
Araq
c3067e36bb
newruntime: progress
2019-04-01 16:51:18 +02: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
Andreas Rumpf
ed878014be
newruntime: progress
2019-03-15 17:51:52 +01:00
Andreas Rumpf
e263702688
--newruntime: progress
2019-03-14 19:53:27 +01:00
Andreas Rumpf
2ab6b2c657
--newruntime: work in progress
2019-03-14 07:59:44 +01:00
Andreas Rumpf
07f58ddfa9
rename: semasgn -> liftdestructors
2019-03-14 07:59:44 +01:00