- 24 Nov, 2016 1 commit
-
-
cbruni authored
Make apply calls with double array arguments such as Math.min.apply(Math, [1.1, 2.2]) 1.6x faster. Drive-by-fix: pass in the isolate to ElementsAccessor::GetImpl. BUG=v8:4826 Review-Url: https://codereview.chromium.org/2521043005 Cr-Commit-Position: refs/heads/master@{#41268}
-
- 15 Nov, 2016 1 commit
-
-
cbruni authored
In case of an allocation failure in for-in over holey elements, use precise number of elements to allocate a smaller buffer for the collected indices. Drive-by-fix: make is_the_hole accept the isolate for faster checks. BUG=chromium:609761 Review-Url: https://codereview.chromium.org/2041963003 Cr-Commit-Position: refs/heads/master@{#41010}
-
- 14 Nov, 2016 1 commit
-
-
yangguo authored
We are removing use of the debugger context. When the debugger triggers compilation, we may not have a context from which to create a JSArray. R=ishell@chromium.org BUG=chromium:664577 Review-Url: https://codereview.chromium.org/2479123002 Cr-Commit-Position: refs/heads/master@{#40956}
-
- 10 Nov, 2016 2 commits
-
-
yangguo authored
Revert of Compiling an array literal should be context-independent. (patchset #5 id:80001 of https://codereview.chromium.org/2479123002/ ) Reason for revert: speculative revert to fix https://uberchromegw.corp.google.com/i/client.v8/builders/V8%20Mac%20GC%20Stress/builds/9646/steps/Mjsunit%20%28flakes%29/logs/debug-scopes Original issue's description: > Compiling an array literal should be context-independent. > > We are removing use of the debugger context. When the debugger triggers > compilation, we may not have a context from which to create a JSArray. > > R=ishell@chromium.org TBR=ishell@chromium.org,verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2481363009 Cr-Commit-Position: refs/heads/master@{#40906}
-
yangguo authored
We are removing use of the debugger context. When the debugger triggers compilation, we may not have a context from which to create a JSArray. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2479123002 Cr-Commit-Position: refs/heads/master@{#40884}
-
- 25 Aug, 2016 1 commit
-
-
jkummerow authored
Unlike Crankshaft, Turbofan does not provide a context when trying to grow elements. Depending on the code path we might end up updating transitioning elements kinds in allocation sites for which we need access to the current context. Unlike GrowCapacityAndConvert, the newly introduced GrowCapacity simply returns false in cases where map transitions are involved. BUG=chromium:637279 Patch by Camillo Bruni <cbruni@chromium.org>, originally reviewed at https://codereview.chromium.org/2244983004/ Review-Url: https://codereview.chromium.org/2252393002 Cr-Commit-Position: refs/heads/master@{#38901}
-
- 22 Aug, 2016 1 commit
-
-
mattloring authored
Includes fast paths in the runtime for DictionaryElementsAccessor, FastSmiOrObjectElementsAccessor, FastDoubleElementsAccessor, TypedElementsAccessor, and SloppyArgumentsElementsAccessor. BUG= Review-Url: https://codereview.chromium.org/2232063002 Cr-Commit-Position: refs/heads/master@{#38800}
-
- 05 Aug, 2016 1 commit
-
-
cbruni authored
BUG=chromium:634776 Review-Url: https://codereview.chromium.org/2219803002 Cr-Commit-Position: refs/heads/master@{#38382}
-
- 03 Aug, 2016 1 commit
-
-
caitp authored
BUG=v8:5162 R=bmeurer@chromium.org, cbruni@chromium.org Review-Url: https://codereview.chromium.org/2205883003 Cr-Commit-Position: refs/heads/master@{#38266}
-
- 02 Aug, 2016 1 commit
-
-
machenbach authored
Revert of [builtins] implement Array.prototype.includes in TurboFan (patchset #20 id:380001 of https://codereview.chromium.org/2146293003/ ) Reason for revert: [Sheriff] Breaks: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20builder/builds/2592 Original issue's description: > [builtins] implement Array.prototype.includes in TurboFan > > BUG=v8:5162 > R=bmeurer@chromium.org, ishell@chromium.org > > Committed: https://crrev.com/a488b5d8eb111a4883dc400bd826d079420edd68 > Cr-Commit-Position: refs/heads/master@{#38223} TBR=adamk@chromium.org,bmeurer@chromium.org,cbruni@chromium.org,danno@chromium.org,ishell@chromium.org,littledan@chromium.org,caitp@igalia.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5162 Review-Url: https://codereview.chromium.org/2202163002 Cr-Commit-Position: refs/heads/master@{#38226}
-
- 01 Aug, 2016 1 commit
-
-
caitp authored
BUG=v8:5162 R=bmeurer@chromium.org, ishell@chromium.org Review-Url: https://codereview.chromium.org/2146293003 Cr-Commit-Position: refs/heads/master@{#38223}
-
- 19 Jul, 2016 1 commit
-
-
bmeurer authored
Instead of wriring the elements kind transitions into the control flow early on, we do instead put this marker into the effect chain, so that the elements transitions are visible to the LoadElimination and can thus be optimized properly there. This CL itself doesn't add any of those optimizations, but just adds the foundations to make them possible later. R=jarin@chromium.org BUG=v8:4930,v8:5141 Review-Url: https://codereview.chromium.org/2164573003 Cr-Commit-Position: refs/heads/master@{#37869}
-
- 12 May, 2016 1 commit
-
-
cbruni authored
Currently we do not check for @@isConcatSpreadable properly. If the Symbol is set on the Array.prototype or Object.prototype the current fast paths fail. This CL adds a fix to globally invalidate a isConcatSpreadable_protector. Drive-by-fix: use named accessors for context variables LOG=N BUG=chromium:542504, v8:903 Review-Url: https://codereview.chromium.org/1409123003 Cr-Commit-Position: refs/heads/master@{#36201}
-
- 06 May, 2016 1 commit
-
-
cbruni authored
- Cleanup CL to remove unused parameters in elements.cc. Additionally use fields from the KeyAccumulator wherever possible. - Make method names in KeyAccumulator more consistent BUG= Review-Url: https://codereview.chromium.org/1944703002 Cr-Commit-Position: refs/heads/master@{#36073}
-
- 28 Mar, 2016 1 commit
-
-
caitpotter88 authored
Add support for optimizing objects with elements, which do not invoke JS and cannot change the shape of the Object. BUG=v8:4663 LOG=N Review URL: https://codereview.chromium.org/1767113004 Cr-Commit-Position: refs/heads/master@{#35081}
-
- 16 Mar, 2016 1 commit
-
-
verwaest authored
This speeds up element normalization. BUG= Review URL: https://codereview.chromium.org/1802733002 Cr-Commit-Position: refs/heads/master@{#34812}
-
- 15 Mar, 2016 1 commit
-
-
cbruni authored
Array.prototype.concat did not work correct with complex elements on the receiver or the prototype chain. BUG=chromium:594574 LOG=y Review URL: https://codereview.chromium.org/1804963002 Cr-Commit-Position: refs/heads/master@{#34798}
-
- 07 Mar, 2016 6 commits
-
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 Cr-Commit-Position: refs/heads/master@{#34532} Committed: https://crrev.com/b954c872aac60657b400079b7333216ea658dc8a Cr-Commit-Position: refs/heads/master@{#34548} Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34558}
-
cbruni authored
Revert of [key-accumulator] Starting to reimplement the key-accumulator (patchset #15 id:280001 of https://codereview.chromium.org/1707743002/ ) Reason for revert: gcmole again Original issue's description: > [key-accumulator] Starting to reimplement the key-accumulator > > Introducing the KeyAccumulator accidentally removed some crucial fast-paths. > This CL starts rewriting the KeyAccumulator, step-by-step introducing the > special cases again. > > BUG=chromium:545503, v8:4758 > LOG=y > > Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 > Cr-Commit-Position: refs/heads/master@{#34532} > > Committed: https://crrev.com/b954c872aac60657b400079b7333216ea658dc8a > Cr-Commit-Position: refs/heads/master@{#34548} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:545503, v8:4758 Review URL: https://codereview.chromium.org/1769043003 Cr-Commit-Position: refs/heads/master@{#34551}
-
verwaest authored
Additionally clean up the elements accessor api a bit. BUG= Review URL: https://codereview.chromium.org/1770793002 Cr-Commit-Position: refs/heads/master@{#34549}
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 Cr-Commit-Position: refs/heads/master@{#34532} Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34548}
-
cbruni authored
Revert of [key-accumulator] Starting to reimplement the key-accumulator (patchset #14 id:260001 of https://codereview.chromium.org/1707743002/ ) Reason for revert: gcmole failure https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/8598 Original issue's description: > [key-accumulator] Starting to reimplement the key-accumulator > > Introducing the KeyAccumulator accidentally removed some crucial fast-paths. > This CL starts rewriting the KeyAccumulator, step-by-step introducing the > special cases again. > > BUG=chromium:545503, v8:4758 > LOG=y > > Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 > Cr-Commit-Position: refs/heads/master@{#34532} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:545503, v8:4758 Review URL: https://codereview.chromium.org/1773593003 Cr-Commit-Position: refs/heads/master@{#34537}
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34532}
-
- 29 Jan, 2016 1 commit
-
-
jkummerow authored
String wrappers (new String("foo")) are special objects: their string characters are accessed like elements, and they also have an elements backing store. This used to require a bunch of explicit checks like: if (obj->IsJSValue() && JSValue::cast(obj)->value()->IsString()) { /* Handle string characters */ } // Handle regular elements (for string wrappers and other objects) obj->GetElementsAccessor()->Whatever(...); This CL introduces new ElementsKinds for string wrapper objects (one for fast elements, one for dictionary elements), which allow folding the special-casing into new StringWrapperElementsAccessors. No observable change in behavior is intended. Review URL: https://codereview.chromium.org/1612323003 Cr-Commit-Position: refs/heads/master@{#33616}
-
- 02 Dec, 2015 1 commit
-
-
jkummerow authored
Split out of PropertyAttributes, and used for all filtering purposes. Also moved PropertyAttributes into the v8::internal:: namespace. No change in behavior intended. Review URL: https://codereview.chromium.org/1492653004 Cr-Commit-Position: refs/heads/master@{#32525}
-
- 04 Nov, 2015 1 commit
-
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1425403002 Cr-Commit-Position: refs/heads/master@{#31788}
-
- 19 Oct, 2015 1 commit
-
-
cbruni authored
Separately collect element keys from property keys to avoid slow corner-cases. Partly deal with keys generated by Proxies. BUG=chromium:536790 LOG=N Review URL: https://codereview.chromium.org/1397063002 Cr-Commit-Position: refs/heads/master@{#31378}
-
- 30 Sep, 2015 2 commits
-
-
jkummerow authored
No users of that functionality yet, those will come separately. Review URL: https://codereview.chromium.org/1375003002 Cr-Commit-Position: refs/heads/master@{#31024}
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 17 Sep, 2015 1 commit
-
-
cbruni authored
The core bottleneck lies in N-square cost of array union. Depending on the size of the arrays involved it makes sense to rely on a hash-set/table for the lookup. LOG=N BUG=v8:2904 Review URL: https://codereview.chromium.org/1316213008 Cr-Commit-Position: refs/heads/master@{#30797}
-
- 07 Sep, 2015 1 commit
-
-
cbruni authored
- Moving parts of ArrayConcat from builtins.cc to the ElementsAccessor - Removing ArrayConcat Runtime Function BUG=v8:4317 LOG=N Review URL: https://codereview.chromium.org/1330483003 Cr-Commit-Position: refs/heads/master@{#30619}
-
- 02 Sep, 2015 2 commits
-
-
cbruni authored
- Use the new ElementsAccessor methods - improve test coverage BUG= Review URL: https://codereview.chromium.org/1317053006 Cr-Commit-Position: refs/heads/master@{#30546}
-
cbruni authored
Repeat the same signatures for future refactoring BUG= Review URL: https://codereview.chromium.org/1302413006 Cr-Commit-Position: refs/heads/master@{#30532}
-
- 01 Sep, 2015 1 commit
-
-
cbruni authored
Move BackingStore specific implementation from builtins.cc tp ElementsAccessor BUG= Review URL: https://codereview.chromium.org/1322803002 Cr-Commit-Position: refs/heads/master@{#30526}
-
- 31 Aug, 2015 2 commits
-
-
cbruni authored
Moving FastElements path to ElementsAccessor. BUG= Review URL: https://codereview.chromium.org/1325483002 Cr-Commit-Position: refs/heads/master@{#30477}
-
cbruni authored
- Move fast paths from builtins.cc ArraySlice to ElementsAccessor - Handle more argument types in the fast path BUG= Review URL: https://codereview.chromium.org/1321773002 Cr-Commit-Position: refs/heads/master@{#30471}
-
- 27 Aug, 2015 1 commit
-
-
cbruni authored
- remove the Backing-Store specific code from builtins.cc and put it in elements.cc. - adding tests to improve coverage of the splice method BUG= Review URL: https://codereview.chromium.org/1312033003 Cr-Commit-Position: refs/heads/master@{#30410}
-
- 25 Aug, 2015 3 commits
-
-
hablich authored
Revert of Moving ArraySplice Builtin to ElementsAccessor (patchset #8 id:140001 of https://codereview.chromium.org/1293683005/ ) Reason for revert: Fails layout tests: http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2032/builds/1450 Original issue's description: > - remove the Backing-Store specific code from builtins.cc and put it in elements.cc. > - adding tests to improve coverage of the splice method > > BUG= > > Committed: https://crrev.com/8533d4b5433d3a9e9fb1015f206997bd6d869fe3 > Cr-Commit-Position: refs/heads/master@{#30269} > > Committed: https://crrev.com/07a4a6cb8e2ab940b28a7151a925c796da023524 > Cr-Commit-Position: refs/heads/master@{#30326} TBR=mvstanton@chromium.org,cbruni@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1315823004 Cr-Commit-Position: refs/heads/master@{#30351}
-
cbruni authored
Revert of Array.prototype.unshift builtin improvements (patchset #3 id:40001 of https://codereview.chromium.org/1311343002/ ) Reason for revert: https://codereview.chromium.org/1315823004/ Original issue's description: > Array.prototype.unshift builtin improvements > > Moving unshift to ElementAccessor and increasing the range of arguments > handled directly in C++, namely directly supporting FastDoubleElementsKind. > This should yield a factor 19 speedup for unshift on fast double arrays. > > BUG= > > Committed: https://crrev.com/bf6764e6c1197e50ae148755488307a423b1d9b4 > Cr-Commit-Position: refs/heads/master@{#30347} TBR=yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1311363003 Cr-Commit-Position: refs/heads/master@{#30350}
-
cbruni authored
Moving unshift to ElementAccessor and increasing the range of arguments handled directly in C++, namely directly supporting FastDoubleElementsKind. This should yield a factor 19 speedup for unshift on fast double arrays. BUG= Review URL: https://codereview.chromium.org/1311343002 Cr-Commit-Position: refs/heads/master@{#30347}
-