LemonBoy
44c04b3571
Object downconversion in VM should not copy ( #10378 )
...
Hopefully the type-check phase already rejected all the invalid
conversions by the time we execute the VM bytecode.
Problem reported by chrisheller on the Nim Forum
2019-01-22 07:36:40 +01:00
Oscar Nihlgård
a4cdd25b19
Support system.reset in vm ( #10400 )
2019-01-21 17:00:33 +01:00
Timothee Cour
beed27b75d
improve vmgen.codeListing formatting ( #10306 )
...
* improve vmgen.codeListing formatting
* address comments
2019-01-15 19:02:01 +01:00
Araq
0c10fc67eb
fixes #10104
2019-01-13 14:09:13 +01:00
Timothee Cour
bf3a308e86
[error messages, stacktraces] fix #8794 #9270 #9767 #9768 ( #9766 )
...
* fixes #8794 : `Error: undeclared field: 'foo'` should show type (+ where type is defined) (hard to guess in generic code)
* fixes #9270 : `--listFullPaths` not honored by `declared in foo.nim` messages
* fixes #9767 : VM stacktrace doesn't honor --excessiveStackTrace:on
* fixes #9768 : VM stacktrace misses column info, can lead to ambiguous or harder to read stacktraces
* refactors some col+1 code to col + ColOffset (self documents code)
* make getProcHeader show declared info location also for types and all routine kinds (including macros,templates) instead of just (rather arbitrarily) for iterator,proc,func,method
* --listFullPaths now is honored in more places
* fix typo system/except.nim => lib/system/excpt.nim
* remove substr(foo, 0) hack in compiler/vm.nim which seems old and not applicable anymore
2019-01-08 15:58:47 -08:00
Timothee Cour
f838b1e6c1
fix #9872 : setLen now works properly at CT [backport]
2018-12-08 14:33:42 -08:00
cooldome
086676782a
Add isInstanceOf for generic procs to the macros module ( #9730 )
2018-11-21 21:30:03 +01:00
cooldome
8c1083d3b7
Of operator in vm fixes [backport] ( #9717 )
...
* fixes #9701
* fixes #9702
* optimize of statement to bool
2018-11-15 13:03:42 +01:00
Andreas Rumpf
24902394f7
VM: don't inject destructor calls, refs #7041
2018-11-06 19:36:39 +01:00
Andrii Riabushenko
a54e0703a9
Add test
2018-10-24 20:29:51 +01:00
Andrii Riabushenko
a7c9533a73
Add int float casts to vm
2018-10-24 11:24:23 +01:00
cooldome
eaca5be9d6
Change the order of compilation passes, transformation is made lazy at code gen ( #8489 )
...
* Ast no transformation
* Add getImplNoTransform to the macros module
* progress on delaying transf
* Fix methods tranformation
* Fix lazy lambdalifting
* fix create thread wrapper
* transform for lambda lifting
* improve getImplTransformed
* Fix destructor tests
* try to fix nimprof for linux
2018-10-18 20:21:25 +02:00
LemonBoy
b97a7dbf3d
Make the registered passes local to the ModuleGraph ( #9259 )
...
Closes #9068
2018-10-09 19:24:02 +02:00
LemonBoy
027cc5013e
Fix error during field access in VM
...
Tuple constructors can't have nkExprColonExpr but may contain NimNodes
of that kind.
Fixes #4952
2018-09-17 18:52:40 +02:00
cooldome
e63c66b810
Add sym owner to macros ( #8253 )
2018-09-03 13:25:59 +02:00
Araq
7278f28740
fixes the remaining fixable Nimrod->Nim renamings; closes #2032
2018-09-03 09:34:31 +02:00
Araq
cfbf9dcc59
fixes #8740
2018-09-03 09:06:52 +02:00
LemonBoy
5cd152bfda
Allow hint and warning to specify its loc info ( #8771 )
...
Let's bring those to feature-parity with `error`.
2018-08-28 22:59:28 +02:00
cooldome
d5e1d102df
fixes 8754 ( #8755 )
...
* fixes 8754
* improve test
2018-08-24 09:57:38 +02:00
Araq
64517445ea
even more strict isNil handling for strings/seqs in order to detect bugs
2018-08-22 12:35:46 +02:00
andri lim
4d5cce9882
fixes #6255 , add system.ashr arithmetic right shift ( #8547 )
2018-08-07 18:41:30 +02:00
andri lim
6e3d1dced5
fixes #5617 , 'copyLineInfo' addition ( #8523 )
2018-08-05 23:38:21 +02:00
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
Timothee Cour
818d9be311
lineInfoObj (and check, expect) now return absolute paths (#8466 )
2018-07-31 23:02:04 +02:00
Oscar Nihlgård
931273cc6b
Fix ref bug in vmgen ( #8424 )
2018-07-30 22:28:24 +02:00
Andreas Rumpf
2e3f477957
VM: accessing the string terminator is not allowed anymore; cleanup tests/system/tostring.nim
2018-07-17 18:22:20 +02:00
Oscar Nihlgård
7ae9c4358e
Fix vm regression ( #8163 )
2018-06-30 13:38:52 +02:00
Oscar Nihlgård
d146045ed5
Fixes #6689 ( #8135 )
2018-06-30 09:16:46 +02:00
Oscar Nihlgård
ae69e571e1
VM regression fixes ( #8146 )
2018-06-29 16:00:53 +02:00
Oscar Nihlgård
236bc06b5f
Improve vm support for ref types
2018-06-26 21:25:27 +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
826c1e2d78
incremental compilation: implemented basic replay logic
2018-06-02 09:41:27 +02:00
Andreas Rumpf
688c54d8f1
compiler API: final cleanups; improve security by diabling 'gorge' and friends
2018-05-29 09:07:24 +02:00
Andreas Rumpf
382bc34f93
vm now free of global variables
2018-05-28 14:41:49 +02:00
Andreas Rumpf
5d45e630c5
vm.nim: evalMacroCounter is not a global variable anymore
2018-05-28 13:57:16 +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
cb6a4ffa86
Merge branch 'devel' into araq-big-refactoring
2018-05-21 17:31:23 +02:00
coffeepots
43b1ac07d4
Fix typo in "out of bounds" error message
2018-05-18 18:37:28 +01: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
Araq
5526252fa0
fixes testament compilation
2018-05-14 17:45:44 +02:00
Andreas Rumpf
297038f704
move more globals into the config object
2018-05-13 14:19:42 +02:00
Andreas Rumpf
ce859d8c16
more modules compile again
2018-05-12 16:35:59 +02:00
Andreas Rumpf
05724645f8
more modules compile again
2018-05-12 11:58:44 +02:00
Oscar Nihlgård
7cf87dfac6
VM fix for refs
2018-05-08 17:00:00 +02:00
Andreas Rumpf
b7116a28ee
compiler refactoring, pass config around explicitly
2018-05-05 18:47:29 +02:00
Andreas Rumpf
14046d975d
make tests green again
2018-04-21 17:01:33 +02:00