- 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}
-
- 24 Aug, 2015 1 commit
-
-
cbruni authored
- adding tests to improve coverage of the splice method BUG= Committed: https://crrev.com/8533d4b5433d3a9e9fb1015f206997bd6d869fe3 Cr-Commit-Position: refs/heads/master@{#30269} Review URL: https://codereview.chromium.org/1293683005 Cr-Commit-Position: refs/heads/master@{#30326}
-
- 20 Aug, 2015 2 commits
-
-
cbruni authored
Revert of Moving ArraySplice Builtin to ElementsAccessor (patchset #6 id:100001 of https://codereview.chromium.org/1293683005/ ) Reason for revert: failing bot http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/3827 Original issue's description: > - remove the Backing-Store speficic 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} TBR=mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1305763002 Cr-Commit-Position: refs/heads/master@{#30271}
-
cbruni authored
- adding tests to improve coverage of the splice method BUG= Review URL: https://codereview.chromium.org/1293683005 Cr-Commit-Position: refs/heads/master@{#30269}
-
- 31 Jul, 2015 1 commit
-
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1260283002 Cr-Commit-Position: refs/heads/master@{#29958}
-
- 10 Jul, 2015 2 commits
-
-
verwaest authored
BUG=v8:4137, v8:4177 LOG=n Review URL: https://codereview.chromium.org/1230213002 Cr-Commit-Position: refs/heads/master@{#29574}
-
verwaest authored
BUG=v8:4137,v8:4177 LOG=n Review URL: https://codereview.chromium.org/1232463005 Cr-Commit-Position: refs/heads/master@{#29571}
-
- 07 Jul, 2015 1 commit
-
-
verwaest authored
BUG=v8:4137 LOG=n Review URL: https://codereview.chromium.org/1224643004 Cr-Commit-Position: refs/heads/master@{#29514}
-
- 06 Jul, 2015 1 commit
-
-
verwaest authored
BUG=v8:4137 LOG=n Review URL: https://codereview.chromium.org/1218813012 Cr-Commit-Position: refs/heads/master@{#29477}
-
- 03 Jul, 2015 1 commit
-
-
verwaest authored
BUG=v8:4137 LOG=n Review URL: https://codereview.chromium.org/1224533003 Cr-Commit-Position: refs/heads/master@{#29467}
-
- 02 Jul, 2015 1 commit
-
-
verwaest authored
BUG=v8:4137 LOG=n Review URL: https://codereview.chromium.org/1221713003 Cr-Commit-Position: refs/heads/master@{#29447}
-
- 25 Jun, 2015 2 commits
-
-
verwaest authored
BUG=v8:4137 LOG=n Review URL: https://codereview.chromium.org/1205913002 Cr-Commit-Position: refs/heads/master@{#29295}
-
verwaest authored
BUG=v8:4137 LOG=n Review URL: https://codereview.chromium.org/1207613005 Cr-Commit-Position: refs/heads/master@{#29289}
-