summary refs log tree commit diff stats
path: root/compiler/vmgen.nim
Commit message (Collapse)AuthorAgeFilesLines
* move asciitables to std/private/ (#16498)flywind2020-12-291-1/+1
| | | | | * move asciitables * minor
* fix #16469 vm float constants: do not conflate -0.0 and 0.0 (#16470)Timothee Cour2020-12-271-1/+6
| | | | | * fix #16469 vm float constants: do not conflate -0.0 and 0.0 * fix test for 32bit
* [backport => 1.0] fix #16428 vmops now works for generic procs (#16429)Timothee Cour2020-12-221-10/+2
| | | | | * fix #16428 vmops now works for generic procs * remove duplication
* [docs minor]space for code-block (#16266)flywind2020-12-061-1/+1
| | | | | | | | | * [docs minor]space for code-block * correct more errors * to runnableExamples * add newline
* fixes #15939, fixes #15464, fixes #16169, fixes #16226 VM now supports ↵Timothee Cour2020-12-031-4/+6
| | | | | | | | | `addr(mystring[ind])` (index + index assignment) (#15987) * fix #15939, fix #15464 VM now supports `addr(mystring[ind])` (index + index assignment), var char return etc * cleanups * cstring tests * add test for bug #15464 * improve test coverage
* combine PR#16009 and PR#16012 (#16024)flywind2020-11-181-0/+5
| | | | | | | | * fix #15623 * add testcase for #15623 * add testcase * combine #16009 * support casting nil to NilableTypes in VM
* Revert "follow #16009 VM supports cast nil to ptr (#16012)"Andrey R (cooldome)2020-11-171-3/+0
| | | | This reverts commit fec19c980e36e62747eb119f0740cb785e858ac3.
* follow #16009 VM supports cast nil to ptr (#16012)flywind2020-11-171-0/+3
| | | | | * follow #16009 VM supports cast nil to ptr * more testcase
* fix #15463 (#15831)flywind2020-11-051-1/+1
|
* Closure iterators are not supported by VM (#15818)flywind2020-11-021-0/+2
|
* fixes #15717flywind2020-11-021-0/+2
|
* fix #15704 #15597 wrong VM register was freed (#15705)Timothee Cour2020-10-261-2/+4
| | | | | | | | | | | | | * 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>
* explicit ID generation for easier IC (#15559)Andreas Rumpf2020-10-251-3/+3
| | | | | | | | | | | | | | | | | * refactoring: idents don't need inheritance * refactoring: adding an IdGenerator (part 1) * refactoring: adding an IdGenerator (part 2) * refactoring: adding an IdGenerator (part 3) * refactoring: adding an IdGenerator (part 4) * refactoring: adding an IdGenerator (part 5) * refactoring: adding an IdGenerator (part 5) * IdGenerator must be a ref type; hello world works again * make bootstrapping work again * progress: add back the 'exactReplica' ideas * added back the missing exactReplica hacks * make tcompilerapi work again * make important packages green * attempt to fix the build for 32 bit machines (probably need a better solution here)
* [minor] nimVMDebug: fix codeListing formatting for jump-to-file to work (#15711)Timothee Cour2020-10-251-1/+1
|
* fix #15662 (#15678)cooldome2020-10-231-17/+15
| | | | | | | * fix #15662 * alternative fix * fix spacing
* const view types; fixes some cases from ↵Andreas Rumpf2020-10-051-1/+1
| | | | https://github.com/nim-lang/Nim/issues/15428 (#15488)
* fix warnings for deprecated `low` and `high` (#15291)Miran2020-09-111-1/+1
|
* Big compiler Cleanup (#14777)Clyybber2020-08-281-17/+4
|
* 'isolate' builtin; refs https://github.com/nim-lang/RFCs/issues/244 (#15011)Andreas Rumpf2020-07-201-1/+1
|
* remove tyOpt, mOpt (#14636)Timothee Cour2020-06-121-2/+0
| | | | | * remove tyOpt, mOpt * fixup
* CT sizeof(+friends) for {.importc, completeStruct.} types, enable ABI static ↵Timothee Cour2020-04-231-3/+6
| | | | | | | | | | | checks (#13926) * -d:checkabi obsolete (ABI check now enforced); add `addTypeHeader` helper * cleanups * import sizeof at CT for {.completeType.} * address comments; revert default enabling of -d:checkAbi for now * mimportc_size_check.nim => msizeof5.nim; merge mabi_check.nim into msizeof5.nim; refactor * all pragmas in errmsgs should be written: '.importc' (un-ambiguous and less verbose than {.importc.})
* fix operators containing percent for VM usage (#13536)Arne Döring2020-03-111-2/+2
| | | | * fixes #13513 * merge tarithmetics in tarithm
* Remove dead magics (#13551)Arne Döring2020-03-031-32/+3
|
* EndsInNoReturn in expressions extension, fixes #13490 (#13520)cooldome2020-02-281-2/+0
| | | | * fix #13490
* VM: support importc var, ptr/pointer types, cast int <=> ptr/pointer (#12877)Timothee Cour2020-01-051-4/+30
| | | | | | | | | | | | | | * VM: allow certain hardcoded special var variables at CT * VM: allow all importc var, cast[int](ptr) * fix tests tests/vm/tstaticprintseq.nim, tests/cpp/t8241.nim * VM: == works for ptr/pointer nodes * bugfix: ==, cast now also works for pointer, not just ptr * VM supports cast PtrLikeKinds <=> PtrLikeKinds / int * improve cname handling * fixup + bug fix * VM: support cast from ref to int * address comment: opcLdGlobalDeref => opcLdGlobalDerefFFI * defensive check against typ == nil
* Refactored VM registerlayout. The size and location of the registers in (#12775)Ico Doornekamp2019-11-301-20/+20
| | | | the instructions are now all derived from a single definition, allowing the register layout to be changed.
* fixes #11727 [backport]Araq2019-11-281-2/+7
|
* fixes #12488 [backport]Araq2019-11-281-1/+4
|
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-262/+256
| | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls
* VM: improvements for var T/addr (#12667); fixes #12489Andreas Rumpf2019-11-281-8/+14
|
* fixes #12612 [backport] (#12681)Andreas Rumpf2019-11-191-6/+9
|
* ARC: solves phase ordering problems (#12654)Andreas Rumpf2019-11-141-2/+1
|
* fixes #12547 [backport]Araq2019-10-291-0/+7
|
* VM: fixes register leaks [backport] (#12510)Andreas Rumpf2019-10-251-0/+2
|
* VM: fixes most ran-out-registers problems [backport] (#12485)Andreas Rumpf2019-10-241-19/+38
|
* fixes #12310 [backport] (#12470)Andreas Rumpf2019-10-201-2/+6
|
* fixes #12294 [backport]Andreas Rumpf2019-09-301-1/+0
|
* Fix spellings (#12277) [backport]Federico Ceratto2019-09-271-1/+1
|
* fixes #10981; fixes #7261 (#12217)Andreas Rumpf2019-09-191-1/+4
|
* add nodeId proc to macros (#11456)Arne Döring2019-09-181-0/+2
| | | | | | | | * add nodeId proc to macros * add doc comment. * fix typo
* rename cast opcodes, fix for 32bit cast, fix python pretty printer (#12207)Arne Döring2019-09-181-5/+9
|
* fixes #12195Araq2019-09-171-18/+17
|
* Small ast.nim cleanup (#12156)Clyybber2019-09-091-9/+9
| | | | | * Remove sonsLen * Use Indexable
* Merge branch 'devel' into uint-range-checksAndreas Rumpf2019-09-021-1/+1
|\
| * fix min/max for float numbers (#12068)Arne Döring2019-09-021-1/+1
| |
* | Merge branch 'devel' into uint-range-checksAraq2019-09-021-2/+1
|\|
| * Fix to int to biggest int (#12066)Arne Döring2019-08-271-2/+1
| | | | | | | | | | * fix to(Biggest)Int * kill toFloat magics as well
* | minor stuffArne Döring2019-08-271-10/+4
|/
* int128 on firstOrd, lastOrd and lengthOrd (#11701)Arne Döring2019-08-071-3/+3
| | | | * fixes #11847
* fixes #9829 (#11849)Arne Döring2019-08-041-1/+1
|