- 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}
-
- 18 Mar, 2016 1 commit
-
-
cbruni authored
Using std::sort on a FixedArray with HeapNumbers is not very GC friendly. Adding a separate step to properly record possible HeapNumbers. BUG=chromium:594954 LOG=N Review URL: https://codereview.chromium.org/1807173002 Cr-Commit-Position: refs/heads/master@{#34888}
-
- 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 2 commits
-
-
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}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1792283007 Cr-Commit-Position: refs/heads/master@{#34779}
-
- 14 Mar, 2016 1 commit
-
-
caitpotter88 authored
BUG=v8:4825 LOG=N R=jkummerow@chromium.org, cbruni@chromium.org Review URL: https://codereview.chromium.org/1778023004 Cr-Commit-Position: refs/heads/master@{#34754}
-
- 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}
-
- 01 Mar, 2016 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org BUG=v8:3956 LOG=n Review URL: https://codereview.chromium.org/1731063007 Cr-Commit-Position: refs/heads/master@{#34398}
-
- 25 Feb, 2016 1 commit
-
-
jkummerow authored
Mostly by avoiding unnecessary Handle/HandleScope creation, "length" property lookups, and length conversions. This yields about 60% speedup on the microbenchmark I tested with. Note that the C++ builtin is the middle performance tier of three, so not every Array.push use case will be affected by this patch. Review URL: https://codereview.chromium.org/1716833002 Cr-Commit-Position: refs/heads/master@{#34268}
-
- 02 Feb, 2016 2 commits
-
-
jkummerow authored
BUG=chromium:583257 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1651253003 Cr-Commit-Position: refs/heads/master@{#33683}
-
jkummerow authored
This is a follow-up fix to f4872f74 / r33616. Review URL: https://codereview.chromium.org/1659853002 Cr-Commit-Position: refs/heads/master@{#33667}
-
- 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}
-
- 22 Jan, 2016 2 commits
-
-
cbruni authored
Revert of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #1 id:1 of https://codereview.chromium.org/1612413003/ ) Reason for revert: let me quickly revert the revert, wut? Goal: my CL should not be in the tree! Original issue's description: > Reland of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #1 id:1 of https://codereview.chromium.org/1619803003/ ) > > Reason for revert: > the deopt issues have been taken care of by benedikt > > Original issue's description: > > Revert of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #10 id:180001 of https://codereview.chromium.org/1608523002/ ) > > > > Reason for revert: > > tanks for-in significantly > > > > Original issue's description: > > > [runtime] Do not use the enum-cache for keys retrieval. > > > > > > Currently we fail to properly handle shadowed properties. If the > > > receiver defines a non-enumerable property that reappears on the > > > prototype as enumerable it incorrectly shows up in [[Enumerate]]. > > > By extending the KeyAccumulator to track non-enumerable properties > > > we can now properly filter them out when seeing them further up in > > > the prototype-chain. > > > > > > BUG=v8:705 > > > LOG=y > > > > > > Committed: https://crrev.com/ed24dfe80d1da0827b8571839ee52c03ad09c9c7 > > > Cr-Commit-Position: refs/heads/master@{#33405} > > > > TBR=jkummerow@chromium.org,bmeurer@chromium.org > > # Not skipping CQ checks because original CL landed more than 1 days ago. > > BUG=v8:705 > > LOG=n > > > > Committed: https://crrev.com/6e0573c6fff1c3041bab106d1197ab1b64aa9a6a > > Cr-Commit-Position: refs/heads/master@{#33443} > > TBR=jkummerow@chromium.org,bmeurer@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:705 > > Committed: https://crrev.com/5569e270eda517b5ea74e3a7676b3230cbe2f7a9 > Cr-Commit-Position: refs/heads/master@{#33458} TBR=jkummerow@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:705 Review URL: https://codereview.chromium.org/1614313003 Cr-Commit-Position: refs/heads/master@{#33459}
-
cbruni authored
Reland of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #1 id:1 of https://codereview.chromium.org/1619803003/ ) Reason for revert: the deopt issues have been taken care of by benedikt Original issue's description: > Revert of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #10 id:180001 of https://codereview.chromium.org/1608523002/ ) > > Reason for revert: > tanks for-in significantly > > Original issue's description: > > [runtime] Do not use the enum-cache for keys retrieval. > > > > Currently we fail to properly handle shadowed properties. If the > > receiver defines a non-enumerable property that reappears on the > > prototype as enumerable it incorrectly shows up in [[Enumerate]]. > > By extending the KeyAccumulator to track non-enumerable properties > > we can now properly filter them out when seeing them further up in > > the prototype-chain. > > > > BUG=v8:705 > > LOG=y > > > > Committed: https://crrev.com/ed24dfe80d1da0827b8571839ee52c03ad09c9c7 > > Cr-Commit-Position: refs/heads/master@{#33405} > > TBR=jkummerow@chromium.org,bmeurer@chromium.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=v8:705 > LOG=n > > Committed: https://crrev.com/6e0573c6fff1c3041bab106d1197ab1b64aa9a6a > Cr-Commit-Position: refs/heads/master@{#33443} TBR=jkummerow@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:705 Review URL: https://codereview.chromium.org/1612413003 Cr-Commit-Position: refs/heads/master@{#33458}
-
- 21 Jan, 2016 1 commit
-
-
cbruni authored
Revert of [runtime] Do not use the enum-cache for non-prototype objects. (patchset #10 id:180001 of https://codereview.chromium.org/1608523002/ ) Reason for revert: tanks for-in significantly Original issue's description: > [runtime] Do not use the enum-cache for keys retrieval. > > Currently we fail to properly handle shadowed properties. If the > receiver defines a non-enumerable property that reappears on the > prototype as enumerable it incorrectly shows up in [[Enumerate]]. > By extending the KeyAccumulator to track non-enumerable properties > we can now properly filter them out when seeing them further up in > the prototype-chain. > > BUG=v8:705 > LOG=y > > Committed: https://crrev.com/ed24dfe80d1da0827b8571839ee52c03ad09c9c7 > Cr-Commit-Position: refs/heads/master@{#33405} TBR=jkummerow@chromium.org,bmeurer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:705 LOG=n Review URL: https://codereview.chromium.org/1619803003 Cr-Commit-Position: refs/heads/master@{#33443}
-
- 20 Jan, 2016 1 commit
-
-
cbruni authored
Currently we fail to properly handle shadowed properties. If the receiver defines a non-enumerable property that reappears on the prototype as enumerable it incorrectly shows up in [[Enumerate]]. By extending the KeyAccumulator to track non-enumerable properties we can now properly filter them out when seeing them further up in the prototype-chain. BUG=v8:705 LOG=y Review URL: https://codereview.chromium.org/1608523002 Cr-Commit-Position: refs/heads/master@{#33405}
-
- 18 Jan, 2016 1 commit
-
-
verwaest authored
Review URL: https://codereview.chromium.org/1600353003 Cr-Commit-Position: refs/heads/master@{#33364}
-
- 23 Dec, 2015 1 commit
-
-
cbruni authored
Essentially a revert of https://codereview.chromium.org/1346013005 but preserving the refactorings in elements.cc which happened in the mean time. drive-by-fix: pass isolate as argument to more functions in elements.cc. BUG=v8:4606 LOG=y Review URL: https://codereview.chromium.org/1543563002 Cr-Commit-Position: refs/heads/master@{#33023}
-
- 22 Dec, 2015 1 commit
-
-
bmeurer authored
There's actually no point trying to do Function.prototype.toString in JavaScript, as it always calls into C++ at least once, so it only complicates things (esp. once we start optimizing bound functions). Drive-by-fix: Rename FunctionApply and FunctionCall builtins to also reflect the fact that these are builtins in the Function.prototype and not on Function itself. TBR=hpayer@chromium.org R=yangguo@chromium.org BUG=chromium:535408 LOG=n Review URL: https://codereview.chromium.org/1540953004 Cr-Commit-Position: refs/heads/master@{#32996}
-