Commit Graph

4705 Commits

Author SHA1 Message Date
Andreas Rumpf
8ba7e7d807 toy program works with incremental compilation 2018-06-07 18:24:16 +02:00
Yuriy Glukhov
60b9c9dc1f Fixes #7985 2018-06-07 19:14:14 +03:00
Yuriy Glukhov
29a01da90f Fixes #7982 2018-06-07 17:17:07 +03:00
Emery Hemingway
22f714585b Native access to Genode environment
Add a 'GenodeEnv' type and a 'componentConstructHook' to the system
module. The 'componentConstructHook' allows for detection of POSIX style
programs that exit implicitly or native Genode components that
initialize to serve RPC requests and OS signals.

This hook takes a 'GenodeEnv' argument so that the environment interface
is passed cleanly to application code after globals are initialized.
This is an typed pointer to a C++ object, procedures for accessing the
environment will be available from a Nimble library and not included in
the standard library.

The standard library has an internal pointer to the environment object
but this is not for external use, the undocumented global environment
pointer has been removed.
2018-06-07 07:21:20 +02:00
cooldome
e03b3bdde7 fixes 7980 2018-06-06 23:41:19 +01:00
Yuriy Glukhov
fef60716bf Fixed yield in nkBlockExpr 2018-06-07 00:15:46 +03:00
Andreas Rumpf
bf394ed1a1 Merge pull request #7550 from jangko/fix4799
fixes #4799, varargs now can accept polymorphic types
2018-06-06 22:04:54 +02:00
Yuriy Glukhov
0ec2b33c50 Fixed yield in dotExpr and nkOfBranch lowering. Closes #7969. 2018-06-06 16:35:40 +03:00
Andreas Rumpf
e957d369b1 Merge pull request #7907 from GULPF/lexer-unicode-fix
Lexer fix for multi byte characters
2018-06-06 11:42:59 +02:00
Andreas Rumpf
1593b9cac4 Merge pull request #7967 from nitely/empty_openarray_7904
support empty toOpenArray
2018-06-06 11:06:57 +02:00
nitely
ba39f359aa check bounds instead of index 2018-06-05 20:22:27 -03:00
Yuriy Glukhov
44589e9ca8 Cosmetics 2018-06-05 22:47:07 +03:00
Andreas Rumpf
3cbc07ac78 Merge pull request #7770 from yglukhov/yield-in-try
Yield in try
2018-06-05 19:58:00 +02:00
andri lim
80107b360c add more test to 4799 2018-06-05 09:18:20 +07:00
andri lim
069a53ad4b fixes #7906, array and openarray arg vs. ptr/ref generic (#7909)
* fixes #7906, array and openarray arg vs. ptr/ref generic

* add comment
2018-06-04 17:43:15 +02:00
Andreas Rumpf
12996c08a1 fixed merge conflict 2018-06-04 16:16:50 +02:00
Oscar Nihlgård
440212a154 Fix for newStringOfCap in VM (#7901) 2018-06-04 13:38:26 +02:00
WhiteDuke
59ba1e77af Wait until the end to print hint Conf (#7931) 2018-06-04 13:31:22 +02:00
Andreas Rumpf
2e9d486378 wip 2018-06-04 11:59:02 +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
9ab92824f6 AST change: keep nkStaticStmt in the AST for incremental compilation support 2018-06-03 20:16:29 +02:00
Andreas Rumpf
1ed7751dac added btrees.contains 2018-06-03 20:15:37 +02:00
Andreas Rumpf
9d27079606 support iteration over BTrees for the compilation cache 2018-06-03 12:37:03 +02:00
Oscar Nihlgård
fd28236368 Multi byte characters should not be treated as part of an operator 2018-06-03 09:05:50 +02:00
Andreas Rumpf
826c1e2d78 incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
Andreas Rumpf
cae1973856 document how the incremental compilation scheme could work 2018-06-01 22:11:32 +02:00
Oscar Nihlgård
eb8f15d97c Support multi byte characters in module names (#7916) 2018-05-31 10:38:43 +03:00
Andreas Rumpf
61fb83ecbb baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
Andreas Rumpf
a36c779f39 incremental compilation subsystem compiles again 2018-05-30 20:27:41 +02:00
Andreas Rumpf
31d9df9e75 runnableExamples: use the self exe to test the examples 2018-05-30 11:34:03 +02:00
Andreas Rumpf
ddc6cec69e refactoring: move DB model to incremental.nim 2018-05-30 10:15:41 +02:00
andri lim
25a41d5d90 fixes #7818, correct internal representation of generic objects array construction (#7824)
* defer skiptypes
* defer skiptypes for tyRef & tyPtr
* remove unneeded skipTypes
2018-05-29 09:38:52 +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
a5701d6b71 ensure compiler API doesn't import the RST engine 2018-05-29 08:22:09 +02:00
Andreas Rumpf
06122ff711 rewrote nimeval.nim; added tcompilerapi example to show how the compiler can be used as an API 2018-05-29 01:18:50 +02:00
Andreas Rumpf
ae1f6895fa active.nim: fixes the import path so that compilation with --noNimblePath works 2018-05-29 00:55:31 +02:00
Andreas Rumpf
b92fcacb99 more compiler API cleanups 2018-05-28 23:48:25 +02:00
Andreas Rumpf
5ad1acc60c remove the last global variables in the C code generator 2018-05-28 18:18:43 +02:00
Andreas Rumpf
e5281f9356 rename 'nimrodVM' to 'nimVM' 2018-05-28 18:01:56 +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
db4bcd80e5 jsgen refactoring: use graph.backend field instead of a global variable 2018-05-28 12:24:18 +02:00
Andreas Rumpf
006ee79a91 make dependency analyser free of global variables 2018-05-28 00:04:55 +02:00
Andreas Rumpf
73799903ee removed global variable from rstgen.nim 2018-05-27 23:38:49 +02:00
Andreas Rumpf
c640bd2d1b cleanup compiler/prettybase to not use redudant global variables 2018-05-27 22:52:10 +02:00
Andreas Rumpf
545b1582cd refactoring: make projectMainIdx typesafe 2018-05-27 22:30:36 +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
a325692fb2 refactoring: fewer global variables 2018-05-27 19:19:12 +02:00
Andreas Rumpf
18a3833d60 more refactoring 2018-05-27 15:22:17 +02:00