| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
code compatibility (#15105)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* WIP: an optimizer for ARC
* do not optimize away destructors in 'finally' if unstructured control flow is involved
* optimized the optimizer
* minor code cleanup
* first steps to .cursor inference
* cursor inference: big steps to a working solution
* baby steps
* better .cursor inference
* new feature: expandArc for easy inspection of the AST after ARC transformations
* added topt_cursor test
* adapt tests
* cleanups, make tests green
* optimize common traversal patterns
* moved test case
* fixes .cursor inference so that npeg compiles once again
* cursor inference: more bugfixes
Co-authored-by: Clyybber <darkmine956@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* injectdestructors fixes and refactor
* Tiny cleanup
* Refactor and expand testcase
* Closes #14902 by adding testcase
* Better naming
* Fix test failures
* Misc cleanup
* Add testcase for #14968
* Better approach; expand testcases
* Optimizations and fixes
* Add testcase
* typo
* Tiny cleanup
|
| |
|
| |
|
|
|
|
|
|
|
| |
* fixes the regressions
* closes #13936
* scope based memory management implemented
* enabled tcontrolflow.nim test case
* final cleanups
|
|
|
|
|
|
|
|
|
| |
* Fix #14647
* Correct fix
* Typo and add test
* For real now :p
|
|
|
|
|
| |
* Add testcase for #11811
* Add testcase for #14315
|
|
|
|
|
|
|
| |
* Fix #14568
* Add testcase
* Fix bogus test
* Adapt other failing tests
* Declarations are always first writes
|
|
|
|
|
| |
* fix #14421 items uses lent T for seq + openArray
* add -d:nimWorkaround14447
* fix test
|
| |
|
|
|
|
|
| |
* Small improvements for string and char repr with gc:arc
* Fix test
|
|
|
|
|
|
|
| |
* fix #14294
* fix orc as well
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
|
|
|
|
| |
* fix #14217
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
| |
|
|
|
|
|
|
|
|
|
| |
* fixes #14054
* make tests green again
* more tests are green
* maybe now
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
| |
* cycle collector: new implementation
* cycle collector: make self-adaptive based on its previous effectiveness
* cycle collector: added Lins's jump stack to improve traversal from 3*N to 2*N
* cycle collector: make tests green
* API extensions and bugfixes
* code cleanup and use --gc:orc for tasyncawait
|
|
|
|
|
| |
* add test
* add changelod entry
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
(#13677)
* rewritten goto based exception handling; much cleaner implementation; fixes #13668
|
|
|
|
|
| |
* fixes #13659
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
|
|
|
|
|
|
| |
* fixes #12747
* fix tests
* improve code style
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* progress on repr_v2
* repr progress
* add ref objects with distrinct
* fix failing tests
|
| |
|
|
|
|
| |
nimAllocStats (#13247)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
* extra fix
* fix typo
|
|
|
|
| |
This reverts commit cd7904f2b29e623998a1d32ee726d000f56fc5ce.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* arc codegen for union type
* add more tests
* fix offsetof
* fix tsizeof test
* fix style
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* make sink operator optional
* bug fix, add changelog entry
* Trigger build
* fix one regression
* fix test
* Trigger build
* fix typos
|
|
|
| |
fixes #13029
|
| |
|
|
|
|
|
| |
* fixes #13119
* fixes a regression
|
|
|
|
|
|
| |
* improve line error information
* fixes #13112
|
|
|
|
|
| |
* config update
* ARC now supports 'repr' and 'new' with finalizers is supported
|
| |
|
| |
|
| |
|
| |
|
| |
|