66 Commits

Author SHA1 Message Date
Sergey Pepyakin
b50a5a1a1e Adapt runner 2017-12-11 13:59:54 +01:00
Sergey Pepyakin
987fffb6c3 TableInstance is specialized for any func 2017-12-09 15:32:19 +01:00
Sergey Pepyakin
29613aef9c Use new validation. 2017-12-01 20:08:42 +03:00
Sergey Pepyakin
5b921b6cf9 Reimpl vanilla validator 2017-12-01 20:06:43 +03:00
Sergey Pepyakin
0feed2fa21 Refactor 2017-12-01 19:45:48 +03:00
Sergey Pepyakin
4cf6bf6868 Implement functions checking 2017-12-01 19:27:36 +03:00
Sergey Pepyakin
13920517ad Fix tests. 2017-12-01 15:36:56 +03:00
Sergey Pepyakin
040cbb5056 Validator extracted. 2017-12-01 15:35:16 +03:00
Sergey Pepyakin
17facb529b Rename env → base. 2017-11-27 16:22:00 +03:00
Sergey Pepyakin
5b9e1f04ba Remove E: UserError everywhere 2017-11-25 22:55:45 +03:00
Sergey Pepyakin
6a3b9af597 Initial sketch 2017-11-25 22:28:15 +03:00
Sergey Pepyakin
c4245d584e Move signature checking into export_entry
Looking at the tests it seems that signature checking is expected to be done by `export_entry`. But in fact if signatures don't match, `export_entry` delegates to it's `env` field, which will usually should return `Error::Function` since there is no function registered with a such name.

This change set should fix that.
2017-11-23 13:49:03 +03:00
Svyatoslav Nikolsky
39be2717c9 removed 'AbsenceMismatch' test 2017-09-04 12:25:23 +03:00
Svyatoslav Nikolsky
a85162dcd1 added memory/table import limits validation 2017-09-04 12:00:01 +03:00
fro
f06daece56 comments update + remove empty space 2017-08-23 16:10:54 +03:00
Svyatoslav Nikolsky
7deee2c46b CustomUserError -> UserError 2017-08-01 16:15:08 +03:00
Svyatoslav Nikolsky
9437b7bdfc merge 2 error enums 2017-08-01 14:44:33 +03:00
Svyatoslav Nikolsky
a02fdf5836 return custom user errors from native functions 2017-08-01 13:16:25 +03:00
Svyatoslav Nikolsky
8eee595e77 native globals 2017-07-31 11:58:24 +03:00
Svyatoslav Nikolsky
548e6ebbf9 all globals, exported from env are non-mutable 2017-07-28 11:01:27 +03:00
Svyatoslav Nikolsky
2f73f02831 instantiate env module 2017-07-25 15:26:31 +03:00
Svyatoslav Nikolsky
aad4dfa67e cache internals 2017-06-28 11:03:01 +03:00
Svyatoslav Nikolsky
6aec26e0ff get rid of function labels clone 2017-06-26 12:28:21 +03:00
Svyatoslav Nikolsky
4b3f67e3cc function_type returns type reference 2017-06-26 11:54:34 +03:00
Svyatoslav Nikolsky
a8e13030ec removed panics && lifetimes 2017-06-23 14:11:09 +03:00
Svyatoslav Nikolsky
8209ff7d6d use ModuleInstance methods for validation 2017-06-23 10:39:31 +03:00
Svyatoslav Nikolsky
c944b4c91e simplify else validation 2017-06-23 09:53:05 +03:00
Svyatoslav Nikolsky
4b61e18929 plain instruction set draft 2017-06-22 17:52:05 +03:00
Svyatoslav Nikolsky
08c8bf330e TableElementType 2017-06-21 11:35:09 +03:00
Svyatoslav Nikolsky
9949706e7c fixed shr && shl in dev configuration 2017-06-19 13:55:53 +03:00
Svyatoslav Nikolsky
6befd68098 Merge branch 'master' into tests_finish 2017-06-19 13:43:21 +03:00
Svyatoslav Nikolsky
8a17a012c5 cleaning 2017-06-19 12:35:17 +03:00
Svyatoslav Nikolsky
7bd7c6df98 cleanup 2017-06-19 12:04:16 +03:00
Svyatoslav Nikolsky
8d7d39d80b call && call_indirect are working 2017-06-19 11:01:59 +03:00
Svyatoslav Nikolsky
0fc044cb5a flush 2017-06-16 12:23:49 +03:00
Svyatoslav Nikolsky
669fdf1ed1 getting rid of calls recursion (continue) 2017-06-15 12:12:21 +03:00
NikVolf
352b218dbc func index in mapped error 2017-06-14 12:26:19 +03:00
Svyatoslav Nikolsky
b8405955c1 get rid of block-level recursion 2017-06-13 17:16:38 +03:00
Svyatoslav Nikolsky
7bc0f8a068 comments 2017-06-13 13:36:37 +03:00
Svyatoslav Nikolsky
0ee2826943 another tests added 2017-06-13 12:01:59 +03:00
Svyatoslav Nikolsky
c8614bf6fe next potion of tests added 2017-06-09 12:13:35 +03:00
Svyatoslav Nikolsky
0cb48d7730 module level validation 2017-06-08 10:49:32 +03:00
Svyatoslav Nikolsky
f0ecdc5af2 instructions validator 2017-06-07 14:48:02 +03:00
NikVolf
a080b42db0 fix also functions_section -> function_section 2017-06-03 23:37:36 +03:00
Dan Gohman
7e63159a1b Move FunctionContext::new's call to push_frame to Interpreter::run_function.
This makes it more consistent with run_block and others, and also means
that FunctionContext::new doesn't need to be passed the function body
and doesn't need to return a Result, which simplify its users.
2017-06-02 09:22:03 -07:00
Robert Habermeier
8b14e9fdda make unsafe more safe 2017-05-31 18:44:52 +02:00
Svyatoslav Nikolsky
a0bfa322c6 UserFunctionExecutor 2017-05-19 09:36:50 +03:00
Svyatoslav Nikolsky
977df55323 NativeModuleInstance 2017-05-18 15:08:55 +03:00
NikVolf
b7ff4d92d4 simple user function 2017-05-15 15:40:08 +03:00
Svyatoslav Nikolsky
fb14751864 continue env 2017-05-04 19:50:48 +03:00