| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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
* Revert "remove unwanted changes"
This reverts commit 501829732a8e44deef2d815c303859efbe452cb5.
|
| |
|
|
|
|
| |
This reverts commit 928c2fee06bd11a0901c5f563b4953788be76ae6.
|
| |
|
| |
|
|
|
|
|
|
| |
* fixes #12899
* fixes regression: destroy global variables in reverse declaration order, closureleak test relies on it
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
* fix comment
* add normalize
* fix
|
|
|
|
| |
* fixes #12882
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
tuple unpackaging are not owning the data"
This reverts commit 8b2f8f5430e8c328efe5bce94e397f15e3c501af.
|
|
|
|
| |
unpackaging are not owning the data
|
| |
|
|
|
|
|
| |
* ARC: bugfix for =destroy for inherited objects
* added code useful for debugging
|
|
|
|
|
|
|
|
| |
* ARC: closure bugfixes
* progress
* ARC closures: create =hooks for captured parameters
* ARC: always destroy constructions like tuples, arrays properly, even in edge cases
* fixes a regression
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|