summary refs log tree commit diff stats
path: root/tests/destructor
Commit message (Collapse)AuthorAgeFilesLines
* Implements RFCs #209 (#13995)cooldome2020-04-161-7/+3
| | | | | * add test * add changelod entry Co-authored-by: cooldome <ariabushenko@bk.ru>
* fixes #13782 (#13834)Andreas Rumpf2020-04-011-1/+21
|
* faster CIs (#13803)Miran2020-03-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ttables: smaller table, 5x speedup * thavlak: less iterations, less loops; 30% speedup * tasyncclosestall: shorter timeout; 35% speedup * gcleak4: less iterations, 2x speedup * ttimes: remove deprecated stuff * tdangerisrelease: remove cpp backend, 3x speedup * tfrexp1: smaller range, 2x speedup * trtree: fix warnings, less iterations, 6x speedup * tasyncawait_cyclebreaker: smaller swarm size; 2x speedup * trealloc: smaller number of iterations; 10x speedup * towned_binary_tree: less iterations, 4x speedup * tclosure: remove unused code, less iterations; 2x speedup * twaitany: less durations; 1.4x speedup * tasync_misc: less iterations, 2x speedup * t8535: smaller sleep, 1.5x speedup * tmanyjoin: smaller sleep, 2x speedup * t12221: shorter sleeps, removed two slower tests; 1.6x speedup * tfuturestream: smaller sleep; 1.5x speedup * growobjcrash: less iterations; 2x speedup * ttryrecv: smaller sleep; 1.5x speedup * treusetvar: less threads; 2x speedup * delete tthreadanalysis2, basically a duplicate of tthreadanalysis * t7758: less iterations, 1.5x speedup * tasyncawait: smaller swarm, less messages; 1.5x speedup * tjsandnativeasync: smaller sleep, 1.5x speedup * tpendingcheck: smaller sleep, 1.5x speedup * remove rodfiles test category * move tseq from its own category to 'collections' category * remove unneeded tests and helpers from 'assert' category * stdlib: merge tbitops2 into tbitops * remove 'trepr2' from 'stdlib' cat * merge 'tstreams' into one file * remove 'tinefficient_const_table' from 'ccbugs' cat * merge 'tcollections_to_string' into 'tcollections' * tblocking_channel: smaller sleep, small speedup * tconvexhull: less iterartions; 1.2x speedup * merge 'tdeepcopy2' into 'tdeepcopy' * merge 'tdisjoint_slice2' into 'tdisjoint_slice1' * tmissing_deepcopy: smaller sequence * tsendtwice: smaller arrays; 5x speedup * remove 'tindexerrorformatbounds' * disable multimethod tests * remove 'gc:none' and 'refc' without 'd:useRealtimeGC' from gc tests * koch.nim: bootstrap just with '-d:release', no need for 'csource' * add github workflow for documentation * testament: no need for 8 sub-second decimals
* arc optimizations (#13325)Andreas Rumpf2020-03-184-3/+8
| | | | | * scope based destructors * handle 'or' and 'and' expressions properly, see the new test arc/tcontrolflow.nim * make this branch mergable, logic is disabled for now
* rewritten goto based exception handling; much cleaner implementation;… ↵Andreas Rumpf2020-03-171-0/+69
| | | | | | (#13677) * rewritten goto based exception handling; much cleaner implementation; fixes #13668
* Fixes #13659 (#13674)cooldome2020-03-171-1/+25
| | | | | * fixes #13659 Co-authored-by: cooldome <ariabushenko@bk.ru>
* fixes #12747 [backport] (#13651)cooldome2020-03-162-2/+2
| | | | | | | * fixes #12747 * fix tests * improve code style Co-authored-by: cooldome <ariabushenko@bk.ru>
* catchable defects (#13626)Andreas Rumpf2020-03-121-0/+52
| | | | | | | | | | * 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
* fixes #13436 (#13615)Andreas Rumpf2020-03-101-0/+10
|
* fixes #13599 (#13614)Andreas Rumpf2020-03-091-0/+39
|
* sink parameter inference for types that have destructors (#13544)Andreas Rumpf2020-03-042-2/+6
| | | | | | | | | | | | | | * ensure capitalize doesn't take an inferred sink parameter * sink parameter inference: first version, for now disabled. Changed that sink parameters can be consumed multiple times in order to adhere to our spec. * sink inference can now be disabled with .nosinks; sometimes for proc type interop this is required * fixes yet another critical DFA bug * better implementation that also understands if expressions etc * document sink parameter inference and allow for global disabling
* fixes #13457 (#13458)Andreas Rumpf2020-02-211-1/+8
|
* Repr v2 progress (#13268)cooldome2020-01-281-1/+1
| | | | | | | | | | * progress on repr_v2 * repr progress * add ref objects with distrinct * fix failing tests
* ARC: remove unnecessary codeAraq2020-01-261-4/+3
|
* contributing docs: symbols need package prefix; changed allocStats to ↵Timothee Cour2020-01-258-8/+8
| | | | nimAllocStats (#13247)
* Removed lib/system/allocators.nim. seqs_v2 and strs_v2 now uses ↵Ico Doornekamp2020-01-239-56/+31
| | | | | | | | | | | | | | | | | | | | | | | | | allocShared0. (#13190) * Cleanup, remove lib/system/allocators.nim. seqs_v2 and strs_v2 now use allocShared0 by default. * Fixed -d:useMalloc allocShared / reallocShared / deallocShared. These now use the alloc/dealloc/realloc implementation that also takes care of zeroing memory at realloc. * Removed debug printfs * Removed unpairedEnvAllocs() from tests/destructor/tnewruntime_misc * More mmdisp cleanups. The shared allocators do not need to zero memory or throw since the regular ones already do that * Introduced realloc0 and reallocShared0, these procs are now used by strs_v2 and seqs_v2. This also allowed the -d:useMalloc allocator to drop the extra header with allocation length. * Moved strs_v2/seqs_v2 'allocated' flag into 'cap' field * Added 'getAllocStats()' to get low level alloc/dealloc counters. Enable with -d:allocStats * *allocShared implementations for boehm and go allocators now depend on the proper *allocImpl procs
* fixes #13195 (#13198)cooldome2020-01-201-0/+25
| | | | | | | | * fixes #13195 * extra fix * fix typo
* Revert "fixes #13195"Andrii Riabushenko2020-01-191-25/+0
| | | | This reverts commit cd7904f2b29e623998a1d32ee726d000f56fc5ce.
* revert last commitAndrii Riabushenko2020-01-191-0/+25
|
* more on arc codegen (#13178)cooldome2020-01-191-1/+20
| | | | | | | | | | | | * arc codegen for union type * add more tests * fix offsetof * fix tsizeof test * fix style
* make sink operator optional (#13068)cooldome2020-01-172-12/+4
| | | | | | | | | | | | | | | | * make sink operator optional * bug fix, add changelog entry * Trigger build * fix one regression * fix test * Trigger build * fix typos
* Working towards arc codegen (#13153)cooldome2020-01-161-0/+57
| | | fixes #13029
* fixes #13105 (#13138)Andreas Rumpf2020-01-141-0/+18
|
* fixes #13119 (#13128)Andreas Rumpf2020-01-141-0/+12
| | | | | * fixes #13119 * fixes a regression
* fixes #13112 (#13127)Andreas Rumpf2020-01-131-0/+6
| | | | | | * improve line error information * fixes #13112
* more arc features (#13098)Andreas Rumpf2020-01-101-0/+25
| | | | | * config update * ARC now supports 'repr' and 'new' with finalizers is supported
* fixes #13070Araq2020-01-101-0/+40
|
* Continue #13002 (#13021)Clyybber2020-01-061-1/+1
|
* fixes #12964 (#13027)Andreas Rumpf2020-01-041-0/+14
|
* Fixes #13026 (#13028)cooldome2020-01-041-1/+83
|
* fixes #12961 (#13019)Andreas Rumpf2020-01-031-0/+11
|
* fixes #12978 (#13012)Andreas Rumpf2020-01-031-1/+24
|
* Sink to MemMove optimization in injectdestructors (#13002)cooldome2020-01-021-1/+1
|
* --exception:goto switch for deterministic exception handling (#12977)Andreas Rumpf2020-01-013-0/+228
| | | | | This implements "deterministic" exception handling for Nim based on goto instead of setjmp. This means raising an exception is much cheaper than in C++'s table based implementations. Supports hard realtime systems. Default for --gc:arc and the C target because it's generally a good idea and arc is all about deterministic behavior. Note: This implies that fatal runtime traps are not catchable anymore! This needs to be documented.
* fixes #12989 (#12992)cooldome2019-12-312-1/+10
| | | | | | | * fixes #12989 * Revert "remove unwanted changes" This reverts commit 501829732a8e44deef2d815c303859efbe452cb5.
* fixes #12965 (#12991)Andreas Rumpf2019-12-311-0/+4
|
* Revert "fixes #12989"Andrii Riabushenko2019-12-311-9/+0
| | | | This reverts commit 928c2fee06bd11a0901c5f563b4953788be76ae6.
* fixes #12989Andrii Riabushenko2019-12-311-0/+9
|
* fixes #12826Araq2019-12-241-0/+33
|
* fixes #12899 (#12921)Andreas Rumpf2019-12-181-1/+25
| | | | | | * fixes #12899 * fixes regression: destroy global variables in reverse declaration order, closureleak test relies on it
* ARC: cycle detector (#12823)Andreas Rumpf2019-12-1716-16/+299
| | | | | | | | | | | | | * first implementation of the =trace and =dispose hooks for the cycle collector * a cycle collector for ARC: progress * manual: the .acyclic pragma is a thing once again * gcbench: adaptations for --gc:arc * enable valgrind tests for the strutils tests * testament: better valgrind support * ARC refactoring: growable jumpstacks * ARC cycle detector: non-recursive algorithm * moved and renamed core/ files back to system/ * refactoring: --gc:arc vs --gc:orc since 'orc' is even more experimental and we want to ship --gc:arc soonish
* Fixes #12883 (#12894)cooldome2019-12-131-1/+34
| | | | | | | | | | * fixes #12883 * fix comment * add normalize * fix
* fixes #12882 (#12889)cooldome2019-12-131-0/+18
| | | | * fixes #12882
* ARC: fixes cycle detection and move the .cursor attribute into closures (#12872)Andreas Rumpf2019-12-111-0/+54
|
* ARC: yet another bugfix (#12871)Andreas Rumpf2019-12-101-0/+11
|
* fixes #12827 (#12829) [backport]cooldome2019-12-101-0/+17
|
* fixes #12820 (#12828)cooldome2019-12-091-0/+7
|
* fixes #12821 (#12822)cooldome2019-12-061-0/+16
|
* ARC related bugfixes and refactorings (#12781)Andreas Rumpf2019-12-053-1/+77
|
* fixes #12669Araq2019-11-291-0/+75
|