Commit Graph

76 Commits

Author SHA1 Message Date
Ilya Rezvov 4b670b3d17 start multivalue proposal implementation for block instruction 2021-03-16 21:49:02 -07:00
Ilya Rezvov 016ec83422 change instansiating to be stateful 2021-03-16 21:49:02 -07:00
Ilya Rezvov 252ced4989 added line position for failed asserts and implemented mutable globals import/export proposal 2021-03-16 21:49:02 -07:00
Ilya Rezvov 36cc7a1c16 implement sign-extension operators proposal 2021-03-16 21:49:02 -07:00
Ilya Rezvov 6131babc8e more grammar fixes 2021-03-16 21:49:02 -07:00
Ilya Rezvov 21f0046898 replace hardcoded tests with submodule to the official testsuit 2021-03-16 21:49:02 -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
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 b7933df8c3 add actions interpretatiion 2018-04-09 14:36:14 -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