- 26 Oct, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,rossberg@chromium.org,binji@chromium.org,bradnelson@chromium.org BUG=chromium:575167, chromium:659591 Review-Url: https://codereview.chromium.org/2440953002 Cr-Commit-Position: refs/heads/master@{#40600}
-
- 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}
-
- 17 Oct, 2016 1 commit
-
-
jochen authored
R=machenbach@chromium.org,titzer@chromium.org,bmeurer@chromium.org,jgruber@chromium.org BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_win_dbg,v8_mac_dbg;master.tryserver.chromium.android:android_arm64_dbg_recipe Review-Url: https://codereview.chromium.org/2416243002 Cr-Commit-Position: refs/heads/master@{#40350}
-
- 12 Oct, 2016 1 commit
-
-
clemensh authored
For the asm.js to WASM pipeline, the current stack traces only show low-level WASM information. This CL maps this back to asm.js source positions. It does so by attaching the asm.js source Script to the compiled WASM module, and emitting a delta-encoded table which maps from WASM byte offsets to positions within that Script. As asm.js code does not throw exceptions, we only store a mapping for call instructions. The new AsmJsWasmStackFrame implementation inherits from WasmStackFrame, but contains the logic to provide the source script and the position inside of it. What is still missing is the JSFunction object returned by CallSite.getFunction(). We currently return null. R=jgruber@chromium.org, titzer@chromium.org BUG=v8:4203 Review-Url: https://codereview.chromium.org/2404253002 Cr-Commit-Position: refs/heads/master@{#40205}
-
- 11 Oct, 2016 1 commit
-
-
clemensh authored
This is needed for the asm.js -> WASM pipeline. A single exported function is exported as __single_function__, but we still want to see the correct function name on the stack, so the underlying wasm function has to carry the original name. R=ahaas@chromium.org, titzer@chromium.org BUG=v8:4203 Review-Url: https://codereview.chromium.org/2406133003 Cr-Commit-Position: refs/heads/master@{#40159}
-
- 10 Oct, 2016 1 commit
-
-
titzer authored
R=bradnelson@chromium.org,aseemgarg@chromium.org BUG= Review-Url: https://codereview.chromium.org/2408823002 Cr-Commit-Position: refs/heads/master@{#40135}
-
- 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}
-
- 03 Oct, 2016 1 commit
-
-
bradnelson authored
Recent changes to the wasm format prevent you from knowing the function index of a direct call until you know how many imports you have (the index spaces have been merged). Asm.js validation can't know this until all callsites have been visited if you want to avoid materializing the entire AST / parsing twice. Instead, keep a list of fixups to perform for all direct callsites, then update these with the imports count added when emitting the module. BUG=v8:4203 R=aseemgarg@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2384623003 Cr-Commit-Position: refs/heads/master@{#39937}
-
- 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}
-
- 29 Sep, 2016 1 commit
-
-
titzer authored
R=bradnelson@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org BUG= Review-Url: https://codereview.chromium.org/2383463002 Cr-Commit-Position: refs/heads/master@{#39861}
-
- 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 2 commits
-
-
heimbuef authored
This is some initial cleanup to keep /src clean. The AccountingAllocator is actually exclusively used by zones and this common subfolder makes that more clear. BUG=v8:5409 Review-Url: https://codereview.chromium.org/2344143003 Cr-Commit-Position: refs/heads/master@{#39558}
-
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}
-
- 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}
-
- 12 Sep, 2016 1 commit
-
-
mtrofin authored
Moved the compilation/instantiation pipeline to work off the module object (JSObject), making the compiled module data (the FixedArray) an implementation detail. This: - simplifies the code by removing duplicate decode->compile->instantiate sequences - sets up the stage for "dressing up" the runtime model with stronger typed APIs - helps relanding this CL: https://codereview.chromium.org/2305903002/. It turns out that GCs during the cloning/instantiation events cause trouble, and centering the source of truth on the module object helps address this issue. In the process, clarified cctest setup for wasm-capable isolates, and changed signatures for consistency (using ModuleOrigin througout). BUG= Review-Url: https://codereview.chromium.org/2320723005 Cr-Commit-Position: refs/heads/master@{#39360}
-
- 05 Sep, 2016 2 commits
-
-
machenbach authored
Revert of includes: Make ast.h not need isolate.h any more. (patchset #3 id:60001 of https://codereview.chromium.org/2301423002/ ) Reason for revert: Breaks gc stress: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/5642 Original issue's description: > includes: Make ast.h not need isolate.h any more. > > Also remove other unnecessary includes from ast.h and dependencies. > > BUG=v8:5294 > > Committed: https://crrev.com/9c888dffda4bff420ec3ef21e623aa4e5054d1c3 > Cr-Commit-Position: refs/heads/master@{#39155} TBR=adamk@chromium.org,mstarzinger@chromium.org,bmeurer@chromium.org,marja@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5294 Review-Url: https://codereview.chromium.org/2305373002 Cr-Commit-Position: refs/heads/master@{#39159}
-
marja authored
Also remove other unnecessary includes from ast.h and dependencies. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2301423002 Cr-Commit-Position: refs/heads/master@{#39155}
-
- 02 Sep, 2016 2 commits
-
-
adamk authored
This makes for slightly faster rebuilds when touching parser-base.h (which changes frequently!). Also takes care of an old TODO, moving CompileTimeValue into its own file under ast/, where it properly belongs. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2305883002 Cr-Commit-Position: refs/heads/master@{#39141}
-
mvstanton authored
Our Type class has a semantic and representational dimension. Much code in src/ast, Crankshaft and Turbofan is based on it. Going forward in Turbofan we'd like to remove representational information entirely. To that end, new type AstType has been created to preserve existing behavior for the benefit of Crankshaft and the AST. BUG= Review-Url: https://codereview.chromium.org/2302283002 Cr-Commit-Position: refs/heads/master@{#39135}
-
- 01 Sep, 2016 1 commit
-
-
mtrofin authored
This unblocks avoiding the separate code template. In the upcoming CL doing away with code templates, We need to track instances through the module object, which needs to be separate from the compiled module data, which is then shared with the first instance. This CL ensures we have the object available in the asm.js scenario, too. Note that this CL also unifies the error messaging when module decoding fails. BUG=v8:5316 Review-Url: https://codereview.chromium.org/2299873002 Cr-Commit-Position: refs/heads/master@{#39097}
-
- 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}
-
- 30 Aug, 2016 1 commit
-
-
titzer authored
This CL is a prequisite for the stack machine changes, which will need to use temporaries in various places due to the stack height requirements on blocks. R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review-Url: https://codereview.chromium.org/2280063002 Cr-Commit-Position: refs/heads/master@{#39001}
-
- 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 2 commits
-
-
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}
-
marja authored
This makes us able to get rid of dependencies to parser.h from places which only need the ParseInfo, and also gets rid of the curious Parser <-> Compiler circular dependency. Also IWYUd where necessary. BUG= Review-Url: https://codereview.chromium.org/2268513002 Cr-Commit-Position: refs/heads/master@{#38777}
-
- 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}
-
- 18 Aug, 2016 1 commit
-
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Fixing it: - Don't include stuff in headers unless necessary. - Include the stuff you need, not some other stuff that happens to include the stuff you need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2246203005 Cr-Commit-Position: refs/heads/master@{#38708}
-
- 16 Aug, 2016 1 commit
-
-
hablich authored
BUG=v8:5291 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2241203004 Cr-Commit-Position: refs/heads/master@{#38647}
-
- 15 Aug, 2016 1 commit
-
-
rmcilroy authored
Removes Variable::is_possibly_eval() and instead stores whether a call is possibly eval in the Call node's bitfield. Also removes HandleDereferenceMode since it's no longer used. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2242583003 Cr-Commit-Position: refs/heads/master@{#38633}
-
- 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}
-