Commit graph

355 commits

Author SHA1 Message Date
andri lim
78c0ac5407 fixes #7827, bindSym enhancement (#8499)
* bindSym power up, working prototype

* update bindSym doc

* add bindSym test

* fix some typo

* fix bindSym doc

* get rid of specialops field from vm

* add experimental: dynamicBindSym
2018-08-02 12:56:44 +02:00
Oscar Nihlgård
931273cc6b Fix ref bug in vmgen (#8424) 2018-07-30 22:28:24 +02:00
Yuriy Glukhov
dd06c46865 Fixed uncaught exception in vm gen 2018-06-13 15:39:45 +03:00
Andreas Rumpf
f555338ce8 bugfix: allow 'export' in the VM 2018-06-12 21:08:41 +02:00
Araq
8e9551b1c7 fixex merge conflicts 2018-06-08 19:50:36 +02:00
Oscar Nihlgård
440212a154 Fix for newStringOfCap in VM (#7901) 2018-06-04 13:38:26 +02:00
Andreas Rumpf
268260953c completed VM support for incremental compilations 2018-06-04 01:01:08 +02:00
Andreas Rumpf
b5194f592c WIP: an API for VM replay global state support 2018-06-03 20:18:43 +02:00
Andreas Rumpf
61fb83ecbb baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
Andreas Rumpf
40ec7be45c refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
Andreas Rumpf
669a564492 remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
Andreas Rumpf
a4e2b0c153 platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals 2018-05-18 15:18:00 +02:00
Andreas Rumpf
bf6c2c5ccf preparations of making compiler/msgs.nim free of global variables 2018-05-17 15:21:22 +02:00
Araq
2a7fc84c86 remove ast.emptyNode global; cleanup configuration.nim 2018-05-16 03:06:07 +02:00
Andreas Rumpf
fedc136985 transf and vmgen compile again 2018-05-12 09:38:41 +02:00
alaviss
97056fbb9b fixes #7774 (#7783) 2018-05-06 10:34:22 +02:00
Andreas Rumpf
1aa359febb warn about inconsistent spacing around binary operators; fixes #7582 2018-05-05 14:58:33 +02:00
Andreas Rumpf
f64f9e50cc correct comparisons for nil strings/seqs 2018-04-28 15:13:44 +02:00
Andreas Rumpf
47335aab41 introduce nkTupleConstr AST node for unary tuple construction; breaking change 2018-04-13 17:45:58 +02:00
Jacek Sieka
85e21158db Cleanups 20180401 (#7458) 2018-04-12 17:35:10 +02:00
Arne Döring
6baca58693 Get symbol kind (#7491) 2018-04-11 16:48:01 +02:00
cooldome
c34cb101b8 Fixes #7407 (#7427) 2018-04-06 10:53:21 +02:00
Araq
934bba5255 some progress on #7261; VM does not support the new backwards indexing 2018-02-28 10:13:55 +01:00
Andreas Rumpf
e4081a7201 preparations for language extensions: 'sink' and 'lent' types 2018-01-07 23:09:26 +01:00
Parashurama
41472f0e28 add support cast[integer] in VM 2017-12-30 10:30:40 +01:00
Araq
ee67a67ac4 first steps in adding template/macro calls to stack traces 2017-12-21 10:03:33 +01:00
Andreas Rumpf
14f2578604 fixes crash related to runnableExamples in Nim doc that yet uses the VM 2017-12-09 13:40:08 +01:00
Andreas Rumpf
abec8823aa bugfix: make 'macros' module available for nimscript 2017-11-14 23:26:46 +01:00
Andreas Rumpf
70ea45cdba deprecated unary '<' 2017-10-29 08:37:13 +01:00
Andreas Rumpf
f7f3a25be8 first steps of making 'opt' a first class type for Nim 2017-09-25 13:19:36 +02:00
Andreas Rumpf
1a61c4d46d first implementation of the 'func' keyword 2017-09-23 23:22:53 +02:00
Parashurama
88a5e9d88c Fix operations on string as openarray in VM. (#6257)
* fix openarray.len for string as openArray in VM.
* fix openarray[idx] for string as openArray in VM.
* fix openarray[idx]=val for string as openArray in VM.
* add tests for passing string as openArray in VM.
* fix issue with NimNode.len
NimNode.len was also returning len for string literals.
also fix logic bug in if/elif chain.
2017-09-15 13:35:57 +02:00
Parashurama
4fdf7f2ea3 fix VM intsize for 32bits and smaller targetOS. (#6211)
This commit change the default behaviour of VM int/uint always being
64bits and make int/uint on VM behave identically to compiled code.

This insert 'opcNarrowU' or 'opcNarrow' opcode on Int/Uint operations
when needed to simulate smaller Int/Uint on VM.
2017-08-10 14:34:57 +02:00
Parashurama
f063943d5f Vm fix zero extend proc ze/ze64 && toU32/toU16/toU8 (#5988)
* fixes ze/ze64 procs in VM.
* fixes toU8/toU16/toU32.
* add tests for ze/ze64 toU32/toU16/toU8 procs
2017-08-03 10:58:45 +02:00
Arne Döring
52f092d02b Lineinfo change (#6084) 2017-07-17 08:12:15 +02:00
Parashurama
f603e1b268 fix logical right shift in VM. (#5916) 2017-06-05 17:25:04 +02:00
Zahary Karadjov
cbf66e99a8 Working test cases for the sophisticated matrix library example from the manual
Fixed the dot operator when used within return types (see tgenericdotrettype)
Fixed the matching of generic concepts aliases used with the implicit generics style
2017-03-24 16:59:47 +02:00
Andreas Rumpf
e672208b82 fixes #5221 2017-02-05 09:41:47 +01:00
Andreas Rumpf
c4dd9dc77e fixes #5269 2017-02-05 08:51:43 +01:00
Araq
6f260dd45c make vmgen more robust in the context of 'nim check' 2016-12-31 02:04:27 +01:00
Araq
e6c5622aa7 removed tyArrayConstr completely from the compiler; introduced tyAlias instead in preparation for further bugfixes 2016-11-14 23:18:30 +01:00
andri lim
bd560d6a4e fixes #4915 2016-10-27 12:22:12 +07:00
Andreas Rumpf
2b0e9aa167 fixes regression 2016-08-26 16:48:42 +02:00
Jacek Sieka
3cd4cf4320 remove unused stuff 2016-08-09 22:54:27 +08:00
Andreas Rumpf
4a96a3d9a1 attempt to fix #4065 2016-08-04 19:34:13 +02:00
Andreas Rumpf
39ebe2175b compiler almost free of deprecated expr/stmt names 2016-07-30 16:34:42 +02:00
Andreas Rumpf
60b187513e stdlib and compiler don't use .immediate anymore 2016-07-29 23:51:01 +02:00
Andreas Rumpf
b7c1be03c8 added system.newSeqOfCap for improved efficiency 2016-07-15 17:04:14 +02:00
Andreas Rumpf
8dd27a6699 fixes #2730 2016-07-13 01:06:33 +02:00
Andreas Rumpf
857b0c8d4c fixes #4462 2016-07-08 10:52:04 +02:00