ringabout
36bf3fa47b
fixes #23556 ; typeinfo.extendSeq generates random values in ORC ( #23557 )
...
fixes #23556
It should somehow handle default fields in the future
2024-05-03 22:29:56 +08:00
ringabout
4d11d0619d
complete std prefixes for stdlib ( #22887 )
...
follow up https://github.com/nim-lang/Nim/pull/22851
follow up https://github.com/nim-lang/Nim/pull/22873
2023-10-30 17:03:04 +01:00
Andreas Rumpf
10c3ab6269
NIR: store sizes, alignments and offsets in the type graph; beginning… ( #22822 )
...
…s of a patent-pending new VM
2023-10-16 00:01:33 +02:00
ringabout
a8d55fdec7
deprecates newSeqUninitialized replaced by newSeqUninit ( #22739 )
...
ref #19727
closes #22586
https://github.com/nim-lang/Nim/issues/22554 needs it to move on.
`newSeqUnsafe` can be introduced later.
2023-09-29 09:38:51 +02:00
ringabout
285cbcb6aa
ref #19727 ; implement setLenUninit for seqsv2 ( #22767 )
...
ref #19727
2023-09-28 18:08:31 +02:00
Amjad Ben Hedhili
b542be1e7d
Fix capacity for const and shallow [backport] ( #22705 )
2023-09-18 22:57:30 +02:00
Amjad Ben Hedhili
325341866f
Make capacity work with refc [backport] ( #22697 )
...
followup of #19771 .
2023-09-13 20:43:25 +02:00
Amjad Ben Hedhili
fbb5ac512c
Remove some unnecessary initialization in seq operations ( #22677 )
...
* `PrepareSeqAdd`
* `add`
* `setLen`
* `grow`
Merge after #21842 .
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2023-09-10 17:36:49 +02:00
Amjad Ben Hedhili
8853fb0775
Make newSeqOfCap not initialize memory. ( #21842 )
...
It's used in `newSeqUninitialized`.
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2023-09-09 21:11:45 +02:00
ringabout
5f13e15e0a
fixes #22664 ; guard against potential seqs self assignments ( #22671 )
...
fixes #22664
2023-09-08 17:05:57 +02:00
Amjad Ben Hedhili
299394d21a
Fix seq.capacity ( #22488 )
2023-08-17 06:38:15 +02:00
Solitude
9ddd768cce
Rename seq.add parameter to be consistent with refc ( #22244 )
2023-07-10 14:27:28 +02:00
Juan Carlos
148ff74c93
Fix #21401 ( #22232 )
2023-07-07 09:18:40 +02:00
metagn
5592d1ef2c
fix nimrtl and nimhcr on arc/orc ( #21814 )
...
* fix/workaround for nimrtl and nimhcr on arc/orc
fixes #21803
* try fix clang, debug linux failure
* just make duplicated procs not rtl
* actual fix for duplicated procs
2023-05-09 20:34:39 +02:00
Andreas Rumpf
79ac242c72
fixes #21780 [backport:1.6] ( #21785 )
...
* fixes #21780 [backport:1.6]
* complete patch
2023-05-04 16:42:04 +02:00
Andreas Rumpf
8a19ac2070
fixes #21393 and misc style changes ( #21419 )
...
* fixes #21393 and misc style changes
* progress
---------
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2023-02-24 09:02:15 +01:00
Andreas Rumpf
3812d91390
alternative, much simpler algorithm for strict func checking ( #21066 )
...
* alternative, much simpler algorithm for strict func checking
* forgot to git add new compiler module
* new spec is incredibly simple to describe
* fixes bigints regression
* typos
* closes #16305 ; closes #17387 ; closes #20863
2022-12-11 16:58:50 +01:00
ringabout
f89ba2c951
add default field support for object in ARC/ORC ( #20480 )
...
* fresh start
* add cpp target
* add result support
* add nimPreviewRangeDefault
* reduce
* use orc
* refactor common parts
* add tuple support
* add testcase for tuple
* cleanup; fixes nimsuggest tests
* there is something wrong with cpp
* remove
* add support for seqs
* fixes style
* addd initial distinct support
* remove links
* typo
* fixes tuple defaults
* add rangedefault
* add cpp support
* fixes one more bugs
* add more hasDefaults
* fixes ordinal types
* add testcase for #16744
* add testcase for #3608
* fixes docgen
* small fix
* recursive
* fixes
* cleanup and remove tuple support
* fixes nimsuggest
* fixes generics procs
* refactor
* increases timeout
* refactor hasDefault
* zero default; disable i386
* add tuples back
* fixes bugs
* fixes tuple
* add more tests
* fix one more bug regarding tuples
* more tests and cleanup
* remove messy distinct types which must be initialized by original types
* add tests
* fixes zero default
* fixes grammar
* fixes tests
* fixes tests
* fixes tests
* fixes comments
* fixes and add testcase
* undo default values for results
Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com >
2022-10-04 12:45:10 +02:00
Juan Carlos
ebb1b7af23
RFC-460 implemented ( #19771 )
...
* RFC-460 implemented
* RFC-460 implemented
* RFC-460 implemented
* Fix dumb GitHub autoupdate on changelog
2022-09-21 10:37:13 +02:00
flywind
b936bfd01a
fix #16458 ; make useNimRtl compile for --gc:orc ( #19512 )
...
* fix #16458 ; make useNimRtl compile for --gc:orc/arc
* fix tests
2022-02-11 11:16:27 +01:00
Andreas Rumpf
309ec7167e
fixes .raises inference for newSeq builtin under --gc:orc [backport] ( #19158 )
2021-11-16 15:49:04 +01:00
Andreas Rumpf
fce89cb60a
fixes another effect inference bug [backport:1.6] ( #19100 )
...
* fixes another effect inference bug [backport:1.6]
2021-11-07 16:38:02 +01:00
Andreas Rumpf
53935b8b27
ARC: fixes memory leaks with newSeq used in a loop [backport:1.4] ( #18040 )
...
* ARC: fixes memory leaks with newSeq used in a loop [backport:1.4]
* Update tests/arc/tnewseq_legacy.nim
2021-05-18 21:45:37 +02:00
cooldome
0956a99537
ARC now capable of custom extra alignment. Ref, closure and seq support. ( #15697 )
2020-10-28 14:00:49 +01:00
cooldome
833035bacd
arc allocation method aligned ( #15588 )
...
* progress
* fix typo
2020-10-19 14:50:06 +02:00
Andreas Rumpf
fd31e8ff6f
allow old styled RTTI for arc/orc ( #15331 )
2020-09-16 14:57:01 +02:00
Clyybber
282128ab66
Fix #14994 ( #14996 )
...
* Fix #14994
* Revert misplaced "optimization"
* Typo
2020-07-15 23:33:58 +02:00
Clyybber
4a1128d16c
Move wasMoved out of =destroy
2020-07-10 13:36:02 +02:00
Andreas Rumpf
e31ac81899
more checking for --gc:arc, no need for valgrind ( #14467 )
...
* sigmatch: removed dead code
2020-05-29 12:08:17 +02:00
Andreas Rumpf
67d71bb76d
fixes #14038
2020-04-20 23:44:29 +02:00
Arne Döring
4005f0d0e4
forward type alignment information to seqs ( #12430 )
2020-04-19 07:52:01 +02:00
Andreas Rumpf
6efac70181
make goto based exceptions available for 'nim cpp' ( #13244 )
...
* make goto based exceptions available for 'nim cpp'
* optimize seq.add to be comparable to C++'s emplace_back
2020-01-25 20:00:13 +01:00
Ico Doornekamp
b68eb1cad0
Removed lib/system/allocators.nim. seqs_v2 and strs_v2 now uses 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
2020-01-23 14:25:22 +01:00
Andreas Rumpf
a5e67071d2
ARC: misc bugfixes ( #13156 )
...
* fixes #13102
* closes #13149
* ARC: fixes a move optimizer bug (there are more left regarding array and tuple indexing)
* proper fix; fixes #12957
* fixes yet another case object '=' code generation problem
2020-01-15 22:13:31 +01:00
Andreas Rumpf
83a736a34a
ARC: cycle detector ( #12823 )
...
* 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
2019-12-17 17:37:50 +01:00