- 31 Aug, 2016 1 commit
-
-
jkummerow authored
Previously, fast holey elements accessors would detect element presence by simply doing a hole check on any slot within the backing store's capacity. This relied on the (mostly-true but brittle) assumption that slots beyond the length are always correctly zapped with The Hole. Review-Url: https://codereview.chromium.org/2297253002 Cr-Commit-Position: refs/heads/master@{#39051}
-
- 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}
-
- 04 Aug, 2016 2 commits
-
-
caitp authored
Ensure that receiver->elements() == *dictionary after calling an accessor, in addition to checking the prototype. BUG=chromium:634273, chromium: 634357, v8:5162 R=cbruni@chromium.org, mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2212963002 Cr-Commit-Position: refs/heads/master@{#38347}
-
caitp authored
The contract is that the method is only invoked when there are no elements on the prototype, and this elements type forbids accessor elements. So it is safe to limit the search to the end of the backing store. BUG=chromium:634269, v8:5162 R=cbruni@chromium.org, mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2209273002 Cr-Commit-Position: refs/heads/master@{#38344}
-
- 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}
-
- 23 Jul, 2016 1 commit
-
-
cbruni authored
In PrependElementIndicesImpl we sort a FixedArray of indices potentially containing HeapNumbers. During the string conversion we might trigger a GC. This in turn might try to read a slot where we previously had a HeapNumber but the sort sneaked a SMI in there which is not a valid pointer. BUG=chromium:630561 Review-Url: https://codereview.chromium.org/2173653003 Cr-Commit-Position: refs/heads/master@{#37993}
-
- 21 Jul, 2016 2 commits
-
-
cbruni authored
Only start checking if new keys are shadowed after the first prototype has added non-enumerable shadow keys. This helps minimally in some corner cases if there are few enumerable properties on the prototype compared to the receiver. BUG=chromium:628173 Review-Url: https://codereview.chromium.org/2169523002 Cr-Commit-Position: refs/heads/master@{#37940}
-
cbruni authored
BUG= Review-Url: https://codereview.chromium.org/2162393002 Cr-Commit-Position: refs/heads/master@{#37932}
-
- 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}
-
- 28 Jun, 2016 1 commit
-
-
cbruni authored
This cl fixes the long-standing bug for for-in with shadowing properties. BUG=v8:705 Review-Url: https://codereview.chromium.org/2081733002 Cr-Commit-Position: refs/heads/master@{#37333}
-
- 14 Jun, 2016 1 commit
-
-
cbruni authored
Reland of place all remaining Oddball checks with new function (patchset #1 id:1 of https://codereview.chromium.org/2060213002/ ) Reason for revert: Cannot reproduce gc-stress failures locally. Original issue's description: > Revert of Replace all remaining Oddball checks with new function (patchset #10 id:180001 of https://codereview.chromium.org/2043183003/ ) > > Reason for revert: > failing tests > > Original issue's description: > > Replace all remaining Oddball checks with new function > > > > This CL removes the IsUndefined() and Co. methods from Object and HeapObject. > > The new method all take the isolate as parameter. > > > > BUG= > > > > Committed: https://crrev.com/ccefb3ae5fe967288d568013fb04e8761eafebc5 > > Cr-Commit-Position: refs/heads/master@{#36921} > > TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG= > > Committed: https://crrev.com/33b8bc24a12fb062100c0be84456faeb0b9fa5d1 > Cr-Commit-Position: refs/heads/master@{#36923} TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2059173002 Cr-Commit-Position: refs/heads/master@{#36957}
-
- 13 Jun, 2016 2 commits
-
-
cbruni authored
Revert of Replace all remaining Oddball checks with new function (patchset #10 id:180001 of https://codereview.chromium.org/2043183003/ ) Reason for revert: failing tests Original issue's description: > Replace all remaining Oddball checks with new function > > This CL removes the IsUndefined() and Co. methods from Object and HeapObject. > The new method all take the isolate as parameter. > > BUG= > > Committed: https://crrev.com/ccefb3ae5fe967288d568013fb04e8761eafebc5 > Cr-Commit-Position: refs/heads/master@{#36921} TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2060213002 Cr-Commit-Position: refs/heads/master@{#36923}
-
cbruni authored
This CL removes the IsUndefined() and Co. methods from Object and HeapObject. The new method all take the isolate as parameter. BUG= Review-Url: https://codereview.chromium.org/2043183003 Cr-Commit-Position: refs/heads/master@{#36921}
-
- 07 Jun, 2016 1 commit
-
-
cbruni authored
Using the isolate to check for IsUndefined and IsTheHole is roughly at least 20% faster in the worst-case and up to a factor 2x in the best case. BUG= Review-Url: https://codereview.chromium.org/2031533002 Cr-Commit-Position: refs/heads/master@{#36787}
-
- 06 Jun, 2016 1 commit
-
-
cbruni authored
Passing in the isolate and pointer compare the instnance against the corresponding constant is always faster than decoding the instance types. BUG= Review-Url: https://codereview.chromium.org/2028983002 Cr-Commit-Position: refs/heads/master@{#36744}
-
- 30 May, 2016 1 commit
-
-
cbruni authored
Expose more or less the full functionality of the KeyAccumulator in the API: - use the PropertyFilter introduced for GetOwnPropertyNames - use KeyCollectionLimit for OWN_ONLY or INLCUDE_PROTOS - use IndexFilter to eithe SKIP_INDICES or INCLUDE_INDICES Rewire Object::GetOwnPropertyNames to use GetPropertyNames. BUG=chromium:148757 Review-Url: https://codereview.chromium.org/2002203002 Cr-Commit-Position: refs/heads/master@{#36595}
-
- 25 May, 2016 1 commit
-
-
cbruni authored
Reland of [keys] Simplify KeyAccumulator (patchset #1 id:1 of https://codereview.chromium.org/2010593002/ ) Reason for revert: relanding, fixed handle dereferencing Original issue's description: > Revert of [keys] Simplify KeyAccumulator (patchset #15 id:280001 of https://codereview.chromium.org/1995263002/ ) > > Reason for revert: > https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/6248 > > Original issue's description: > > [keys] Simplify KeyAccumulator > > > > - Use KeyAccumulator::GetKeys directly instead of JSReceiver::GetKeys > > - Revert KeyAccumulator to single OrderedHashSet implementation. > > - Convert the OrderedHashSet in-place to a FixedArray > > - IndexedInterceptor indices are no longer combined and sorted with the object indices > > > > BUG= > > > > Committed: https://crrev.com/d3324df017046bcde247a5aef6d1b59bfae5908f > > Cr-Commit-Position: refs/heads/master@{#36485} > > TBR=jkummerow@chromium.org,verwaest@chromium.org,cbruni@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG= > > Committed: https://crrev.com/893524b53d43df63bca6cb9b7244d21771fadb0b > Cr-Commit-Position: refs/heads/master@{#36486} TBR=jkummerow@chromium.org,verwaest@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2014523002 Cr-Commit-Position: refs/heads/master@{#36502}
-
- 24 May, 2016 2 commits
-
-
machenbach authored
Revert of [keys] Simplify KeyAccumulator (patchset #15 id:280001 of https://codereview.chromium.org/1995263002/ ) Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/6248 Original issue's description: > [keys] Simplify KeyAccumulator > > - Use KeyAccumulator::GetKeys directly instead of JSReceiver::GetKeys > - Revert KeyAccumulator to single OrderedHashSet implementation. > - Convert the OrderedHashSet in-place to a FixedArray > - IndexedInterceptor indices are no longer combined and sorted with the object indices > > BUG= > > Committed: https://crrev.com/d3324df017046bcde247a5aef6d1b59bfae5908f > Cr-Commit-Position: refs/heads/master@{#36485} TBR=jkummerow@chromium.org,verwaest@chromium.org,cbruni@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2010593002 Cr-Commit-Position: refs/heads/master@{#36486}
-
cbruni authored
- Use KeyAccumulator::GetKeys directly instead of JSReceiver::GetKeys - Revert KeyAccumulator to single OrderedHashSet implementation. - Convert the OrderedHashSet in-place to a FixedArray - IndexedInterceptor indices are no longer combined and sorted with the object indices BUG= Review-Url: https://codereview.chromium.org/1995263002 Cr-Commit-Position: refs/heads/master@{#36485}
-
- 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}
-
- 15 Apr, 2016 1 commit
-
-
cbruni authored
BUG= Committed: https://crrev.com/5210f167e802a3758aac1f2900a6560c8de07831 Cr-Commit-Position: refs/heads/master@{#35231} Review URL: https://codereview.chromium.org/1834373003 Cr-Commit-Position: refs/heads/master@{#35516}
-
- 08 Apr, 2016 1 commit
-
-
cbruni authored
BUG=chromium:601390 LOG=n Review URL: https://codereview.chromium.org/1865343002 Cr-Commit-Position: refs/heads/master@{#35345}
-
- 07 Apr, 2016 1 commit
-
-
cbruni authored
Make sure we check that packed elements do not containt TheHole. %DebugPrint: - Only print the transition arrays for maps - Print more detailed instance types directly for objects - directly print the array length for JS_ARRAY objects BUG= Review URL: https://codereview.chromium.org/1870433003 Cr-Commit-Position: refs/heads/master@{#35338}
-
- 06 Apr, 2016 3 commits
-
-
cbruni authored
BUG= NOTRY=true NOPRESUBMIT=true NOTREECHECKS=true Review URL: https://codereview.chromium.org/1865903002 Cr-Commit-Position: refs/heads/master@{#35303}
-
cbruni authored
drive-by-fix: unify template parameters BUG=chromium:586068 LOG=n Review URL: https://codereview.chromium.org/1857163002 Cr-Commit-Position: refs/heads/master@{#35302}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1834613003 Cr-Commit-Position: refs/heads/master@{#35300}
-
- 05 Apr, 2016 1 commit
-
-
cbruni authored
BUG=chromium:599414 LOG=n Review URL: https://codereview.chromium.org/1863553003 Cr-Commit-Position: refs/heads/master@{#35269}
-
- 04 Apr, 2016 2 commits
-
-
machenbach authored
Revert of [heap] Add optimized RecordWrites (patchset #3 id:40001 of https://codereview.chromium.org/1834373003/ ) Reason for revert: [Sheriff] Likely causing blink crashes: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/3667 Original issue's description: > [heap] Add optimized RecordWrites > BUG= > > Committed: https://crrev.com/5210f167e802a3758aac1f2900a6560c8de07831 > Cr-Commit-Position: refs/heads/master@{#35231} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,cbruni@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1860443003 Cr-Commit-Position: refs/heads/master@{#35235}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1834373003 Cr-Commit-Position: refs/heads/master@{#35231}
-
- 01 Apr, 2016 1 commit
-
-
cbruni authored
IsKey is much slower compare to direct comparisons with undefined_value and the_hole_value. BUG= Review URL: https://codereview.chromium.org/1847183004 Cr-Commit-Position: refs/heads/master@{#35209}
-
- 29 Mar, 2016 1 commit
-
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1841713002 Cr-Commit-Position: refs/heads/master@{#35109}
-
- 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}
-
- 23 Mar, 2016 3 commits
-
-
machenbach authored
Reland of [elements] Minor hardening and cleanup of concat (patchset #1 id:1 of https://codereview.chromium.org/1825363002/ ) Reason for revert: Test disabled. See: https://codereview.chromium.org/1830583002/ Original issue's description: > Revert of [elements] Minor hardening and cleanup of concat (patchset #7 id:120001 of https://codereview.chromium.org/1812753004/ ) > > Reason for revert: > [Sheriff] Something seems to leak: > https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN/builds/10838 > > I don't see the direct connection to this CL though... > > Original issue's description: > > [elements] Minor hardening and cleanup of concat > > > > BUG= > > > > Committed: https://crrev.com/b98b3fbbe3dd14548cb356339f52403c07ef33f4 > > Cr-Commit-Position: refs/heads/master@{#35027} > > TBR=jkummerow@chromium.org,cbruni@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG= > > Committed: https://crrev.com/d30d861a0cb0da11efd3b30eb3d03fbe56b4ba23 > Cr-Commit-Position: refs/heads/master@{#35028} TBR=jkummerow@chromium.org,cbruni@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. BUG= Review URL: https://codereview.chromium.org/1827573003 Cr-Commit-Position: refs/heads/master@{#35038}
-
machenbach authored
Revert of [elements] Minor hardening and cleanup of concat (patchset #7 id:120001 of https://codereview.chromium.org/1812753004/ ) Reason for revert: [Sheriff] Something seems to leak: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN/builds/10838 I don't see the direct connection to this CL though... Original issue's description: > [elements] Minor hardening and cleanup of concat > > BUG= > > Committed: https://crrev.com/b98b3fbbe3dd14548cb356339f52403c07ef33f4 > Cr-Commit-Position: refs/heads/master@{#35027} TBR=jkummerow@chromium.org,cbruni@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1825363002 Cr-Commit-Position: refs/heads/master@{#35028}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1812753004 Cr-Commit-Position: refs/heads/master@{#35027}
-