Commit Graph
100 Commits
Author SHA1 Message Date
Ilya Rezvov 825a24d59c add reference types test to test suite 2021-04-25 12:24:47 -07: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
Ilya Rezvov 88e80306b7 simplify typeuse rule 2021-04-05 10:31:29 -07:00
Ilya Rezvov d20985c890 Merge branch 'update-tests' of github.com:SPY/haskell-wasm into update-tests 2021-04-04 17:34:24 -07:00
Ilya Rezvov fe83e2c1a3 rebase artefacts 2021-04-04 17:34:03 -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 2082a8557f start multivalue proposal implementation for block instruction 2021-04-04 17:30:38 -07:00
Ilya Rezvov f92754b572 change instansiating to be stateful 2021-04-04 17:30:17 -07:00
Ilya Rezvov 2451dc2ddc added line position for failed asserts and implemented mutable globals import/export proposal 2021-04-04 17:29:47 -07:00
Ilya Rezvov ea7769aa9f more grammar fixes 2021-04-04 17:28:16 -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 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 88a31548b8 replace hardcoded tests with submodule to the official testsuit 2021-04-04 17:23:43 -07:00
Ilya Rezvov bbd09ecf4f remove redundant clauses 2021-04-04 17:19:25 -07:00
Ilya Rezvov 52b2a11887 fix imports 2021-04-04 17:11:07 -07:00
Ilya Rezvov 53b145399d get rid of some rules 2021-04-04 16:25:22 -07:00
Ilya Rezvov 1202fc50f9 instuction_list parser 2021-04-04 15:30:57 -07:00
Ilya Rezvov 47b6b546ef type signature parsing for loop and if blocks 2021-04-04 13:56:40 -07:00
Ilya Rezvov 057b490864 refactor function parser 2021-04-01 21:30:58 -07:00
Ilya Rezvov f3415a611f refactor typeuse parser to accomodate raw instructions 2021-03-29 21:56:25 -07:00
Ilya Rezvov a6692fdef9 get rid of some shift/reduce conflicts in grammar 2021-03-19 22:25:47 -07:00
Ilya Rezvov 03f9386c8a clean up the parser a little bit and relax arity checks on validation phase 2021-03-17 22:34:50 -07:00
Ilya Rezvov d5664908d1 simplify grammar and parse block typeuses 2021-03-16 23:45:43 -07:00
Ilya Rezvov a466bb0135 Merge branch 'update-tests' of github.com:SPY/haskell-wasm into update-tests 2021-03-16 21:49:35 -07:00
Ilya Rezvov 4b670b3d17 start multivalue proposal implementation for block instruction 2021-03-16 21:49:02 -07:00
Ilya Rezvov 66e86754b0 report multiple start sections in text representation as parsing error 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 02e2c4a705 fix align bug for I64Load32U and start mutable globals export/import 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 4f0926ca3f add parsing of canonical nan, reinterpret instructions and check for mem idents uniqueness 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 1281643874 start multivalue proposal implementation for block instruction 2021-03-15 22:59:10 -07:00
Ilya Rezvov d36c6fddbc report multiple start sections in text representation as parsing error 2021-03-12 22:56:23 -08:00
Ilya Rezvov 50c7e90772 change instansiating to be stateful 2021-03-12 22:34:42 -08:00
Ilya Rezvov 0c912ca575 added line position for failed asserts and implemented mutable globals import/export proposal 2021-03-09 22:45:16 -08:00
Ilya Rezvov 029c2416fb fix align bug for I64Load32U and start mutable globals export/import proposal 2021-03-08 21:58:21 -08:00
Ilya Rezvov bf9cee08c0 implement sign-extension operators proposal 2021-03-08 21:35:43 -08:00
Ilya Rezvov 40291c35f0 more grammar fixes 2021-03-04 22:04:56 -08:00
Ilya Rezvov 89df0e43d6 add parsing of canonical nan, reinterpret instructions and check for mem idents uniqueness 2021-03-03 22:08:18 -08:00
Ilya Rezvov 30a16780fc replace hardcoded tests with submodule to the official testsuit 2021-03-02 21:46:52 -08: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 1245707afa fix cabal file 2018-06-21 08:32:20 -07:00
Ilya Rezvov 709c8d994c bump version to 1.0 tag 2018-06-20 16:33:52 -07:00
Ilya Rezvov db18150ec9 expose label type from builder 2018-06-11 20:20:06 -07:00
Ilya Rezvov f862c74bf9 fix typos in sign suffixes 2018-06-02 11:01:01 -07:00
Ilya Rezvov 85dfac08f1 enforce type constraints for conversion operations 2018-06-02 10:57:49 -07:00
Ilya Rezvov 4dccc4279e add all instructions 2018-06-02 10:36:24 -07:00
Ilya Rezvov 2aeb960cb1 introduce declaration+implementation mechanic for mutual recursive functions definitions 2018-05-31 14:06:33 -07:00
Ilya Rezvov 1cf668408a unify name convention for signed/unsigned operations 2018-05-27 15:29:31 -07:00
Ilya Rezvov ddf89644ce make inc and dec polymorphic 2018-05-27 14:49:49 -07:00
Ilya Rezvov 3926e5b9f1 make export combinator polymorphic 2018-05-27 11:59:27 -07:00
Ilya Rezvov 330fb93f0f introduce polymorphic result types for combinators 2018-05-27 11:17:26 -07:00
Ilya Rezvov 95318c86fc wrap instruction for builder 2018-05-25 11:30:08 -07:00
Ilya Rezvov 4ec5a0fcbf two more helpers for builder 2018-05-24 16:22:05 -07:00
Ilya Rezvov 9d1ce5a630 more instructions for builder 2018-05-24 11:36:34 -07:00
Ilya Rezvov a0bdcae94a fix memarg binary parsing 2018-05-23 11:48:45 -07:00
Ilya Rezvov 705b43af34 add more operations 2018-05-23 09:38:21 -07:00
Ilya Rezvov 05ad97a30e fix binary generation 2018-05-22 18:47:10 -07:00
Ilya Rezvov ba6f26b06d add export directives 2018-05-22 15:06:39 -07:00
Ilya Rezvov 96dd6a8a40 export nop instruction 2018-05-18 11:42:02 -07:00
Ilya Rezvov d2d767d122 add partial memory instructions for builder 2018-05-17 13:28:34 -07:00
Ilya Rezvov 9ca5353b0f extend supported instructions set 2018-05-16 14:45:34 -07:00
Ilya Rezvov edf072ed2a add more generators 2018-05-13 15:12:13 -07:00
Ilya Rezvov 5986526167 implement more operations for generation 2018-05-13 10:37:09 -07:00
Ilya Rezvov 2db6b2db41 add if expression form 2018-05-13 09:41:29 -07:00
Ilya Rezvov 1330eb41f6 start builder api 2018-05-12 22:37:50 -07:00
Ilya Rezvov 8ca3319ba4 add wasm executable 2018-05-10 13:39:43 -07:00
Ilya Rezvov 4601666eab stabilize inline exports extraction algorithm 2018-04-26 20:19:19 -07:00
Ilya Rezvov 0a7b417605 reduce deep of code 2018-04-25 13:47:11 -07:00