Commit Graph

56 Commits

Author SHA1 Message Date
flywind
75dc69417a fix deprecated messages regarding high (#15832) 2020-11-03 16:31:16 +01:00
Andreas Rumpf
b35d370d88 specialize genericReset (#14398)
* progress
* make tests green
* maybe we also want to reset pointers, dunno
* progress
* cleanup; fixes #13879 [backport:1.2]
2020-05-19 21:42:53 +02:00
Andreas Rumpf
06dfd31612 fixes #13881
* fixes #13881
* documented changed requirements for system.onThreadDestruction
* destructors.rst: update the documentation
2020-05-12 15:46:24 +02:00
Jacek Sieka
7d6cbf290a Error -> Defect for defects (#13908)
* Error -> Defect for defects

The distinction between Error and Defect is subjective,
context-dependent and somewhat arbitrary, so when looking at an
exception, it's hard to guess what it is - this happens often when
looking at a `raises` list _without_ opening the corresponding
definition and digging through layers of inheritance.

With the help of a little consistency in naming, it's at least possible
to start disentangling the two error types and the standard lib can set
a good example here.
2020-04-28 19:56:01 +02:00
Arne Döring
4005f0d0e4 forward type alignment information to seqs (#12430) 2020-04-19 07:52:01 +02:00
Andreas Rumpf
a6682de004 catchable defects (#13626)
* allow defects to be caught even for --exceptions:goto (WIP)
* implemented the new --panics:on|off switch; refs https://github.com/nim-lang/RFCs/issues/180
* new implementation for integer overflow checking
* produce a warning if a user-defined exception type inherits from Exception directly
* applied Timothee's suggestions; improved the documentation and replace the term 'checked runtime check' by 'panic'
* fixes #13627
* don't inherit from Exception directly
2020-03-12 23:44:33 +01:00
Araq
0eae2217b6 first implementation of the new --seqsv2 switch 2019-10-20 08:11:07 +02:00
Araq
ad82e65387 gc:destructors progress 2019-09-01 23:28:26 +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
Andreas Rumpf
79b1eafa59 gc: removed dead code 2019-03-14 07:59:44 +01:00
Andreas Rumpf
721bf7188b code cleanup: there is no tyOptRef 2019-02-22 19:42:11 +01:00
Andreas Rumpf
0036014727 system refactorings (#10559)
* move IO subsystem into its own module; refs #10385
* make standalone test compile again
* make C++ examples compile again
* make more tests green
* make sysAssert and gcAssert work again
2019-02-06 21:00:00 +01:00
Araq
451377f737 fixes #10271 [backport] 2019-01-13 14:24:38 +01:00
Jacek Sieka
87568830ab Remove dead code (#9777)
* gc/gc2: remove unused ref counting stuff
* also removes some false threading support - hasSharedHeap is always
false in gc/gc2
* gc: remove some threading cruft
* remove asgnRefNoCycle
* compiler: remove TLoc.dup (unused)
2018-11-26 09:47:39 +01:00
Andreas Rumpf
74bf316619 more progress on destructor based strings 2018-07-13 21:15:47 +02:00
Andreas Rumpf
4f08ed63cf M&S GC: collect earlier under memory pressure 2018-01-30 10:30:43 +01:00
Andreas Rumpf
8c98277d5a M&S GC: minor code cleanup 2018-01-21 21:06:31 +01:00
Andreas Rumpf
7adf3bf476 Mark&Sweep GC: introduce nimTracing define for debugging 2018-01-19 18:11:46 +01:00
Araq
f1089db175 GC: enable precise global/thread local storage tracing 2018-01-15 17:41:05 +01:00
Araq
f71f9f83c2 GC improvements; distinguish between thread local and globals in the marking step 2018-01-14 17:34:27 +01:00
Yuriy Glukhov
d1e10f9aa3 Fixed mutex usage in SharedList and SharedTable. Closes #6988 (#6990) 2017-12-31 09:28:51 +01:00
Andreas Rumpf
6a3288a60e more replacements for the deprecated '<' 2017-10-29 08:55:30 +01:00
Andreas Rumpf
70e94b8c9e GCs: use add instead of & 2017-09-29 11:20:28 +02:00
Andreas Rumpf
f7f3a25be8 first steps of making 'opt' a first class type for Nim 2017-09-25 13:19:36 +02:00
Andreas Rumpf
e968fbb7dd added system.deallocHeap feature for Nim's native GCs 2017-07-22 11:38:47 +02:00
Andreas Rumpf
6f89323385 make the GCs more robust 2017-07-20 18:42:08 +02:00
Araq
c3b0eb5df7 added logic to the M&S GC to detect logical leaks 2017-06-16 01:48:23 +02:00
Rokas Kupstys
9f8863169a Cleanup of gc code
Cleanups
2017-02-20 17:24:19 +02:00
Araq
346ea6d171 system.nim: don't use deprecated symbols/constructs 2017-02-08 14:55:30 +01:00
Andreas Rumpf
03916fa3b1 M&S GC gets the heap dump feature 2017-01-15 10:12:28 +01:00
James Boyden
13d06d9a5c Add import sharedlist when hasThreadSupport
Without this change, a user's Nim code won't compile if they're using both threads & the mark-and-sweep GC:

lib/system/gc_ms.nim(75, 18) Error: undeclared identifier: 'SharedList'
        toDispose: SharedList[pointer]
                   ^


This small code block addition was copied from "lib/system/gc.nim" (where it appears directly after a `when defined(memProfiler)` block also).
2016-04-05 19:45:46 +10:00
Andreas Rumpf
ad7e219117 GCs support ForeignCells 2016-03-05 19:59:15 +01:00
Araq
999c107c52 fixes #3245 2015-08-25 15:13:39 +02:00
rku
43bfda057b Coroutine support for i386/amd64 platforms unix/windows OSes markAndSweep/refCounting GCs. 2015-07-31 17:59:50 +03:00
Dominik Picheta
0b124a2043 Fixes compilation with --gc:markandsweep. 2015-06-04 23:12:38 +01:00
pdw
2ca90a20a1 lib/system/g-w - Dropped 'T' from types 2015-06-04 13:18:37 +02:00
Reimer Behrends
2a08bbdf31 Fix GC scanning of registers on x86_64 architectures.
It is possible for jmp_buf to not be word-aligned or addresses
in the register dump to not be word-aligned. This can result in
either addresses in registers being missed or even addresses on
the stack past the register area not being scanned properly.
2015-05-07 14:35:39 +02:00
def
450c2c5287 Fix proc call in gc_ms
This fixes compilation with --gc:markandsweep -d:gcUseBitvectors
2015-03-26 01:12:45 +01:00
Araq
0032912d10 fixed the tester; more tests green 2015-03-10 12:32:48 +01:00
Federico Ceratto
657dca5c3b Fix typos 2015-02-15 16:20:32 +00:00
Araq
683b82a2ec fixes #2070 2015-02-10 20:19:44 +01:00
Guillaume Gelin
3119fe087d Happy new year! 2015-01-06 15:26:33 +01:00
Araq
5a52e941b5 added 'setupGcForForeignThread' for better C interop 2014-12-11 23:29:26 +01:00
Araq
a639824e5e introduced 'benign' pragma 2014-10-25 22:01:23 +02:00
Araq
30823c1ce3 make tests green 2014-08-31 15:15:26 +02:00
Araq
dbf9117c56 the big renamefest: first steps 2014-08-22 23:54:26 +02:00
Araq
d0438540d0 implemented builtin noncopying slice 2014-05-02 08:44:03 +02:00
Araq
81d4049797 bugfix: MS-GC GC_unref 2014-04-30 01:05:52 +02:00
Araq
ed1927e001 bugfix: MS GC acknowledges GC_ref/unref properly 2014-04-30 00:22:45 +02:00
Araq
9a2704056a marked markAndSweep GC thread safe 2014-04-20 01:17:46 +02:00