Commit Graph

293 Commits

Author SHA1 Message Date
Ilya Rezvov 5c6e9b59bc implement extract_lane and replace_lane 2023-09-06 21:09:23 -06:00
Ilya Rezvov 4302e4b32f parse shuffle and replace_lane 2023-09-05 22:38:47 -06:00
Ilya Rezvov b4acb0e1e8 implement i8x16.swizzle and extract_lane 2023-09-04 21:21:12 -06:00
Ilya Rezvov daa52f0c40 implement v128_splat instruction 2023-09-04 19:18:09 -06:00
Ilya Rezvov c6e0bfea89 implement basic load/store for v128 2023-09-04 18:35:59 -06:00
Ilya Rezvov d81143e5f8 implement binary for v128const 2023-09-04 18:02:00 -06:00
Ilya Rezvov 170d828713 Use ByteArray as V128 storage and basic const interpretation 2023-08-28 09:29:07 -06:00
Ilya Rezvov 6c2bbc8478 parse v128 literals 2023-08-27 21:24:23 -06:00
Ilya Rezvov 7810040226 all tests are green 2023-08-26 21:44:36 -06:00
Ilya Rezvov d112b28233 fix parsing of select instruction and evaluation of const expressions 2023-08-26 21:35:36 -06:00
Ilya Rezvov be13488f69 update tests and fix some 2023-08-23 22:58:19 -06:00
Ilya Rezvov 9eadc50ee3 all tests are green 2023-08-21 21:15:53 -06:00
Ilya Rezvov 5b6b043049 more green test 2023-08-21 21:15:53 -06:00
Ilya Rezvov bb2a6cea7f fix reexports 2023-08-21 21:15:53 -06:00
Ilya Rezvov f23dc20d57 fix more tests 2023-08-21 21:15:44 -06:00
Ilya Rezvov 2b822a8d44 validate and interprete bulk memory instructions 2023-08-21 21:11:39 -06:00
Ilya Rezvov 46f95dd11d parse memory instructions 2023-08-21 21:11:39 -06:00
Ilya Rezvov 2d4ad42549 add syntax support for extended data segments 2023-08-21 21:11:39 -06:00
Ilya Rezvov c044f3f556 add return type for select 2023-08-21 21:11:39 -06:00
Ilya Rezvov d0403ad554 forbid special nan values for non-script contexts 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 ea50c54900 parse externref elems, but fail on validation 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 8c97e2c328 syntax support for table.init 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 179b7ce180 fix validator for new elems 2023-08-21 21:11:39 -06:00
Ilya Rezvov fd72ee9d23 newtype for expressions to serialize in vectors 2023-08-21 21:11:39 -06:00
Ilya Rezvov b6c0ef4462 update text and binary parsers to new elem formats 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 54c3cfd697 all tests are green 2021-04-19 17:17:25 -07:00
Ilya Rezvov 5f28711f6d use hex float parsing for doubles 2021-04-18 14:19:07 -07:00
Ilya Rezvov 3cb1ac331a start native float hex converter 2021-04-18 10:12:34 -07:00
Ilya Rezvov 0bf74253cb fix serialization/deserialization and complete saturated data conversions 2021-04-12 23:01:39 -07:00
Ilya Rezvov 8f698df5f2 implement parsing and validation for saturated conv instructions 2021-04-11 21:33:14 -07:00
Ilya Rezvov 2eab690213 hack nan's check and handle select typings properly 2021-04-11 21:19:21 -07:00
Ilya Rezvov 66af1b3a37 add uniqueness check for func and local idents 2021-04-08 21:18:05 -07:00
Ilya Rezvov 53bdf096a4 fix nan with payload parsing and safely handle out of range type indecies 2021-04-07 22:38:34 -07:00
Ilya Rezvov fa1d9a7bd1 handle more parsing edgecases 2021-04-07 10:35:51 -07:00
Ilya Rezvov 93a79badbe fix multivalue return typecheck and some execution rules 2021-04-06 23:20:03 -07:00
Ilya Rezvov 604f8f190d start the validator refactoring to deal with multiresults 2021-04-05 22:10:45 -07:00
Ilya Rezvov ee1c7d3f7a resolve all grammar conflicts 2021-04-05 21:03:55 -07:00