ringabout
b5f64f55d0
fixes #16790 ; fixes #19075 ; put big arrays on the constant seqs; don't inline them in the VM; big performance boost ( #21318 )
...
* don't inline arrays in VM
* add a test for #19075
2023-01-31 19:22:10 +01:00
ringabout
07be1791ba
fix #21045 ; getTime with vmopsDanger is broken; alternative to #21054 ( #21056 )
...
* fix #21045 getTime with vmopsDanger is broken; alternative to #21054
* typo
2022-12-10 18:57:19 +01:00
ringabout
600b3a91ab
fixes regression #20746 ; remove string copies for ORC booted compiler ( #20776 )
...
* fixes #20746 ; remove string copies for ORC booted compiler
* add a test case
* use `cursor` thanks to @beef331
* for old compilers
* change file extension
* change test cases
2022-11-07 14:36:43 +01:00
ringabout
a228e331f3
fixes regression #17121 ; adding doc comment in importc proc makes it silently noop at CT ( #20766 )
...
* fixes regression #17121 ; adding doc comment in importc proc makes it silently noop at CT
* Update compiler/vmgen.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2022-11-06 22:25:55 +08:00
ringabout
4b377b07fc
fixes #19201 ; fixes sink causes crash in VM ( #20658 )
2022-10-25 20:08:36 +02:00
Jason Beetham
da0a2fdca2
Unpack mSlice tupleconstr for static openarrays ( #20615 )
2022-10-22 06:37:23 +02:00
ringabout
1db25ffcd3
closes #19969 ; add testcase for #19969 #15952 #16306 ( #20610 )
...
closes #19969 ; add testcase
2022-10-21 13:38:40 +08:00
Jason Beetham
4aa67ad7fd
Implemented mSlice on the VM allowing toOpenArray to work at compile time. ( #20586 )
...
* Implemented opcSlice to make 'toOpenArray' work on the VM
* Added nkOpenArray for VM to reduce bodgeness
* Fixed range issues and erraneous comments
* Range check correctly for openArrays in opcLdArr
* Inverted logic for ldArr checking
* vm now supports slicing strings
* Added string tests
* Removed usage of 'nkOpenArray' and redundant operations
* Refactored vmSlice implementation, removing redundant and incorrect code
* Made tuples go throw opcWrObj for field assignment
* All strkinds should be considered for openarrays
2022-10-20 23:59:57 +02:00
ringabout
5602183234
'lock levels' are deprecated, now a noop ( #20539 )
...
* 'lock levels' are deprecated, now a noop
* fixes tests
2022-10-11 09:17:09 +02:00
ringabout
a132f5502a
closes #12994 ; add testcase ( #20511 )
2022-10-08 00:27:17 +08:00
metagn
919a889ba8
moderate system cleanup & refactor ( #20355 )
...
* system refactor, move out 600 lines
* compilation, slice, backwardsindex, misc_num moved out of system
* some procs/types moved into arithmetics, basic_types
* system no longer depends on syncio
* some procs moved around to fit with their surroundings
* make exceptions an import, old ops to misc_num
* move instantiationInfo back
* move back nim version, fix windows echo
* include compilation
* better docs for imported modules, fix unsigned ops
also remove ze, ze64, toU8, toU16, toU32 with nimPreviewSlimSystem
* fix terminal
* workaround IC test & weird csize bug, changelog
* move NimMajor etc back to compilation, rebase for CI
* try ic fix
* form single `indices`, slim out TaintedString, try fix IC
* fix CI, update changelog, addQuitProc
* fix CI
* try fix CI
* actually fix CI finally hopefully
* Update lib/system/compilation.nim
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
* update kochdocs
* hopefully fix csize uses for slimsystem
* fix tquit
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2022-09-28 15:28:45 -04:00
ringabout
3dbf2ac946
remove echo statements in tests (part 1) ( #20178 )
...
* remove echo statements
* Update tests/vm/triangle_array.nim
* Update tests/vm/tyaytypedesc.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-08-23 19:28:51 +02:00
flywind
3cb2d7af05
[vm]fixes #15974 #12551 #19464 #16020 #16780 #16613 #14553 #19909 #18641 ( #19902 ) [backport]
...
* revert #12217 since the root problem seems to have been fixed; fix #15974;fix #12551 ; fix #19464
* fix #16020 ; fix #16780
* fix tests and #16613
* fix #14553
* fix #19909 ; skip skipRegisterAddr
* fix #18641
2022-06-22 08:43:58 +02:00
flywind
ab47707586
[semfold] fix #19199 ; properly fold uint to float conversion ( #19890 ) [backport]
...
fix #19199 ; properly fold float conversion
2022-06-13 09:01:40 +02:00
flywind
15e3813d96
add mm to compilesettings; deprecate gc ( #19394 )
2022-01-16 21:10:35 +01:00
flywind
9df195ef58
style usages part one (openarray => openArray) ( #19321 )
...
* style usages (openArray)
* revert doc changes
2022-01-04 13:29:50 +01:00
Andreas Rumpf
f90620fb32
fixes #19198 [backport:1.6] ( #19209 )
...
* fixes #19198 [backport:1.6]
* added a test case
2021-12-04 07:43:20 +01:00
Timothee Cour
5f7db65257
followup #18453 ( #18582 )
2021-07-25 12:55:33 -07:00
Jason Beetham
5386ae75ba
Fixed template const tuple unpacking ( #18562 )
2021-07-23 08:46:13 +02:00
Timothee Cour
ad70a65e0e
fix #18310 system.== in vm for NimNode ( #18313 )
...
* fix #18310 == in vm
* fixup
* fixup
2021-06-21 09:46:31 +02:00
Timothee Cour
6ab911accb
fix tests/vm/tcastint.nim which used non-sensical when defined nimVM (and contained wrong tests) ( #17954 )
2021-05-08 00:27:06 +02:00
Timothee Cour
00bb3c779e
fix https://github.com/timotheecour/Nim/issues/718 : CompileTime is not cached apparently ( #17940 )
2021-05-05 08:41:53 +02:00
Timothee Cour
938c6ac5df
add logging to help investigate why tests/vm/tconst.nim is flaky ( #17934 )
2021-05-04 00:50:06 -07:00
Timothee Cour
78e2d299df
typo: nonexistant => nonexistent ( #17918 )
...
* typo: nonexistant => nonexistent
* fix test (ordering differs because of https://github.com/nim-lang/Nim/issues/17910 )
2021-05-02 00:26:41 +02:00
Timothee Cour
82996aee3f
misc fixes: remove forceConst (obsolete by static), add more runnableExamples to system ( #17896 )
...
* misc fixes
* add runnableExamples for compileOption
* add runnableExamples for runnableExamples
* move tconsteval => tconst
* cleanup
2021-05-01 07:26:52 +02:00
flywind
5c12c711f7
follow up #17518 ( #17726 )
2021-04-15 19:25:35 +02:00
flywind
70a30317f7
fix #16693 : testament spec nimout too lax ( #16698 )
...
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com >
2021-04-04 13:47:28 -07:00
flywind
a5600e49df
close #9622 add testcase ( #17557 )
...
* fix nim js cmp fails at CT
* close #9622 add testcase
2021-03-29 01:40:37 +02:00
flywind
42e895feb1
close #15696 ( #17518 )
2021-03-25 21:20:58 -07:00
Timothee Cour
0cb02fbbee
add overload add(a: var string, b: openArray[char]) ( #15951 )
...
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-03-01 07:51:12 -08:00
Saem Ghani
7c2ac98880
Fixes #17039 - ldObj checks node/nodeAddr access ( #17123 )
...
Checked field expressions, such as an object variant field access results in
occasionally broken address analysis crashing the VM. This guard added here
mimics guarded access in ldObjAddr as well. This is to prevent a crash, while a
fix is devised.
2021-02-23 09:02:06 +01:00
Timothee Cour
cde950e1bc
make copySign for js consistent with other backends ( #16609 )
...
* make copySign work more robustly in js
* improve tests
* improve tests/vm/tcastint.nim
2021-02-22 08:47:00 +01:00
Timothee Cour
4326f743d0
compilesettings: add libpath ( #16997 )
...
* compilesettings: add libpath
* add test
* changelog
* fixup
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2021-02-12 23:50:41 +01:00
Timothee Cour
c17cad0992
close #8015 : const array indexing zeroes data in object variants at runtime ( #16782 )
2021-01-21 11:11:42 +01:00
Timothee Cour
0d0e43469f
fix #14340 ( #16386 )
2021-01-01 22:55:22 +01:00
flywind
6d442a40a6
use doAssert in tests ( #16486 )
2020-12-28 14:13:21 +01:00
Timothee Cour
bc84d9c8cb
[backport => 1.0] fix #16428 vmops now works for generic procs ( #16429 )
...
* fix #16428 vmops now works for generic procs
* remove duplication
2020-12-22 02:05:21 +01:00
Andreas Rumpf
d306a04466
fixes #16069 ; [backport:1.2] [backport:1.4] ( #16115 )
...
* fixes #16069 ; refs https://github.com/nim-lang/RFCs/issues/257 [backport:1.2] [backport:1.4]
* make tests green again
2020-11-24 16:09:00 +01:00
Timothee Cour
b3c3557c33
fix #16025 repr now consistent: does not insert trailing newline ( #16034 )
2020-11-19 12:12:51 -08:00
Andrey R (cooldome)
632af8afad
Revert "follow #16009 VM supports cast nil to ptr ( #16012 )"
...
This reverts commit fec19c980e .
2020-11-17 18:54:33 +00:00
flywind
fec19c980e
follow #16009 VM supports cast nil to ptr ( #16012 )
...
* follow #16009 VM supports cast nil to ptr
* more testcase
2020-11-17 10:47:01 +00:00
flywind
203bddf307
close #11637(add testcase for #11637 ) ( #15879 )
...
* close #11637(add testcase for #11637 )
* Update tests/vm/t11637.nim
2020-11-08 11:02:12 +08:00
flywind
a8af664e8b
fix #15463 ( #15831 )
2020-11-05 14:00:08 +01:00
flywind
5b4c17b5e7
Closure iterators are not supported by VM ( #15818 )
2020-11-02 10:58:14 +01:00
flywind
558115fa29
fixes #15717
2020-11-02 10:27:48 +01:00
Timothee Cour
3bdc000521
[backport] fix #15595 procvar == works in VM ( #15724 )
2020-10-26 22:19:05 +02:00
Timothee Cour
d4c2e2c53f
fix #15704 #15597 wrong VM register was freed ( #15705 )
...
* fix #15704 #15597 wrong VM register was freed
* same treatment for nkCheckedFieldExpr
* note concerning HighRegisterPressure
* bump NimPatch
* Update lib/system.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2020-10-26 09:13:37 +01:00
Timothee Cour
bf894ad3eb
close #8007 ( #15695 )
2020-10-23 23:16:47 +02:00
cooldome
ae320b4e7d
fix #15662 ( #15678 )
...
* fix #15662
* alternative fix
* fix spacing
2020-10-23 11:14:54 +02:00
Danil Yarantsev
d22ab0fb96
Add tests to #15363 ( #15633 )
2020-10-19 13:16:56 +02:00