Ilya Rezvov
|
9ca5353b0f
|
extend supported instructions set
|
2018-05-16 14:45:34 -07:00 |
|
Ilya Rezvov
|
edf072ed2a
|
add more generators
|
2018-05-13 15:12:13 -07:00 |
|
Ilya Rezvov
|
5986526167
|
implement more operations for generation
|
2018-05-13 10:37:09 -07:00 |
|
Ilya Rezvov
|
2db6b2db41
|
add if expression form
|
2018-05-13 09:41:29 -07:00 |
|
Ilya Rezvov
|
1330eb41f6
|
start builder api
|
2018-05-12 22:37:50 -07:00 |
|
Ilya Rezvov
|
8ca3319ba4
|
add wasm executable
|
2018-05-10 13:39:43 -07:00 |
|
Ilya Rezvov
|
4601666eab
|
stabilize inline exports extraction algorithm
|
2018-04-26 20:19:19 -07:00 |
|
Ilya Rezvov
|
0a7b417605
|
reduce deep of code
|
2018-04-25 13:47:11 -07:00 |
|
Ilya Rezvov
|
abc546723d
|
reduce code duplication
|
2018-04-25 11:16:41 -07:00 |
|
Ilya Rezvov
|
fc2eb97647
|
use ExceptT transformer to clarify interpreter code
|
2018-04-25 10:49:58 -07:00 |
|
Ilya Rezvov
|
70f207d02d
|
extract storing code to common function
|
2018-04-24 21:07:12 -07:00 |
|
Ilya Rezvov
|
a619e1b742
|
extract load instructions to generic function
|
2018-04-24 19:08:31 -07:00 |
|
Ilya Rezvov
|
9d14c233c5
|
fix parsing of multiple folded instructions in if predicate expression
|
2018-04-24 16:12:52 -07:00 |
|
Ilya Rezvov
|
081d6ded2a
|
use single rule for all index refences
|
2018-04-24 15:37:43 -07:00 |
|
Ilya Rezvov
|
6157cbb492
|
update readme
|
2018-04-21 11:28:03 -07:00 |
|
Ilya Rezvov
|
5356e0b435
|
pass all tests
|
2018-04-21 11:24:05 -07:00 |
|
Ilya Rezvov
|
d0b5535bb2
|
pass all assert_trap tests
|
2018-04-21 10:58:34 -07:00 |
|
Ilya Rezvov
|
c073d85d74
|
calculate offset without uint32 overflow
|
2018-04-21 10:46:29 -07:00 |
|
Ilya Rezvov
|
56f9aea99d
|
check if target and local type of call_indirect are the same
|
2018-04-21 10:39:23 -07:00 |
|
Ilya Rezvov
|
7726eb7505
|
protect memory access with traps
|
2018-04-21 10:11:37 -07:00 |
|
Ilya Rezvov
|
e99c7c427b
|
check sign-sensitive division arguments for trap conditions
|
2018-04-21 09:40:18 -07:00 |
|
Ilya Rezvov
|
49719b64cd
|
implement assert_trap assertion
|
2018-04-21 08:59:31 -07:00 |
|
Ilya Rezvov
|
3c882a97d1
|
check validity of all data and elem segments before updating store on initialization
|
2018-04-20 19:24:39 -07:00 |
|
Ilya Rezvov
|
108eb0c0ee
|
check imported values types
|
2018-04-20 19:11:09 -07:00 |
|
Ilya Rezvov
|
a8459fb541
|
do not grow tables on initialization. again
|
2018-04-19 16:25:27 -07:00 |
|
Ilya Rezvov
|
80f61158d7
|
do not grow memory for data segments
|
2018-04-19 16:17:28 -07:00 |
|
Ilya Rezvov
|
a7962d69c2
|
implemented assert_unlinkable assertion
|
2018-04-19 13:32:07 -07:00 |
|
Ilya Rezvov
|
1720730df5
|
pass assert_malformed tests
|
2018-04-18 22:42:47 -07:00 |
|
Ilya Rezvov
|
78e59dea8f
|
add length constraint check for LEB128 encoded integers
|
2018-04-16 21:47:38 -07:00 |
|
Ilya Rezvov
|
fbadde5c3a
|
improve alignment parsing
|
2018-04-16 21:02:26 -07:00 |
|
Ilya Rezvov
|
7dfbe2775e
|
fix call_inderect type use parsing
|
2018-04-16 20:51:04 -07:00 |
|
Ilya Rezvov
|
b27ce14618
|
check if length of code section equals of length of function type section
|
2018-04-16 20:11:46 -07:00 |
|
Ilya Rezvov
|
b27a89cc17
|
fix int literals parsing
|
2018-04-16 20:00:20 -07:00 |
|
Ilya Rezvov
|
cb7fee3d45
|
check imports appear before any other definitions
|
2018-04-16 16:08:38 -07:00 |
|
Ilya Rezvov
|
f046ab3cfa
|
check if aux type signature match referred type
|
2018-04-16 15:54:10 -07:00 |
|
Ilya Rezvov
|
6c4183c930
|
check if optional labels match for block instructions
|
2018-04-16 15:37:28 -07:00 |
|
Ilya Rezvov
|
035ffe05da
|
check if name is valid utf8 string
|
2018-04-16 14:35:05 -07:00 |
|
Ilya Rezvov
|
be47aa7d43
|
fail on too long offset and align constants
|
2018-04-15 19:08:27 -07:00 |
|
Ilya Rezvov
|
a1ae58b5f7
|
make parser monadic
|
2018-04-15 18:54:39 -07:00 |
|
Ilya Rezvov
|
a5e16c6e7b
|
add MIT license
|
2018-04-15 16:28:04 -07:00 |
|
Ilya Rezvov
|
09f4b15d2c
|
implemented assert_malformed assertion and added NFData instances for all parsing types
|
2018-04-15 16:16:11 -07:00 |
|
Ilya Rezvov
|
73124a3eff
|
pass all assert_invalid tests
|
2018-04-14 17:11:47 -07:00 |
|
Ilya Rezvov
|
d7dc05b157
|
update tests from core repo
|
2018-04-14 16:35:18 -07:00 |
|
Ilya Rezvov
|
681e0e3eca
|
fix br_if typing
|
2018-04-14 16:31:21 -07:00 |
|
Ilya Rezvov
|
d0b1092064
|
simplify validation algorithm
|
2018-04-14 13:38:09 -07:00 |
|
Ilya Rezvov
|
23ed83a42e
|
fix parsing of functions with incorrect type indexes
|
2018-04-13 16:56:25 -07:00 |
|
Ilya Rezvov
|
16bbc3d198
|
implement assert_invalid assertion
|
2018-04-13 14:25:23 -07:00 |
|
Ilya Rezvov
|
b2a0d2c86e
|
pass return_nan tests
|
2018-04-12 14:17:01 -07:00 |
|
Ilya Rezvov
|
2955456e26
|
pass all assert_return tests
|
2018-04-11 21:15:56 -07:00 |
|
Ilya Rezvov
|
7a4735bbfc
|
fix some conversions
|
2018-04-11 15:29:51 -07:00 |
|
Ilya Rezvov
|
d64854aac1
|
clean up labels on exit from blocks and return correct type for i64 unary operations
|
2018-04-11 15:24:27 -07:00 |
|
Ilya Rezvov
|
11b6f4fdc8
|
fix if instruction execution
|
2018-04-11 14:54:05 -07:00 |
|
Ilya Rezvov
|
82c0433e5d
|
fix corner cases for float instructions
|
2018-04-11 11:08:41 -07:00 |
|
Ilya Rezvov
|
e0d9eeb51f
|
fix tee_local semantic
|
2018-04-10 21:59:54 -07:00 |
|
Ilya Rezvov
|
c644578d8b
|
fix memory growing behavior
|
2018-04-10 21:25:54 -07:00 |
|
Ilya Rezvov
|
c75900a2c8
|
fix loading of signed ints from memory
|
2018-04-10 21:09:58 -07:00 |
|
Ilya Rezvov
|
ab1782c982
|
fix int instructions
|
2018-04-10 21:02:37 -07:00 |
|
Ilya Rezvov
|
1fe669e762
|
use correct signed int representation
|
2018-04-10 20:50:26 -07:00 |
|
Ilya Rezvov
|
8514232513
|
fix offset parsing and one byte loading instruction
|
2018-04-10 19:48:02 -07:00 |
|
Ilya Rezvov
|
fd7ce7e450
|
fix copysign instruction
|
2018-04-10 16:56:42 -07:00 |
|
Ilya Rezvov
|
f6cae32148
|
fix float numbers parsing
|
2018-04-10 15:04:18 -07:00 |
|
Ilya Rezvov
|
f4e008ab9a
|
fix arguments order on function call
|
2018-04-10 09:17:26 -07:00 |
|
Ilya Rezvov
|
147f4224d3
|
implement grow memory instruction
|
2018-04-10 09:07:30 -07:00 |
|
Ilya Rezvov
|
3be5840c9a
|
implement grow_memory
|
2018-04-09 21:48:37 -07:00 |
|
Ilya Rezvov
|
d055a4ff6d
|
fix call_indirect evaluation
|
2018-04-09 21:41:17 -07:00 |
|
Ilya Rezvov
|
dac931b055
|
implement assert_return assertion
|
2018-04-09 15:08:48 -07:00 |
|
Ilya Rezvov
|
b7933df8c3
|
add actions interpretatiion
|
2018-04-09 14:36:14 -07:00 |
|
Ilya Rezvov
|
554a56fb63
|
pass nan with payload to token
|
2018-04-09 07:12:47 -07:00 |
|
Ilya Rezvov
|
8cd33831a1
|
'fix' type of br_if and comment multiple table definitions in test module
|
2018-04-08 20:06:25 -07:00 |
|
Ilya Rezvov
|
8ef3eadc9a
|
parse arithmetic nan
|
2018-04-08 19:47:10 -07:00 |
|
Ilya Rezvov
|
6b376ee4cb
|
fix elems validator
|
2018-04-08 17:51:04 -07:00 |
|
Ilya Rezvov
|
277cfad6ff
|
add host environment for script modules
|
2018-04-08 17:42:25 -07:00 |
|
Ilya Rezvov
|
7a66ff7150
|
provide imports for modules from registery
|
2018-04-08 12:50:36 -07:00 |
|
Ilya Rezvov
|
98d9ca2399
|
fix parsing binary modules from text representation
|
2018-04-08 11:54:29 -07:00 |
|
Ilya Rezvov
|
87758b2789
|
fix memory growing for empty data segments
|
2018-04-08 10:53:14 -07:00 |
|
Ilya Rezvov
|
8b5c7fa154
|
grow tables and memories on module initialization
|
2018-04-08 10:45:09 -07:00 |
|
Ilya Rezvov
|
d7641bcee2
|
fix implicit type extraction
|
2018-04-08 10:25:05 -07:00 |
|
Ilya Rezvov
|
43feccbf08
|
load modules in wasm script commands
|
2018-04-08 09:43:41 -07:00 |
|
Ilya Rezvov
|
8c8cec0498
|
update goals
|
2018-03-21 09:49:50 -07:00 |
|
Ilya Rezvov
|
8a22d84804
|
pass all tests
|
2018-03-20 21:52:02 -07:00 |
|
Ilya Rezvov
|
682e71defc
|
fix tokenizing of numbers and expressions of offset
|
2018-03-20 21:33:11 -07:00 |
|
Ilya Rezvov
|
3400a7c1ad
|
fix stack instructions parsing
|
2018-03-20 21:26:42 -07:00 |
|
Ilya Rezvov
|
e9c5ad8dac
|
fix function parsing
|
2018-03-20 21:11:59 -07:00 |
|
Ilya Rezvov
|
4ed8752744
|
add whole test files from Core Test Suit
|
2018-03-20 21:01:25 -07:00 |
|
Ilya Rezvov
|
d9849f77bf
|
parse wasm script grammar
|
2018-03-20 20:28:03 -07:00 |
|
Ilya Rezvov
|
4bf66b9295
|
fix module idents coding
|
2018-03-20 16:51:58 -07:00 |
|
Ilya Rezvov
|
13fecfe74b
|
Merge branch 'master' of github.com:SPY/haskell-wasm
|
2018-03-20 16:17:20 -07:00 |
|
Ilya Rezvov
|
952fa3bd97
|
add types for script extention
|
2018-03-20 16:17:10 -07:00 |
|
Ilya Rezvov
|
96cd65ac24
|
implement store operations
|
2018-03-19 11:36:12 -07:00 |
|
Ilya Rezvov
|
da6d15c63f
|
add loading instructions for i64
|
2018-03-19 11:10:23 -07:00 |
|
Ilya Rezvov
|
4d6a8d6d3f
|
add load instructions handling for primitive types and i32 parts
|
2018-03-18 22:18:54 -07:00 |
|
Ilya Rezvov
|
a4ed63fe53
|
implement relation float operations
|
2018-03-18 19:59:23 -07:00 |
|
Ilya Rezvov
|
3be5bd0648
|
implement binary float operations
|
2018-03-18 19:53:40 -07:00 |
|
Ilya Rezvov
|
8bcfdb18c5
|
add unary float operations
|
2018-03-18 19:46:45 -07:00 |
|
Ilya Rezvov
|
1ba3044aa5
|
implement numeric conversion instructions
|
2018-03-18 19:18:41 -07:00 |
|
Ilya Rezvov
|
4775c42207
|
implement test and unary integer operations
|
2018-03-16 10:32:36 -07:00 |
|
Ilya Rezvov
|
51f4cdfa53
|
fix arguments ordering for int binary operations
|
2018-03-16 10:11:06 -07:00 |
|
Ilya Rezvov
|
3d9cb6132b
|
make fact work
|
2018-03-15 21:53:02 -07:00 |
|
Ilya Rezvov
|
421d7db976
|
implement int rel operations
|
2018-03-15 21:02:38 -07:00 |
|
Ilya Rezvov
|
36225ea479
|
implement int bin operations
|
2018-03-15 20:53:45 -07:00 |
|