- 18 Oct, 2016 2 commits
-
-
bjaideep authored
Port 308788b3 Original commit message: Consistently collect CallIC feedback in fullcodegen and Ignition, even for possibly direct eval calls, that were treated specially so far, for no apparent reason. With the upcoming SharedFunctionInfo based CallIC feedback, we might be able to even inline certain direct eval calls, if they manage to hit the eval cache. More importantly, this patch simplifies the collection and dealing with CallIC feedback (and as a side effect fixes an inconsistency with feedback for super constructor calls). R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2425243003 Cr-Commit-Position: refs/heads/master@{#40412}
-
bmeurer authored
These intrinsics are unused now, and so we can drop all the code in fullcodegen and Crankshaft that deals with those. TurboFan and Ignition never tried to optimize those. R=mstarzinger@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2427673004 Cr-Commit-Position: refs/heads/master@{#40401}
-
- 12 Oct, 2016 1 commit
-
-
bjaideep authored
Port c15c5827 Original commit message: This is the next step to unify the Call/Construct feedback collection and prepare it to be able to collect SharedFunctionInfo feedback. This also reduces the CallICStub overhead quite a bit since we only need one stub per mode (and tail call mode), not also one per call arity. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2415583002 Cr-Commit-Position: refs/heads/master@{#40228}
-
- 11 Oct, 2016 1 commit
-
-
bjaideep authored
Port 001926cd Original commit message: In fullcodegen we used to count CallICs as patching ICs, and thus the heuristics are currently off by the number of calls in a code object. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2410203002 Cr-Commit-Position: refs/heads/master@{#40182}
-
- 07 Oct, 2016 3 commits
-
-
jgruber authored
BUG= Committed: https://crrev.com/7db0ecdec3cf330766575cb7973b983f3f1e3020 Review-Url: https://codereview.chromium.org/2381843002 Cr-Original-Commit-Position: refs/heads/master@{#40080} Cr-Commit-Position: refs/heads/master@{#40087}
-
jgruber authored
This reverts commit 7db0ecde. Manual revert since automatic revert is too large for the web interface. BUG= TBR=bmeurer@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org,ahaas@chromium.org NOPRESUBMIT=true NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2396353002 Cr-Commit-Position: refs/heads/master@{#40082}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2381843002 Cr-Commit-Position: refs/heads/master@{#40080}
-
- 06 Oct, 2016 1 commit
-
-
tebbi authored
BUG=v8:5431 Review-Url: https://codereview.chromium.org/2372113004 Cr-Commit-Position: refs/heads/master@{#40051}
-
- 28 Sep, 2016 1 commit
-
-
bmeurer authored
As of https://codereview.chromium.org/2348493003 there are no users of this intrinsic left in the code, and we don't want to have any new users of it. The runtime function remains as it serves as a fallback for the optimized code (Crankshaft code actually). BUG=v8:5049 R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2378693002 Cr-Commit-Position: refs/heads/master@{#39822}
-
- 24 Sep, 2016 1 commit
-
-
ishell authored
BUG=v8:5408 Review-Url: https://codereview.chromium.org/2367693002 Cr-Commit-Position: refs/heads/master@{#39707}
-
- 23 Sep, 2016 3 commits
-
-
machenbach authored
Reland of [fullcodegen] Refactor code that calls store ICs. (patchset #1 id:1 of https://codereview.chromium.org/2363123002/ ) Reason for revert: Didn't help Original issue's description: > Revert of [fullcodegen] Refactor code that calls store ICs. (patchset #1 id:20001 of https://codereview.chromium.org/2363513003/ ) > > Reason for revert: > race suspect: > https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 > > Original issue's description: > > [fullcodegen] Refactor code that calls store ICs. > > > > Make FCG::CallStoreIC() load slot and name and make FCG::CallKeyedStoreIC() load > > slot according to store IC calling convention (StoreDescriptor). > > > > BUG=v8:5407 > > > > Committed: https://crrev.com/12918397b4af7b2bede8b29e1e9b1940d5d5ad3b > > Cr-Commit-Position: refs/heads/master@{#39679} > > TBR=mvstanton@chromium.org,ishell@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:5407 > > Committed: https://crrev.com/51fa56d1b8e9e320f7442682415e9df50ab19591 > Cr-Commit-Position: refs/heads/master@{#39682} TBR=mvstanton@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5407 Review-Url: https://codereview.chromium.org/2361393005 Cr-Commit-Position: refs/heads/master@{#39683}
-
machenbach authored
Revert of [fullcodegen] Refactor code that calls store ICs. (patchset #1 id:20001 of https://codereview.chromium.org/2363513003/ ) Reason for revert: race suspect: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 Original issue's description: > [fullcodegen] Refactor code that calls store ICs. > > Make FCG::CallStoreIC() load slot and name and make FCG::CallKeyedStoreIC() load > slot according to store IC calling convention (StoreDescriptor). > > BUG=v8:5407 > > Committed: https://crrev.com/12918397b4af7b2bede8b29e1e9b1940d5d5ad3b > Cr-Commit-Position: refs/heads/master@{#39679} TBR=mvstanton@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5407 Review-Url: https://codereview.chromium.org/2363123002 Cr-Commit-Position: refs/heads/master@{#39682}
-
ishell authored
Make FCG::CallStoreIC() load slot and name and make FCG::CallKeyedStoreIC() load slot according to store IC calling convention (StoreDescriptor). BUG=v8:5407 Review-Url: https://codereview.chromium.org/2363513003 Cr-Commit-Position: refs/heads/master@{#39679}
-
- 20 Sep, 2016 1 commit
-
-
klaasb authored
Refactors CodeStubAssembler::AllocateJSArray to share code. BUG=chromium:608675 Review-Url: https://codereview.chromium.org/2304573004 Cr-Commit-Position: refs/heads/master@{#39550}
-
- 16 Sep, 2016 1 commit
-
-
bakkot authored
This is one part of a WIP implementation of the stage-2 proposal to add fields to classes: https://github.com/tc39/proposal-class-public-fields See design doc: https://docs.google.com/document/d/1WRtNm3ZLNJT1WVr8aq4RJuByYgfuAFAhj20LwTW6JVE/ This adds support for parsing fields in classes, including infrastructure. In particular, it adds: * Two booleans on function literal AST nodes * Two compiler hints on SharedFunctionInfos representing said bools * A new type of ClassLiteralProperty, FIELD * Parser support for the syntax * Syntax tests * A flag to enable it. Currently the fields are parsed and then droppped. Subsequent patches will add semantics, mostly by desugaring in the parser and the remainder in the non-crankshaft backends. BUG=v8:5367 Review-Url: https://codereview.chromium.org/2315733003 Cr-Commit-Position: refs/heads/master@{#39459}
-
- 15 Sep, 2016 1 commit
-
-
bjaideep authored
Port c7d7ca36 Original commit message: Add a notion of "invocation count" to the baseline compilers, which increment a special slot in the TypeFeedbackVector for each invocation of a given function (the optimized code doesn't currently collect this information). Use this invocation count to relativize the call counts on the call sites within the function, so that the inlining heuristic has a view of relative importance of a call site rather than some absolute numbers with unclear meaning for the current function. Also apply the call site frequency as a factor to all frequencies in the inlinee by passing this to the graph builders so that the importance of a call site in an inlinee is relative to the topmost optimized function. Note that all functions that neither have literals nor need type feedback slots will share a single invocation count cell in the canonical empty type feedback vector, so their invocation count is meaningless, but that doesn't matter since we only use the invocation count to relativize call counts within the function, which we only have if we have at least one type feedback vector (the CallIC slot). See the design document for additional details on this change: https://docs.google.com/document/d/1VoYBhpDhJC4VlqMXCKvae-8IGuheBGxy32EOgC2LnT8 R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:5267,v8:5372 LOG=N Review-Url: https://codereview.chromium.org/2338413002 Cr-Commit-Position: refs/heads/master@{#39446}
-
- 09 Sep, 2016 1 commit
-
-
adamk authored
The array spread operator is now handled by desugaring in the parser. Review-Url: https://codereview.chromium.org/2324013002 Cr-Commit-Position: refs/heads/master@{#39317}
-
- 06 Sep, 2016 1 commit
-
-
bakkot authored
This introduces ClassLiteralProperty and a supertype LiteralProperty of it and ObjectLiteralProperty. It also splits the parsing of the two. This substiantially clarifies some logic, especially as classes continue to evolve, and is also about a 2% performance improvement to parsing either kind of property (since no work is wasted on logic only necessary for the other kind). Also, it saves a word on ObjectLiteralProperties. Review-Url: https://codereview.chromium.org/2302643002 Cr-Commit-Position: refs/heads/master@{#39219}
-
- 05 Sep, 2016 1 commit
-
-
ishell authored
Review-Url: https://codereview.chromium.org/2316453002 Cr-Commit-Position: refs/heads/master@{#39178}
-
- 02 Sep, 2016 1 commit
-
-
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}
-
- 01 Sep, 2016 2 commits
-
-
ishell authored
Review-Url: https://codereview.chromium.org/2299973002 Cr-Commit-Position: refs/heads/master@{#39078}
-
bjaideep authored
Port 7516fe1e Original commit message: 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. R=adamk@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/2299043002 Cr-Commit-Position: refs/heads/master@{#39060}
-
- 31 Aug, 2016 1 commit
-
-
marja authored
This way, many files which only need CompilationInfo but not compiler.h and its dependencies can include just compilation-info.h. BUG= Review-Url: https://codereview.chromium.org/2284313003 Cr-Commit-Position: refs/heads/master@{#39038}
-
- 30 Aug, 2016 1 commit
-
-
jochen authored
Instead of creating them on demand all over the place. I plan to link ScopeInfos together, and having one place where all ScopeInfos are created will make this easier. R=verwaest@chromium.org,adamk@chromium.org TBR=mstarzinger@chromium.org BUG=v8:5215 Review-Url: https://codereview.chromium.org/2281073002 Cr-Commit-Position: refs/heads/master@{#39003}
-
- 29 Aug, 2016 1 commit
-
-
verwaest authored
This additionally gets rid of old approach to global shortcuts. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2287173002 Cr-Commit-Position: refs/heads/master@{#38980}
-
- 25 Aug, 2016 1 commit
-
-
neis authored
R=verwaest@chromium.org, bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2269403003 Cr-Commit-Position: refs/heads/master@{#38885}
-
- 24 Aug, 2016 1 commit
-
-
neis authored
The value returned via the int* argument was actually never used. Also remove has_rest_parameter() in favor of returning nullptr from rest_parameter(). This is in line with similar accessors and simplifies my changes. BUG= Review-Url: https://codereview.chromium.org/2276923002 Cr-Commit-Position: refs/heads/master@{#38868}
-
- 22 Aug, 2016 2 commits
-
-
verwaest authored
This is the only user of outer_scope_calls_sloppy_eval. Inlining it simplifies scope analysis. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2263123002 Cr-Commit-Position: refs/heads/master@{#38779}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2266843002 Cr-Commit-Position: refs/heads/master@{#38773}
-
- 12 Aug, 2016 2 commits
-
-
rmcilroy authored
This should be faster and should give the same result. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2243783002 Cr-Commit-Position: refs/heads/master@{#38616}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2231813003 Cr-Commit-Position: refs/heads/master@{#38599}
-
- 11 Aug, 2016 1 commit
-
-
rmcilroy authored
Use IsPropertyName in VisitObjectLiteral to decide whether to do a named property store or call SetProperty. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2237553004 Cr-Commit-Position: refs/heads/master@{#38577}
-
- 10 Aug, 2016 1 commit
-
-
bjaideep authored
Port 6768456d Original commit message: The old code was using VariableMode, but that signal is both over-pessimistic (some CONST and LET variables need no hole-initialization) and inconsistent with other uses of the InitializationFlag enum (such as %LoadLookupSlot). This changes no observable behavior, but removes unnecessary hole initialization and hole checks in a few places, including block-scoped function declarations, super property lookups, and new.target. R=adamk@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2229383004 Cr-Commit-Position: refs/heads/master@{#38551}
-
- 09 Aug, 2016 1 commit
-
-
franzih authored
Drive-by fix: Use CodeStubAssembler::LoadNativeContext() BUG=chromium:608675 Review-Url: https://codereview.chromium.org/2227763003 Cr-Commit-Position: refs/heads/master@{#38501}
-
- 08 Aug, 2016 2 commits
-
-
jyan authored
1. Decouple kS390_Add/Sub/Neg to kS390_Add32/Sub32/Neg32/Add64/Sub64/Neg64 2. Nuke kS390_Add/SubWithOverflow32 3. Add Support for Load-On-Condition to optimize AssembleArchBoolean R=joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com BUG= Review-Url: https://codereview.chromium.org/2220313002 Cr-Commit-Position: refs/heads/master@{#38443}
-
neis authored
Introduces a new VariableLocation MODULE for variables that live in a module's export table. Scope analysis sets this for the approriate variables. Not yet supported by any backend. Also, treats all imports as CONST bindings (including namespace imports), rather than having new special variable modes. BUG= Review-Url: https://codereview.chromium.org/2199283002 Cr-Commit-Position: refs/heads/master@{#38426}
-
- 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}
-
- 04 Aug, 2016 1 commit
-
-
mstarzinger authored
This adds the missing lazy bailout point when defining accessor pairs within object literals via Runtime::kDefineAccessorPropertyUnchecked. The runtime function in question can indeed trigger a lazy deopt due to a DependentCode::kPrototypeCheckGroup dependency. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-633585 BUG=chromium:633585 Review-Url: https://codereview.chromium.org/2207413002 Cr-Commit-Position: refs/heads/master@{#38336}
-