Commit Graph

139 Commits

Author SHA1 Message Date
Ilya Rezvov d9803479a0 implement v128.store[8|16|32|64]_lane 2023-09-06 21:35:16 -06:00
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 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 d112b28233 fix parsing of select instruction and evaluation of const expressions 2023-08-26 21:35:36 -06:00
Ilya Rezvov bb2a6cea7f fix reexports 2023-08-21 21:15:53 -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 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 8c97e2c328 syntax support for table.init 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
Ilya Rezvov 54c3cfd697 all tests are green 2021-04-19 17:17:25 -07:00
Ilya Rezvov 8f698df5f2 implement parsing and validation for saturated conv instructions 2021-04-11 21:33:14 -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 ee1c7d3f7a resolve all grammar conflicts 2021-04-05 21:03:55 -07:00
Ilya Rezvov 88e80306b7 simplify typeuse rule 2021-04-05 10:31:29 -07:00
Ilya Rezvov cd834466a4 remove redundant clauses 2021-04-04 17:30:38 -07:00
Ilya Rezvov afb5cb4f05 fix imports 2021-04-04 17:30:38 -07:00
Ilya Rezvov d4a72089ba get rid of some rules 2021-04-04 17:30:38 -07:00
Ilya Rezvov d62f945b8b instuction_list parser 2021-04-04 17:30:38 -07:00
Ilya Rezvov b816e04b6d type signature parsing for loop and if blocks 2021-04-04 17:30:38 -07:00
Ilya Rezvov 2d58addefa refactor function parser 2021-04-04 17:30:38 -07:00
Ilya Rezvov 58fd11dfa8 refactor typeuse parser to accomodate raw instructions 2021-04-04 17:30:38 -07:00
Ilya Rezvov 72804d2210 get rid of some shift/reduce conflicts in grammar 2021-04-04 17:30:38 -07:00
Ilya Rezvov b64193b6a9 clean up the parser a little bit and relax arity checks on validation phase 2021-04-04 17:30:38 -07:00
Ilya Rezvov 2a49528a1f simplify grammar and parse block typeuses 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 511bae84e8 report multiple start sections in text representation as parsing error 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 d01691338f add parsing of canonical nan, reinterpret instructions and check for mem idents uniqueness 2021-04-04 17:23:43 -07: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 4601666eab stabilize inline exports extraction algorithm 2018-04-26 20:19:19 -07:00