Ilya Rezvov
|
c044f3f556
|
add return type for select
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
d321bf6a9c
|
implement table.fill
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
ec83b12ccd
|
keep track of defined references and store global function address for table.set instructions
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
9f17885106
|
better bounds check for table.get and table.set
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
4e9cb99e69
|
change table storage format to allow growing and implement table.grow and table.size
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
b2f001aea8
|
implement table.copy
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
f445340568
|
add elem.drop and extend call_indirect to accept table index
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
2d15ddfa36
|
implement table.get and table.set and pass ref_is_null test suit
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
0b44ee13b8
|
pass tests in elem.wat test suit
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
e9140ae70c
|
drop flag for elems was added. initial table.init implementation
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
cbeb4bb61d
|
validate table.init and use mutable vector as a table storage
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
6e9c4d969a
|
update initialization sequence for elems
|
2023-08-21 21:11:39 -06:00 |
|
Ilya Rezvov
|
51cf7e753b
|
syntax support for ref.ops and pass ref_null.wast
|
2023-08-21 21:11:39 -06:00 |
|
Mateusz Galazyn
|
3be70781b8
|
Expose mutable memory access
|
2022-10-22 09:37:50 +02:00 |
|
Ilya Rezvov
|
0bf74253cb
|
fix serialization/deserialization and complete saturated data conversions
|
2021-04-12 23:01:39 -07:00 |
|
Ilya Rezvov
|
93a79badbe
|
fix multivalue return typecheck and some execution rules
|
2021-04-06 23:20:03 -07:00 |
|
Ilya Rezvov
|
b816e04b6d
|
type signature parsing for loop and if blocks
|
2021-04-04 17:30:38 -07:00 |
|
Ilya Rezvov
|
b1874dfcea
|
start multivalue proposal implementation for block instruction
|
2021-04-04 17:23:43 -07:00 |
|
Ilya Rezvov
|
1e7afd94fc
|
change instansiating to be stateful
|
2021-04-04 17:23:43 -07:00 |
|
Ilya Rezvov
|
01e0ab8d44
|
added line position for failed asserts and implemented mutable globals import/export proposal
|
2021-04-04 17:23:43 -07:00 |
|
Ilya Rezvov
|
d61926e18a
|
implement sign-extension operators proposal
|
2021-04-04 17:23:43 -07:00 |
|
Ilya Rezvov
|
4fb4da0f2f
|
more grammar fixes
|
2021-04-04 17:23:43 -07:00 |
|
Ilya Rezvov
|
88a31548b8
|
replace hardcoded tests with submodule to the official testsuit
|
2021-04-04 17:23:43 -07:00 |
|
Ilya Rezvov
|
bcb83798cb
|
implemented fast-path for aligned addresses on memory read/write
|
2020-02-19 16:07:18 -08:00 |
|
Ilya Rezvov
|
915b705ed2
|
using primitive's ByteArray for memory instance's backend storage in the interpreter instead of IOVector
|
2020-02-19 14:36:03 -08:00 |
|
Ilya Rezvov
|
f8d008bb04
|
small clean up
|
2020-01-14 17:00:41 -08:00 |
|
Ilya Rezvov
|
d7e1b803f5
|
fix build and tests for ghc >8.6
|
2020-01-13 21:56:06 -08:00 |
|
Ilya Rezvov
|
709c8d994c
|
bump version to 1.0 tag
|
2018-06-20 16:33:52 -07:00 |
|
Ilya Rezvov
|
1330eb41f6
|
start builder api
|
2018-05-12 22:37:50 -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
|
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
|
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 |
|