Commit Graph

129 Commits

Author SHA1 Message Date
Ilya Rezvov 5256d5063f validate and interprete bulk memory instructions 2022-06-12 21:12:19 -06:00
Ilya Rezvov 2bf6e88072 parse memory instructions 2022-06-10 22:29:31 -06:00
Ilya Rezvov 32392dcc29 add syntax support for extended data segments 2022-06-09 20:21:57 -06:00
Ilya Rezvov c743e11ffd add return type for select 2022-06-08 21:12:00 -06:00
Ilya Rezvov 32357d68fe forbid special nan values for non-script contexts 2022-06-07 20:28:02 -06:00
Ilya Rezvov 83fea36c02 implement table.fill 2022-06-07 19:41:03 -06:00
Ilya Rezvov 4e9105717b parse externref elems, but fail on validation 2022-06-06 18:41:22 -06:00
Ilya Rezvov df15d3c4d1 change table storage format to allow growing and implement table.grow and table.size 2022-06-06 18:27:26 -06:00
Ilya Rezvov b1da37ac03 implement table.copy 2022-06-05 21:45:58 -06:00
Ilya Rezvov 82defff076 add elem.drop and extend call_indirect to accept table index 2022-06-04 21:58:34 -06:00
Ilya Rezvov 6eb3acde17 implement table.get and table.set and pass ref_is_null test suit 2022-06-04 16:32:20 -06:00
Ilya Rezvov 4753ebceb4 syntax support for table.init 2022-05-30 18:57:21 -06:00
Ilya Rezvov 8af7b45681 update text and binary parsers to new elem formats 2022-02-01 21:18:12 -07:00
Ilya Rezvov 960acac955 syntax support for ref.ops and pass ref_null.wast 2022-01-30 16:23:02 -07: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
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 1720730df5 pass assert_malformed tests 2018-04-18 22:42:47 -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 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