Commit Graph

108 Commits

Author SHA1 Message Date
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 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 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 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
Илья Резвов fe6c31984b update test specs to bring fixed SIMD and reference types 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 0bf74253cb fix serialization/deserialization and complete saturated data conversions 2021-04-12 23:01:39 -07:00
Ilya Rezvov 2eab690213 hack nan's check and handle select typings properly 2021-04-11 21:19:21 -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 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 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 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 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 20c2623b1c fix align bug for I64Load32U and start mutable globals export/import proposal 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 88a31548b8 replace hardcoded tests with submodule to the official testsuit 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 c073d85d74 calculate offset without uint32 overflow 2018-04-21 10:46:29 -07:00
Ilya Rezvov 7726eb7505 protect memory access with traps 2018-04-21 10:11:37 -07:00
Ilya Rezvov 80f61158d7 do not grow memory for data segments 2018-04-19 16:17:28 -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
Ilya Rezvov a1ae58b5f7 make parser monadic 2018-04-15 18:54:39 -07:00
Ilya Rezvov 73124a3eff pass all assert_invalid tests 2018-04-14 17:11:47 -07:00
Ilya Rezvov d7dc05b157 update tests from core repo 2018-04-14 16:35:18 -07:00
Ilya Rezvov 681e0e3eca fix br_if typing 2018-04-14 16:31:21 -07:00
Ilya Rezvov d0b1092064 simplify validation algorithm 2018-04-14 13:38:09 -07:00
Ilya Rezvov 23ed83a42e fix parsing of functions with incorrect type indexes 2018-04-13 16:56:25 -07:00
Ilya Rezvov 16bbc3d198 implement assert_invalid assertion 2018-04-13 14:25:23 -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