- 10 Nov, 2016 1 commit
-
-
ulan authored
BUG=v8:5614 Review-Url: https://codereview.chromium.org/2487673004 Cr-Commit-Position: refs/heads/master@{#40891}
-
- 08 Nov, 2016 1 commit
-
-
bradnelson authored
We recently allowed global constants in asm.js validated code. When used in a return statement, these need to be of an allowed type. BUG=660813 R=jpp@chromium.org,aseemgarg@chromium.org Review-Url: https://codereview.chromium.org/2481103002 Cr-Commit-Position: refs/heads/master@{#40850}
-
- 02 Nov, 2016 1 commit
-
-
verwaest authored
This reduces per-scope overhead from minimally 6 words to 2 words, with one additional pointer per entry, rather than an average of 2 per entry for larger-than-4 element lists. For temp zone parsed functions it additionally makes the declaration-list actually freeable. This introduces ThreadedList to implement the details of dealing with such a list. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2457393003 Cr-Commit-Position: refs/heads/master@{#40703}
-
- 20 Oct, 2016 1 commit
-
-
jpp authored
This CL adds support for: https://discourse.wicg.io/t/allow-const-global-variables/684 It allows global const variables to be used as if they were numeric literals. For example: const f0 = fround(0); ... function foo() { var v = f0; // no type annotation. ... return f0; // no return type annotation. } BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5540 Review-Url: https://chromiumcodereview.appspot.com/2435823002 Cr-Commit-Position: refs/heads/master@{#40477}
-
- 18 Oct, 2016 1 commit
-
-
jpp authored
Comma expressions need to special-handle function calls. When validating the rhs of a Comma, the validatior needs to ensure that it returns AsmType::Float() if the function being called is fround(). BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5528 Review-Url: https://chromiumcodereview.appspot.com/2426473007 Cr-Commit-Position: refs/heads/master@{#40408}
-
- 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}
-
- 30 Sep, 2016 1 commit
-
-
leszeks authored
matching function, creates a hashmap the specialises the case of keys that simply check pointer equality. I measure an average ~1% improvement on Octane code-load. Review-Url: https://codereview.chromium.org/2369963002 Cr-Commit-Position: refs/heads/master@{#39920}
-
- 28 Sep, 2016 1 commit
-
-
bradnelson authored
Several of the asm.js tests were disabled and wrong (mismatched number of args on the stdlib functions). Fixing issue around negation and float + doubles. Renaming function for IsNegate to IsInvert (to reflect what it actually does). Added tests for negate and invert. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 R=aseemgarg@chromium.org,jpp@chromium.org Review-Url: https://codereview.chromium.org/2377903002 Cr-Commit-Position: refs/heads/master@{#39836}
-
- 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}
-
- 22 Sep, 2016 1 commit
-
-
leszeks authored
This reverts commit b42ecda5. That commit introduced a allocator field to hashmap, which indirectly added a field to Scopes, where the field, effectively storing a Zone, is unnecessary because the Zone can be accessed in other ways. Review-Url: https://codereview.chromium.org/2351393003 Cr-Commit-Position: refs/heads/master@{#39623}
-
- 20 Sep, 2016 1 commit
-
-
leszeks authored
Moves the hashmap's allocator from being a parameter in the various hashmap functions, to being a field in the hashmap itself. This 1. Protects against incorrectly passed allocators, and 2. Cleans up the API so that e.g. callers don't have to store their allocator This is part of a wider set of changes discussed in: https://groups.google.com/forum/#!topic/v8-dev/QLsC0XPYLeM Review-Url: https://codereview.chromium.org/2345233003 Cr-Commit-Position: refs/heads/master@{#39538}
-
- 31 Aug, 2016 1 commit
-
-
adamk authored
The only remaining use of this VariableMode is for the names of sloppy named function expressions. This patch instead uses CONST for such bindings (just as we do in strict mode) and instead marks those Variables specially. During code generation a new helper method, Variable::throw_on_const_assignment(), is called to decide whether to throw or silently ignore the assignment. Review-Url: https://codereview.chromium.org/2233673003 Cr-Commit-Position: refs/heads/master@{#39052}
-
- 29 Aug, 2016 1 commit
-
-
bmeurer authored
For asm.js we now have a dedicated AsmTyper, that uses it's own type system (which is tailored towards asm.js), and so we don't need the special asm.js types anymore in the TypeCache. This also moves the TypeCache into the src/compiler directory, because it doesn't make sense to use outside anyways. TBR=ahaas@chromium.org R=jarin@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2289573002 Cr-Commit-Position: refs/heads/master@{#38964}
-
- 23 Aug, 2016 2 commits
-
-
jpp authored
Adds a check so that module validation fails if there are any assignments to immutable identifiers (e.g., module name, module parameters, stdlib imports.) BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=640194 Review-Url: https://codereview.chromium.org/2268363002 Cr-Commit-Position: refs/heads/master@{#38838}
-
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}
-
- 22 Aug, 2016 1 commit
-
-
bradnelson authored
Check remaining asm.js stdlib functions for validitity at instatiation. Fail when a member is referenced, 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/2267633002 Cr-Commit-Position: refs/heads/master@{#38796}
-
- 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}
-
- 05 Aug, 2016 3 commits
-
-
verwaest authored
This reduces peak zone memory usage by ~10% on codeload and ~5% on mandreel. BUG=v8:5209 Committed: https://crrev.com/2648162dcfff622f8587cea2faa8c3af56456968 Review-Url: https://codereview.chromium.org/2209573002 Cr-Original-Commit-Position: refs/heads/master@{#38367} Cr-Commit-Position: refs/heads/master@{#38390}
-
machenbach authored
Revert of Separate Scope into DeclarationScope and Scope (patchset #13 id:240001 of https://codereview.chromium.org/2209573002/ ) Reason for revert: [Sheriff] Make leak checker unhappy: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug/builds/10959 Original issue's description: > Separate Scope into DeclarationScope and Scope > > This reduces peak zone memory usage by ~10% on codeload and ~5% on mandreel. > > BUG=v8:5209 > > Committed: https://crrev.com/2648162dcfff622f8587cea2faa8c3af56456968 > Cr-Commit-Position: refs/heads/master@{#38367} TBR=marja@chromium.org,mstarzinger@chromium.org,ahaas@chromium.org,adamk@chromium.org,verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5209 Review-Url: https://codereview.chromium.org/2212383003 Cr-Commit-Position: refs/heads/master@{#38380}
-
verwaest authored
This reduces peak zone memory usage by ~10% on codeload and ~5% on mandreel. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2209573002 Cr-Commit-Position: refs/heads/master@{#38367}
-
- 02 Aug, 2016 1 commit
-
-
jpp authored
BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 Review-Url: https://codereview.chromium.org/2200213002 Cr-Commit-Position: refs/heads/master@{#38259}
-
- 26 Jul, 2016 1 commit
-
-
jpp authored
The bug was caused when validating expressions X >> 0 for indexing into 8-bit heap views. If X was not an intish, the 'normal' validation path would fail. That, however, left the type of X registered in the AsmTyper::node_types_ member. Later, in the 'lenient' code path for 8-bit views, the entire X >> 0 expression would be validated, which would cause X to be validated again, at which point AsmTyper::SetTypeOf() would DCHECK because the supplied node already had a type associated with it. The fix was to simply FAIL() when X is not an intish. This is safe because if X is not an intish, then Validate(>>, !intish, FixNum) will also fail. BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=628803 BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST= cctest/asmjs/test-asm-typer.cc LOG= N Review-Url: https://codereview.chromium.org/2181723002 Cr-Commit-Position: refs/heads/master@{#38053}
-
- 25 Jul, 2016 1 commit
-
-
jochen authored
R=bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2173403002 Cr-Commit-Position: refs/heads/master@{#38007}
-
- 21 Jul, 2016 2 commits
-
-
jpp authored
BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=628803 BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST= cctest/asmjs/test-asm-typer.cc LOG= N Review-Url: https://codereview.chromium.org/2172603002 Cr-Commit-Position: refs/heads/master@{#37954}
-
jpp authored
BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=628450 BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST= cctest/asmjs/test-asm-typer.cc TEST= mjsunit/wasm/* LOG= N Review-Url: https://codereview.chromium.org/2164273002 Cr-Commit-Position: refs/heads/master@{#37950}
-
- 15 Jul, 2016 1 commit
-
-
jpp authored
The issue was caused by a mishandling of "special" identifiers, i.e., the module's name, and the module's parameter. BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=628446 BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST= cctest/asmjs/test-asm-typer.cc TEST= cctest/wasm/* LOG=N Review-Url: https://codereview.chromium.org/2147403002 Cr-Commit-Position: refs/heads/master@{#37800}
-
- 14 Jul, 2016 2 commits
-
-
jpp authored
The asm typer would CHECK fail for imports like var bogus = stdlib.<HeapViewType> This CL changes this behavior so the typer reports a validation error instead. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=cctest/asmjs/test-asm-typer.cc LOG=N Review-Url: https://codereview.chromium.org/2152763002 Cr-Commit-Position: refs/heads/master@{#37777}
-
jpp authored
1) Validation fails for literal indexes too large for accessing a given heap type 2) Removes the special handling of FloatishDoubleQ, and FloatQDoubleQ; the inheritance issue that required this special handling was fixed in another CL. 3) Fix a macro name (from asm_* to ASM_*) BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=cctest/asmjs/test-asm-typer.cc LOG=N Review-Url: https://codereview.chromium.org/2150583003 Cr-Commit-Position: refs/heads/master@{#37776}
-
- 13 Jul, 2016 2 commits
-
-
jpp authored
BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST= cctest/asmjs/test-asm-typer LOG=N Review-Url: https://codereview.chromium.org/2148073002 Cr-Commit-Position: refs/heads/master@{#37731}
-
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}
-
- 12 Jul, 2016 1 commit
-
-
jpp authored
This is a rewrite of the ASM validator. This one follows the spec instead of using the AST visitors. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=cctest/asmjs/test-asm-typer TEST=cctest/asmjs/test-typing-asm LOG=N Review-Url: https://codereview.chromium.org/2071343003 Cr-Commit-Position: refs/heads/master@{#37694}
-