- 14 Feb, 2017 1 commit
-
-
clemensh authored
See associated bug: A continue if a do-while loop did jump back to the loop header, instead of jumping to the condition. This CL fixes this and adds a test case. R=bradnelson@chromium.org, titzer@chromium.org BUG=v8:5912 Review-Url: https://codereview.chromium.org/2693993002 Cr-Commit-Position: refs/heads/master@{#43178}
-
- 09 Dec, 2016 1 commit
-
-
mstarzinger authored
By now the predicate in question is an exact negation of %IsAsmWasmCode as the name intuitively implies. The need for two separate test methods no longer exists and one of the two can be removed. R=bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2562003002 Cr-Commit-Position: refs/heads/master@{#41616}
-
- 08 Dec, 2016 1 commit
-
-
bradnelson authored
BUG=672047 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2555203002 Cr-Commit-Position: refs/heads/master@{#41576}
-
- 07 Dec, 2016 1 commit
-
-
bradnelson authored
The asm.js spec requires exports to be identifiers, this was DCHECKED in the asm-wasm-builder, but not the typer. BUG=672046 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2552913004 Cr-Commit-Position: refs/heads/master@{#41557}
-
- 06 Dec, 2016 1 commit
-
-
bradnelson authored
asm.js errata on section 5.4 allows fround of numeric literals without '.'. BUG=v8:4203 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2552243002 Cr-Commit-Position: refs/heads/master@{#41510}
-
- 01 Dec, 2016 1 commit
-
-
bradnelson authored
Allow a function to be exported multiple times in a asm.js module. Remarkably, this had not been working before. BUG=670057 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2535723009 Cr-Commit-Position: refs/heads/master@{#41416}
-
- 30 Nov, 2016 1 commit
-
-
bradnelson authored
Make the AsmWasmBuilder drive the process of typing and potentially parsing function bodies. This will allow us to keep only a single asm.js function's AST in memory as we convert to WebAssembly. This is needed to keep our memory footprint low. Add some additional output to a few tests that's helpful to see which stage they fail at. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 LOG=N R=marja@chromium.org,adamk@chromium.org,aseemgarg@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2398023002 Cr-Commit-Position: refs/heads/master@{#41372}
-
- 05 Oct, 2016 1 commit
-
-
bradnelson authored
Allow fround to take values without dots for globals (the spec allows this subtly). Drop over-restrictive assert preventing floating point globals from working. BUG=v8:4203 R=jpp@chromium.org,aseemgarg@chromium.org Review-Url: https://codereview.chromium.org/2397823003 Cr-Commit-Position: refs/heads/master@{#40013}
-
- 27 Sep, 2016 2 commits
-
-
bradnelson authored
!0 -> true and !1 -> false etc in the parser. This clashes with some of the typing logic in asm.js, and can show up in some real programs in the wild (at least in past asm.js versions). BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 R=aseemgarg@chromium.org,jpp@chromium.org Review-Url: https://codereview.chromium.org/2372823004 Cr-Commit-Position: refs/heads/master@{#39798}
-
titzer authored
[0xC] Convert to stack machine semantics. [0xC] Use section codes instead of names. [0xC] Add elements section decoding. [0xC] Decoding of globals section. [0xC] Decoding of memory section. [0xC] Decoding of imports section. [0xC] Decoding of exports section. [0xC] Decoding of data section. [0xC] Remove CallImport bytecode. [0xC] Function bodies have an implicit block. [0xC] Remove the bottom label from loops. [0xC] Add signatures to blocks. [0xC] Remove arities from branches. Add tests for init expression decoding. Rework compilation of import wrappers and how they are patched. Rework function indices in debugging. Fix ASM->WASM builder for stack machine. Reorganize asm.js foreign functions due to import indices change. R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org BUG=chromium:575167 LOG=Y Committed: https://crrev.com/76eb976a67273b8c03c744f64ad850b0432554b9 Review-Url: https://codereview.chromium.org/2345593003 Cr-Original-Commit-Position: refs/heads/master@{#39678} Cr-Commit-Position: refs/heads/master@{#39795}
-
- 23 Sep, 2016 2 commits
-
-
machenbach authored
Revert of [wasm] Master CL for Binary 0xC changes. (patchset #26 id:490001 of https://codereview.chromium.org/2345593003/ ) Reason for revert: Main suspect for tsan: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 Also changes layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10036 +mips builder: https://build.chromium.org/p/client.v8.ports/builders/V8%20Mips%20-%20builder/builds/4032 Original issue's description: > [wasm] Master CL for Binary 0xC changes. > > [0xC] Convert to stack machine semantics. > [0xC] Use section codes instead of names. > [0xC] Add elements section decoding. > [0xC] Decoding of globals section. > [0xC] Decoding of memory section. > [0xC] Decoding of imports section. > [0xC] Decoding of exports section. > [0xC] Decoding of data section. > [0xC] Remove CallImport bytecode. > [0xC] Function bodies have an implicit block. > [0xC] Remove the bottom label from loops. > [0xC] Add signatures to blocks. > [0xC] Remove arities from branches. > Add tests for init expression decoding. > Rework compilation of import wrappers and how they are patched. > Rework function indices in debugging. > Fix ASM->WASM builder for stack machine. > Reorganize asm.js foreign functions due to import indices change. > > R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org > BUG=chromium:575167 > LOG=Y > > Committed: https://crrev.com/76eb976a67273b8c03c744f64ad850b0432554b9 > Cr-Commit-Position: refs/heads/master@{#39678} TBR=ahaas@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org,rossberg@chromium.org,bradnelson@google.com,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:575167 Review-Url: https://codereview.chromium.org/2361053004 Cr-Commit-Position: refs/heads/master@{#39685}
-
titzer authored
[0xC] Convert to stack machine semantics. [0xC] Use section codes instead of names. [0xC] Add elements section decoding. [0xC] Decoding of globals section. [0xC] Decoding of memory section. [0xC] Decoding of imports section. [0xC] Decoding of exports section. [0xC] Decoding of data section. [0xC] Remove CallImport bytecode. [0xC] Function bodies have an implicit block. [0xC] Remove the bottom label from loops. [0xC] Add signatures to blocks. [0xC] Remove arities from branches. Add tests for init expression decoding. Rework compilation of import wrappers and how they are patched. Rework function indices in debugging. Fix ASM->WASM builder for stack machine. Reorganize asm.js foreign functions due to import indices change. R=ahaas@chromium.org,rossberg@chromium.org,bradnelson@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/2345593003 Cr-Commit-Position: refs/heads/master@{#39678}
-
- 19 Sep, 2016 1 commit
-
-
bradnelson authored
Handle the case of asm.js modules that return a single function instead of a collection of them. R=mtrofin@chromium.org TEST=mjsunit/asm/asm-wasm BUG=v8:4203 BUG=v8:5356 Review-Url: https://codereview.chromium.org/2348383003 Cr-Commit-Position: refs/heads/master@{#39515}
-
- 23 Aug, 2016 1 commit
-
-
bradnelson authored
Make use of %IsAsmWasmCode in place of Wasm.instantiateModuleFromAsm, in order to reduce the surface area of the Wasm object, and to focus on testing asm.js coming in via the parser. Ignore extra CONST_LEGACY assignment introduced by the parser when modules have the form: (function Foo(a, b, c) {..}); This requires both a validator and AsmWasmBuilder change. Move stdlib use collection to import time, to reject modules that import a function, even if not used. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 LOG=N R=jpp@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2264913002 Cr-Commit-Position: refs/heads/master@{#38806}
-
- 19 Aug, 2016 1 commit
-
-
bradnelson authored
Record which asm.js stdlib members are used and add a check that NaN is actually correctly set. Other stdlib members to be added in a later change. Also add a stdlib argument to Wasm.instantiateModuleFromAsm, in preparation for that function to be replaced by normal asm.js instantiation. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 LOG=N R=jpp@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2251433002 Cr-Commit-Position: refs/heads/master@{#38760}
-
- 13 Jul, 2016 1 commit
-
-
jpp authored
BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=mjsunit/wasm/* LOG=N Review-Url: https://codereview.chromium.org/2134333003 Cr-Commit-Position: refs/heads/master@{#37729}
-
- 29 Jun, 2016 1 commit
-
-
aseemgarg authored
BUG=617526 R=bradnelson@chromium.org TEST=regress-617526.js Review-Url: https://codereview.chromium.org/2101923003 Cr-Commit-Position: refs/heads/master@{#37354}
-
- 28 Jun, 2016 2 commits
-
-
bradnelson authored
Comparisons were allowing asm 'int' values in places that require strict 'signed' or 'unsigned' but not both. Fixes crash when these make it to asm-wasm. BUG=599413 BUG=v8:4203 R=aseemgarg@chromium.org Review-Url: https://codereview.chromium.org/2106683003 Cr-Commit-Position: refs/heads/master@{#37353}
-
bradnelson authored
We were not checking that the string passed to instantiateFromAsm contains a function declaration (any declaration was allowed). Fixes crash. BUG=620649 BUG=v8:4203 R=aseemgarg@chromium.org Review-Url: https://codereview.chromium.org/2109533002 Cr-Commit-Position: refs/heads/master@{#37349}
-
- 25 May, 2016 1 commit
-
-
bradnelson authored
Intersection of types is used in several places, if it yields the empty set, this indicates a type mismatch. We should emit an error in this case. Add the RECURSE() macro around IntersectResult to allow errors to propagate immediately. BUG=614291 R=ahaas@chromium.org TEST=asm-wasm LOG=N Review-Url: https://codereview.chromium.org/2011873002 Cr-Commit-Position: refs/heads/master@{#36525}
-
- 29 Apr, 2016 1 commit
-
-
titzer authored
[wasm] Binary 11: br_table takes a value. [wasm] Binary 11: Add implicit blocks to if arms. [wasm] Binary 11: Add arities to call, return, and breaks [wasm] Binary 11: Add experimental version. This CL changes the encoder, decoder, and tests to use a postorder encoding of the AST, which is more efficient in decode time and space. R=bradnelson@chromium.org,rossberg@chromium.org,binji@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/1830663002 Cr-Commit-Position: refs/heads/master@{#35896}
-
- 13 Apr, 2016 1 commit
-
-
aseemgarg authored
This change implements switch as a balanced if/else tree or break table or hybrid. A lot of asm.js modules are expected to extensively use switch alongside function tables that can benefit from a better implementation. BUG=v8:4203 TEST=mjsunit/asm-wasm R=titzer@chromium.org,bradnelson@chromium.org,ahaas@chromium.org LOG=N Review URL: https://codereview.chromium.org/1838973002 Cr-Commit-Position: refs/heads/master@{#35455}
-
- 31 Mar, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org, bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1846613002 Cr-Commit-Position: refs/heads/master@{#35156}
-
- 23 Mar, 2016 2 commits
-
-
bradnelson authored
Properly convert unsigned literals. Forbid using unary + on a kAsmInt. Forbid multiplies other than * 1.0 as being equivalent to unary +. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=test-asm-validator,asm-wasm R=titzer@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1832603002 Cr-Commit-Position: refs/heads/master@{#35046}
-
titzer authored
R=bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1825333004 Cr-Commit-Position: refs/heads/master@{#35045}
-
- 21 Mar, 2016 1 commit
-
-
bradnelson authored
Add missing conversions from other types to f32 in fround. Restrict fround() to only float, double, signed, unsigned (no unions / intish). Restrict Bitwise operations to intish, particularly |0, when not applied to a foreign function. Adding more exhaustive tests of stdlib Math, move to a separate file. Adding tests of interesting values for the stdlib asm.js functions. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=test-asm-validator,asm-wasm R=titzer@chromium.org,rossberg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1804243003 Cr-Commit-Position: refs/heads/master@{#34967}
-
- 14 Mar, 2016 1 commit
-
-
bradnelson authored
The rules for handling foreign functions were interfering with handling of standard functions (such as fround). Adding more tests around abs() BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=test-asm-validator,asm-wasm R=titzer@chromium.org,rossberg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1794303002 Cr-Commit-Position: refs/heads/master@{#34756}
-
- 08 Mar, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,binji@chromium.org BUG= Review URL: https://codereview.chromium.org/1770383002 Cr-Commit-Position: refs/heads/master@{#34587}
-
- 03 Mar, 2016 1 commit
-
-
bradnelson authored
BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=aseemgarg@chromium.org,titzer@chromium.org,yangguo@chromium.org LOG=N Review URL: https://codereview.chromium.org/1729833002 Cr-Commit-Position: refs/heads/master@{#34452}
-
- 01 Mar, 2016 2 commits
-
-
bradnelson authored
BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=titzer@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1749233002 Cr-Commit-Position: refs/heads/master@{#34404}
-
aseemgarg authored
BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=titzer@chromium.org,bradnelson@chromium.org LOG=N Review URL: https://codereview.chromium.org/1750153002 Cr-Commit-Position: refs/heads/master@{#34375}
-
- 27 Feb, 2016 1 commit
-
-
titzer authored
R=bradnelson@chromium.org,aseemgarg@chromium.org BUG= Review URL: https://codereview.chromium.org/1742073002 Cr-Commit-Position: refs/heads/master@{#34345}
-
- 24 Feb, 2016 1 commit
-
-
bradnelson authored
We previously supported use of bitwise operations to convert from intish to int, but use of kAsmInt in some places and kAsmIntQ in others prevents this from working with heap accesses. Switch to use kAsmIntQ where appropriate (even though intish_ != 0 in principle captures the superset of these cases), as it's more conservative (and uses types.h better). BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1731603002 Cr-Commit-Position: refs/heads/master@{#34233}
-
- 23 Feb, 2016 4 commits
-
-
bradnelson authored
This allows expressions like: (x + y) & -1 [intish] & [signed] The previous conversion condition was too strict (intended to forbid non-int expression conversion). Expressing in a different way. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1717213002 Cr-Commit-Position: refs/heads/master@{#34228}
-
bradnelson authored
asm.js permits both: int * constant constant * int It does not, however, allow intishes in multiplies. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm,test-asm-validator R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1718083004 Cr-Commit-Position: refs/heads/master@{#34222}
-
bradnelson authored
Lost in the repo shuffle: https://github.com/WebAssembly/v8-native-prototype/pull/102 BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1702293002 Cr-Commit-Position: refs/heads/master@{#34218}
-
bradnelson authored
When assigning to an integer view of the heap an intish value does not need to be collapsed with |0. Similarly a floatish value does not need to be collapsed with fround when assigned to a float view of the heap. i32[0] = i32_1 + i32_2; // ok f32[0] = f32_1 + f32_2; // ok However, floatish values cannot be safely assigned to double arrays. f64[0] = f32_1 + f32_2; // not ok BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm,test-asm-validator R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1722473002 Cr-Commit-Position: refs/heads/master@{#34206}
-
- 22 Feb, 2016 1 commit
-
-
bradnelson authored
BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1720773002 Cr-Commit-Position: refs/heads/master@{#34185}
-
- 16 Feb, 2016 2 commits
-
-
bradnelson authored
The parser can fold together comma separated declarations into a single block. The AsmWasmBuilder needs to support this case in order to handle asm.js modules that use this form. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1697423003 Cr-Commit-Position: refs/heads/master@{#34048}
-
bradnelson authored
BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/asm-wasm R=aseemgarg@chromium.org,titzer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1704553002 Cr-Commit-Position: refs/heads/master@{#34044}
-