summaryrefslogtreecommitdiff
path: root/third_party
Commit message (Collapse)AuthorAgeFilesLines
* Update testsuite to f71cbe72bd5f4fb871bee39a9dc1278fa662a8a5Ben Smith2016-12-151-0/+0
|
* Update testsuiteBen Smith2016-12-091-0/+0
| | | | | | | * Non-imported globals can not be used in initializer expressions * block/loop/if labels can be repeated at the end * get_global index in initializer expression should reference use module index space, not "defined" global index space
* Update spec testsBen Smith2016-11-071-0/+0
|
* Update testsuite and fix testsBen Smith2016-10-131-0/+0
| | | | | | | * `offset=` and `align=` can now specify hex values * data and elem segment offsets are now not checked; they can be out of order or overlapping, and even out-of-bounds if the size is zero * added the new tests `skip-stack-guard-page` and `unwind`
* update spec tests to HEAD (#122)Ben Smith2016-09-291-0/+0
| | | | | | This updates third_party/testsuite to the current head of the `binary_0xc` branch (https://github.com/WebAssembly/testsuite/commit/58c1bf67cc65a1219d49114c41805bafc75ac0c6), which is the collection of tests from the current head of the spec repo's `binary_0xc` branch (https://github.com/WebAssembly/spec/commit/0fa1531c2deebb767b263d405dbce849c9663f55).
* WIP - checker and binary/reader writer compileBen Smith2016-09-291-0/+0
|
* WIPBen Smith2016-09-291-0/+0
|
* update testsuite, and rebase some testsBen Smith2016-09-291-0/+0
|
* remove squirrel stuffBen Smith2016-09-061-0/+0
| | | | It was an interesting experiment, but it is not maintained or tested.
* update testsuite, handle implicit func types (#96)Ben Smith2016-08-041-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 7c482b1a of the spec repo now requires that implicit function types are created when creating a new func or import, but only when the type is not explicitly specified, and the have not been specified. For example: ``` (func (param i32)) (import "foo" "bar" (result i32) ``` This was previously done in sexpr-wasm when writing the binary, but now these types can be referenced by `call_import`, so it has to be handled earlier. Since all signatures are now defined in the module, I made it so the function signature is shared with the module function types. The tricky part here is when a function type and an explicit signature are both specified: ``` (func (type $t) (param f32) ...) ``` In this case, we need to keep the explicit signature around long enough to be checked against the function type, so it must be owned by the function. The WASM_FUNC_DECLARATION_FLAG_SHARED_SIGNATURE flag specifies this case. To simplify code that uses the AST, I reverted many of the changes introduced in 73e5bc7d. Now the function declaration's signature is always valid to access, and will have been resolved if it was specified with a func type instead of an explicit signature. Some other changes: * There was a bug in the interpreter's `f32.demote/f64` rounding when given a value that is very close to positive or negative F32_MAX * Added `update-spec-tests.py` to more easily update the spec tests in `test/interp/spec/*.txt` from the files in `third_party/testsuite/*.wast`. Previously I would just do it manually.
* functions have an implicit block scope (#91)Ben Smith2016-07-061-0/+0
| | | | | `(func (br 0))` is valid, because the function introduces an implicit block scope. This change also updates the testsuite (which has tests for this behavior).
* Update testsuite, and fix tests (#90)Ben Smith2016-06-241-0/+0
| | | | | | | | | | | | * Modify AST parser to disallow any other order than `param`, `result`, `local`. * Allow parsing all var integers as int64 (the lookups will fail later.) * Fix interpreter logic determining whether to adjust the stack; we were correctly handling the case where `unreachable` was being used in an expression (the value stack is adjusted "up" as if a value was actually produced), but the same behavior is required for `br`, `br_table` and `return`. * Add NAT token to lexer/parser, which is an integer value without a sign.
* remove JavaScript engine testing (#89)Ben Smith2016-06-173-10/+0
| | | | | It's not really the appropriate place to handle it. Now that we have wasm-wast and wasm-interp, we can at least verify that the tools are internally consistent.
* update testsuiteBen Smith2016-05-241-0/+0
|
* update spec testsBen Smith2016-05-181-0/+0
| | | | | | | | | * Parse memory pages as uint64, as we need to check whether it's invalid in assert_invalid, and one of the spec tests uses the value 2**32. * Update WASM_MAX_PAGES to 65535 (not 65536) * Add the new spec tests: binary.wast, break-drop.wast and typecheck.wast. A couple of these were added before, but weren't added as .txt files in the test directory.
* fix build-sm script to use GH archiveBen Smith2016-05-121-0/+1
| | | | | You can't git clone to a specific commit SHA, so we just download the source archive from Github.
* copy FindRE2C.cmake from CMakeXFindBen Smith2016-05-051-0/+0
| | | | | This makes it easier to build for users who don't run `git submodule update --init`.
* update v8, and fix testsBen Smith2016-04-291-0/+0
|
* rename memory_size -> current_memoryBen Smith2016-04-281-0/+0
| | | | | | | * current_memory and grow_memory return page size, not byte size * also update testsuite, which fixes a couple of spec tests * disable d8/spec tests (in a hacky way), because the binary_0xb v8 support isn't landed yet, so we can't easily test it
* add {run-,}gen-wasm.py; used to generate .wasmBen Smith2016-04-271-0/+0
| | | | These will be useful for testing the binary reader.
* lex using re2c instead of flexBen Smith2016-04-211-0/+0
|
* squirrel interpreter works for simple casesBen Smith2016-04-111-0/+0
| | | | It's pretty clunky though
* update v8Ben Smith2016-04-051-0/+0
|
* update testsuiteBen Smith2016-04-021-0/+0
|
* update testsuiteBen Smith2016-03-201-0/+0
|
* rewrite hexfloat_test w/ gtestBen Smith2016-03-191-0/+0
|
* update v8Ben Smith2016-03-181-0/+0
|
* update v8 to fix build after 10308dc5Ben Smith2016-03-101-0/+0
|
* update v8, use function sig and body sectionsBen Smith2016-03-091-0/+0
| | | | v8 also has support for the names section, but I'll add that later.
* update v8 for inline data segment changeBen Smith2016-03-091-0/+0
|
* update v8, move import/export strings inlineBen Smith2016-03-091-0/+0
|
* update v8 for d95fa45a (mem immediates as LEB128)Ben Smith2016-03-091-0/+0
|
* update v8, more leb128, two-level importsBen Smith2016-03-081-0/+0
|
* update v8; rebaseline testsBen Smith2016-03-081-0/+0
|
* update testsuite, fix spec testsBen Smith2016-03-081-0/+0
| | | | | spec/switch.txt is still failing because we don't yet support br_table passing an argument.
* Rebase the dumps on local decls changes.Ben L. Titzer2016-03-071-0/+0
|
* update v8 againBen Smith2016-03-071-0/+0
| | | | (last v8 push broke the build)
* store i32.const and i64.const as signed-LEB128Ben Smith2016-03-041-0/+0
|
* update v8 to support memory specified by pagesBen Smith2016-03-031-0/+0
| | | | | This breaks the spec tests, since the corresponding change to the testsuite has been pushed yet.
* use if/then/else instead of if/if_elseBen Smith2016-03-031-0/+0
| | | | Also update testsuite
* select is type-parametric, update testsuiteBen Smith2016-03-031-0/+0
|
* update testsuiteBen Smith2016-02-291-0/+0
|
* binary format has magic and version numberBen Smith2016-02-281-0/+0
|
* use export table, update v8Ben Smith2016-02-271-0/+0
|
* update testsuiteBen Smith2016-02-251-0/+0
|
* update testsuiteBen Smith2016-02-231-0/+0
|
* update v8 for import table supportBen Smith2016-02-221-0/+0
|
* import table in binary formatBen Smith2016-02-221-0/+0
|
* update v8, fix order of br_if operandsBen Smith2016-02-081-0/+0
|
* update testsuite, fix br_if orderBen Smith2016-02-081-0/+0
| | | | | | | | | | Condition now comes last in br_if: BR_IF var cond BR_IF var expr cond It should also be evaluated last, but that hasn't been updated in v8 yet.