- 21 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
- 07 May, 2019 1 commit
-
-
Mythri A authored
This is a reland of d14ed12e with fix for test failures in lite mode. When handling load named properties (without feedback vectors) we used to miss to runtimes if the prototypes aren't set. This was because we wanted to give the prototype a chance to become fast, since most prototypes start in slow mode but move to fast after the initial setup. Though this check is not really useful when we don't have feedback vectors, and once feedback vectors are allocated we will turn the prototypes fast anyway. Bug: v8:8394, v8:8860 Change-Id: I5c7b5061e1d9068c72d6f0eea47517880940a054 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591772Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61267}
-
- 12 Apr, 2019 2 commits
-
-
Mythri Alle authored
This reverts commit d14ed12e. Reason for revert: breaks mjsunit tests in lite mode: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm%20-%20sim%20-%20lite/3557 Original change's description: > [ic] Remove the check for fast prototypes in LoadIC_Uninitialized > > When handling load named properties (without feedback vectors) we used > to miss to runtimes if the prototypes aren't set. This was because we > wanted to give the prototype a chance to become fast, since most prototypes > start in slow mode but move to fast after the initial setup. Though this > check is not really useful when we don't have feedback vectors, and once > feedback vectors are allocated we will turn the prototypes fast anyway. > > Bug: v8:8394, v8:8860 > Change-Id: Ib2247e5e921f6375bda65310560ac832fd0339bf > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561316 > Commit-Queue: Mythri Alle <mythria@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60818} TBR=mythria@chromium.org,verwaest@chromium.org Change-Id: I28e420951483c93363e8a78621a247a7723d735f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8394, v8:8860 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1565893Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#60820}
-
Mythri A authored
When handling load named properties (without feedback vectors) we used to miss to runtimes if the prototypes aren't set. This was because we wanted to give the prototype a chance to become fast, since most prototypes start in slow mode but move to fast after the initial setup. Though this check is not really useful when we don't have feedback vectors, and once feedback vectors are allocated we will turn the prototypes fast anyway. Bug: v8:8394, v8:8860 Change-Id: Ib2247e5e921f6375bda65310560ac832fd0339bf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561316 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#60818}
-
- 04 Apr, 2019 1 commit
-
-
Sigurd Schneider authored
Bug: v8:9020 Change-Id: Ie624a02598f5c3a43e40e03d0337c17ca5cc3769 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541052 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#60628}
-
- 29 Mar, 2019 1 commit
-
-
Clemens Hammacher authored
Even though both are allowed in the style guide, it recommends to use 'using', as its syntax is more consistent with the rest of C++. This CL turns all typedefs in ic code to 'using' declarations. R=ishell@chromium.org Bug: v8:8834 Change-Id: I70c74d3f20a6c15693157de5fc40bb769ef0599d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545895 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#60520}
-
- 01 Mar, 2019 1 commit
-
-
Matt Gardner authored
The original was reverted for breaking webkit layout tests: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/30270 It also caused the following clusterfuzz failures: chromium:935832 This was a correctness bug due to not properly handling the case of arrays with prototypes other than Array.prototype. Accesses that were TheHole were not being handled property, both in bounds holes in holey arrays and out of bounds on either holey or packed arrays. Handling was incorrect both in access-assembler and in Turbofan. chromium:935932 This bug was that there was no handling for Has checks on the global object. Turbofan was emitting code for a store (the 'else' condition on 'access_mode == AccessMode::kLoad'). It hit a DCHECK in debug builds but in release could show up in different places. This is the bug that caused the webkit layout test failure that led to the revert. Both bugs are fixed by in CL, and tests are added for those cases. Bug: v8:8733, chromium:935932, chromium:935832 Change-Id: Iba0dfcfce6e15d2c0815a7670ece67bc13ba1925 Reviewed-on: https://chromium-review.googlesource.com/c/1493132Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Matt Gardner <magardn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#59958}
-
- 26 Feb, 2019 1 commit
-
-
Sigurd Schneider authored
This reverts commit 32fc0acf. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/30270 layout test breakage: https://test-results.appspot.com/data/layout_results/V8-Blink_Linux_64/30270/webkit_layout_tests%20%28with%20patch%29/layout-test-results/results.html There is a dead node arriving in representation selection, which might indicate that the problem is not in this CL, but that this CL stirs up the node soup in such a way that dead code elimination gets confused. Original change's description: > Optimize `in` operator > > This change implements optimizations for the `in` operator for packed array > elements and object properties. It adds a new feedback slot kind and an IC > path similar to KeyedLoadIC for handling the lookups. TurboFan uses the > feedback to optimize based on the maps and keys. > > For more details see: > https://docs.google.com/document/d/1tIfzywY8AeNVcy_sen-5Xev21MeZwjcU8QhSdzHvXig > > This can provide 10x performance improvements of on loops of the form: > > for (let i = 0; i < ary.length; ++i) { > if (i in ary) { > ... > } > } > > > Bug: v8:8733 > Change-Id: I766bf865a547a059e5bce5399bb6112e5d9a85c8 > Reviewed-on: https://chromium-review.googlesource.com/c/1432598 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Matt Gardner <magardn@microsoft.com> > Cr-Commit-Position: refs/heads/master@{#59843} TBR=ulan@chromium.org,rmcilroy@chromium.org,jkummerow@chromium.org,jarin@chromium.org,ishell@chromium.org,bmeurer@chromium.org,verwaest@chromium.org,magardn@microsoft.com Change-Id: Ib2db974e5bed4c4a2b6b450f796bdc4b0b8fd562 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8733 Reviewed-on: https://chromium-review.googlesource.com/c/1488761Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59857}
-
- 25 Feb, 2019 1 commit
-
-
Matt Gardner authored
This change implements optimizations for the `in` operator for packed array elements and object properties. It adds a new feedback slot kind and an IC path similar to KeyedLoadIC for handling the lookups. TurboFan uses the feedback to optimize based on the maps and keys. For more details see: https://docs.google.com/document/d/1tIfzywY8AeNVcy_sen-5Xev21MeZwjcU8QhSdzHvXig This can provide 10x performance improvements of on loops of the form: for (let i = 0; i < ary.length; ++i) { if (i in ary) { ... } } Bug: v8:8733 Change-Id: I766bf865a547a059e5bce5399bb6112e5d9a85c8 Reviewed-on: https://chromium-review.googlesource.com/c/1432598Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Matt Gardner <magardn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#59843}
-
- 21 Feb, 2019 1 commit
-
-
Mythri authored
This cl moves the valid feeback vector checks to the builtins and uses fast paths runtime when possible even whithout a valid feedback vector. For LoadNamedProperty it calls LoadIC_Uninitialized which does not need any type feedback and for LoadKeyedProperty it follows the megamorphic path but doesnot use the stub cache. Bug: v8:8293 Change-Id: I6ef9653e3f43c15cb882cbf82c3c2f63fb705a81 Reviewed-on: https://chromium-review.googlesource.com/c/1475393Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#59755}
-
- 15 Feb, 2019 1 commit
-
-
Jaroslav Sevcik authored
If StoreIC stores into a kConst field, only take the slow path if the value is different from the current value. This recovers the ObjectAssign regression in crbug.com/930680. Bug: v8:8361, chromium:930680 Change-Id: Ie27d15d624b07ab1dcb58b244a46b87eec34bd0f Reviewed-on: https://chromium-review.googlesource.com/c/1470134 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#59618}
-
- 13 Feb, 2019 1 commit
-
-
Mythri authored
When an error occurs when storing the properties we either need to throw or ignore the error depending on the language mode. We used to infer the language mode from the type feedback vector. This cl instead falls back to runtime to check and throw an error when needed. Bug: v8:8580 Change-Id: Iebeb3ca86d753157329dc1b5cfd1c07af2ff3dcd Reviewed-on: https://chromium-review.googlesource.com/c/1458220Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#59563}
-
- 31 Jan, 2019 1 commit
-
-
Benedikt Meurer authored
Previously AccessorAssembler::HandlePolymorphicCase() had 4 versions of the inner loop unrolled, but we always had to check against the length after 1 (POLYMORPHIC with name) or 2 (regular POLYMORPHIC) unrolled iterations anyways, so there's not a lot of benefit to unrolling besides the potentially better branch prediction in some cases. But that doesn't seem to be beneficial even in extreme cases (in fact on ARM cores we might get some benefit from having less code instead), and probably doesn't justify the additional C++ / generated code. I used the following extreme micro-benchmark to check the worst case performance impact: ```js function test(o, n) { var result; for (var i = 0; i < n; ++i) { result = o.x; } return result; } const N = 1e8; const objs = [{x: 0}, {x:1,a:1}, {x:2,b:2}, {x:3,c:3}]; for (var j = 0; j < objs.length; ++j) test(objs[j], N); console.time('Time'); for (var j = 0; j < objs.length; ++j) test(objs[j], N); console.timeEnd('Time'); ``` Running this with --noopt shows a ~1% performance regression with this patch on a beefy z840 gLinux workstation, which gives me some confidence that overall this patch is going to be neutral and maybe beneficial in case of less powerful ARM cores. Note to performance sheriffs: This could potentially tank some performance tests. In that case we may need to revisit the unrolling. Bug: v8:8562 Change-Id: I731599a7778da1992d981d36022c407ef5c735eb Reviewed-on: https://chromium-review.googlesource.com/c/1448275Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#59252}
-
- 28 Jan, 2019 2 commits
-
-
Clemens Hammacher authored
This reverts commit c9616b0f. Reason for revert: Fails gc-stress tests: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Mac64%20GC%20Stress/5460 Original change's description: > Infer the language mode instead of passing it as a parameter to builtins > > It is better to infer the language mode from the context and the closure > instead of getting it from the feedback vector. This will allow us to use > some of these builtins even when feedback vectors are not allocated. > Language mode is only needed to decide if we need to throw an exception > when a store fails. This is on a slow path and hence deriving the language > mode is not on critical path. > > Bug: v8:8580 > Change-Id: Id0d8e78d35046f015b5cdc15d5fc3f8a17dd8757 > Reviewed-on: https://chromium-review.googlesource.com/c/1421924 > Commit-Queue: Mythri Alle <mythria@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59113} TBR=mythria@chromium.org,verwaest@chromium.org Change-Id: I584b41ca4d396165a3a294b7facee30f0c4f4a7f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8580 Reviewed-on: https://chromium-review.googlesource.com/c/1436025Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#59114}
-
Mythri authored
It is better to infer the language mode from the context and the closure instead of getting it from the feedback vector. This will allow us to use some of these builtins even when feedback vectors are not allocated. Language mode is only needed to decide if we need to throw an exception when a store fails. This is on a slow path and hence deriving the language mode is not on critical path. Bug: v8:8580 Change-Id: Id0d8e78d35046f015b5cdc15d5fc3f8a17dd8757 Reviewed-on: https://chromium-review.googlesource.com/c/1421924 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59113}
-
- 22 Nov, 2018 1 commit
-
-
Ulan Degenbaev authored
This fixes places that assume that DescriptorArray is a WeakFixedArray. In addition to the existing: - LoadDetailsByKeyIndex - LoadValueByKeyIndex - LoadFieldTypeByKeyIndex This introduces Load*ByDescriptorEntry versions and LoadKeyByKeyIndex. Bug: v8:8486 Change-Id: I958867138df7756c715ae3d449b3206a32076514 Reviewed-on: https://chromium-review.googlesource.com/c/1346501 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57727}
-
- 11 Sep, 2018 2 commits
-
-
Caitlin Potter authored
The CSA implementation is a separate handler so that TF has the opportunity to reduce to a direct call, skipping some of the dispatching in the CloneObjectIC stub. This patch moves the looping over a source object's keys and values into the base CodeStubAssembler, so that it can be shared between ObjectAssignFast and CloneObjectIC_Slow. During each step of the loop, storing is delegated to a new SetPropertyInLiteral helper in KeyedStoreGenericGenerator, which performs a store without consulting the prototype chain, and automatically reconfigures accessors into data properties regardless of their attributes. BUG=v8:8067, v8:7611 R=ishell@chromium.org, jkummerow@chromium.org Change-Id: I06ae89f37e9b4265aab67389cf68a96529f90578 Reviewed-on: https://chromium-review.googlesource.com/1182122 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#55806}
-
Benedikt Meurer authored
We had an optimization in Crankshaft where we would call into the megamorphic handler stub directly if an inline cache was already found to be megamorphic when it hit the optimizing compiler. This way we could avoid the dispatch overhead when we know that there's no point in checking for the other states anyways. However we somehow missed to port this optimization to TurboFan. Now this change introduces support to call into LoadIC_Megamorphic and KeyedLoadIC_Megamorphic directly (plus the trampoline versions), which saves quite a lot of overhead for the cases where the map/name pair is found in the megamorphic stub cache, and it's quite a simple change. We can later extend this to also handle the StoreIC and KeyedStoreIC cases if that turns out to be beneficial. This improves the score on the Octane/TypeScript test by around ~2% and the TypeScript test in the web-tooling-benchmark by around ~4%. On the ARES-6 Air test the steady state mean improves by 2-4%, and on the ARES-6 ML test the steady state mean seems to also improve by 1-2%, but that might be within noise. On a micro-benchmark that just runs `o.x` in a hot loop on a set of 9 different objects, which all have `x` as the first property and are all in fast mode, we improve by around ~30%, and are now almost on par with JavaScriptCore. Bug: v8:6344, v8:6936 Change-Id: Iaa4c6e34c37e78da217ee75f32f6acc95a834250 Reviewed-on: https://chromium-review.googlesource.com/1215623Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55803}
-
- 15 Aug, 2018 1 commit
-
-
Camillo Bruni authored
Bug: chromium:782550 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I4426415b55772d82bd16b638c3c533320efa3b72 Reviewed-on: https://chromium-review.googlesource.com/771752 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#55138}
-
- 20 Jul, 2018 1 commit
-
-
Caitlin Potter authored
As discussed in https://docs.google.com/document/d/1sBdGe8RHgeYP850cKSSgGABTyfMdvaEWLy-vertuTCo/edit?ts=5b3ba5cc#, this CL introduces a new bytecode (CloneObject), and a new IC type. In this prototype implementation, the type feedback looks like the following: Uninitialized case: { uninitialized_sentinel, uninitialized_sentinel } Monomorphic case: { weak 'source' map, strong 'result' map } Polymorphic case: { WeakFixedArray with { weak 'source' map, strong 'result' map }, cleared value } Megamorphic case: { megamorphic_sentinel, cleared_Value } In the fast case, Object cloning is done by allocating an object with the saved result map, and a shallow clone of the fast properties from the source object, as well as cloned fast elements from the source object. If at any point the fast case can't be taken, the IC transitions to the slow case and remains there. This prototype CL does not include any TurboFan optimization, and the CloneObject operation is merely reduced to a stub call. It may still be possible to get some further improvements by somehow incorporating compile-time boilerplate elements into the cloned object, or simplifying how the boilerplate elements are inserted into the object. In terms of performance, we improve the ObjectSpread score in JSTests/ObjectLiteralSpread/ by about 8x, with substantial improvements over the Babel and ObjectAssign scores. R=gsathya@chromium.org, mvstanton@chromium.org, rmcilroy@chromium.org, neis@chromium.org, bmeurer@chromium.org BUG=v8:7611 Change-Id: I79e1796eb77016fb4feba0e1d3bb9abb348c183e Reviewed-on: https://chromium-review.googlesource.com/1127472 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#54595}
-
- 05 Jul, 2018 1 commit
-
-
Maya Lekova authored
Fixes V8 correctness failure when there's a proxy in the global object prototype chain and unsuccessful attempt is made to access a property. Bug: chromium:849024 Change-Id: I829e1a6c038982b7c7a77f8bdefb61facb4614f0 Reviewed-on: https://chromium-review.googlesource.com/1124446 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54237}
-
- 04 Jun, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7308 TBR=ishell@chromium.org, tebbi@chromium.org Change-Id: I0f7de13967d3e109b40d7158ee29775754c3d108 Reviewed-on: https://chromium-review.googlesource.com/1082475 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53483}
-
- 01 Jun, 2018 2 commits
-
-
Marja Hölttä authored
This reverts commit 0f23cedd. Reason for revert: buildbot failures Original change's description: > [in-place weak refs] Replace WeakCells in DescriptorArray. > > BUG=v8:7308 > > Change-Id: Ib0ad52916d6f5b65e7612981b467b491d832f505 > Reviewed-on: https://chromium-review.googlesource.com/1075053 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53473} TBR=ulan@chromium.org,marja@chromium.org,tebbi@chromium.org,ishell@chromium.org Change-Id: I713ab10650f933a8218a61521868d6cd16cb821e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Reviewed-on: https://chromium-review.googlesource.com/1082218Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53474}
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: Ib0ad52916d6f5b65e7612981b467b491d832f505 Reviewed-on: https://chromium-review.googlesource.com/1075053 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53473}
-
- 25 May, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: Ia74e5696133ec183ff550da011452b0c12a06e40 Reviewed-on: https://chromium-review.googlesource.com/1068883 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53350}
-
- 23 May, 2018 2 commits
-
-
Marja Hölttä authored
Since the StubCache it's cleared at the end of the GC, it doesn't matter if it contains weak or strong pointers. BUG=v8:7308 Change-Id: Ib141e3d411523c67ccb8f8979845a88488d6e4ee Reviewed-on: https://chromium-review.googlesource.com/1064053 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53311}
-
Marja Hölttä authored
Previous version: https://chromium-review.googlesource.com/1049606 This version is exactly the same as the previous; a bugfix ( https://chromium-review.googlesource.com/c/v8/v8/+/1069127 ) makes relanding possible. BUG=v8:7308 TBR=ishell@chromium.org, tebbi@chromium.org, leszeks@chromium.org, ulan@chromium.org Change-Id: If7d455ceb6af0505a44b4fc52c52143e51cd115a Reviewed-on: https://chromium-review.googlesource.com/1070027Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53296}
-
- 18 May, 2018 1 commit
-
-
Marja Hölttä authored
This reverts commit c063e3f0. Reason for revert: https://bugs.chromium.org/p/v8/issues/detail?id=7768 Original change's description: > [in-place weak refs] Replace WeakCells in FeedbackVector. > > BUG=v8:7308 > > Change-Id: I08b97f7f47e2d96e313b70a66cd890fedd46e9fb > Reviewed-on: https://chromium-review.googlesource.com/1049606 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53233} TBR=ulan@chromium.org,marja@chromium.org,leszeks@chromium.org,tebbi@chromium.org,ishell@chromium.org Change-Id: I68c068883884f9311ff166306245d0f21693bb6f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Reviewed-on: https://chromium-review.googlesource.com/1065631Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53241}
-
- 17 May, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: I08b97f7f47e2d96e313b70a66cd890fedd46e9fb Reviewed-on: https://chromium-review.googlesource.com/1049606 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53233}
-
- 15 May, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: I7720dbc84ce3e614f025759224e2d8d7ffa7a952 Reviewed-on: https://chromium-review.googlesource.com/1052013 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53178}
-
- 11 May, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:7754 Change-Id: I44d20d55f5da0a0f95b89a565dbe21304c6d174c Reviewed-on: https://chromium-review.googlesource.com/1052111 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53122}
-
- 08 May, 2018 1 commit
-
-
Marja Hölttä authored
- Make FeedbackVector backing store a WeakFixedArray. - "feedback" is always strong but "extra" might be weak. - Whenever the handler stored in FeedbackVector is a WeakCell to a transition Map, replace it with an in-place weak reference. For a more detailed description of the changes, see the design doc https://docs.google.com/document/d/1P8cIme2wKszdYt64ObAiuh6pXgLnrrn80Hpl1ejJbOU/edit#heading=h.ijx1oculrikp BUG=v8:7308 Change-Id: I72c5cf6597ef24d4c22a1fe8e25b67ca196d4ec8 Reviewed-on: https://chromium-review.googlesource.com/1027855 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53051}
-
- 12 Apr, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:7570 Change-Id: I3349062f82df89a5a1a484b22fea5c5763d264f7 Reviewed-on: https://chromium-review.googlesource.com/1007662 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#52572}
-
- 11 Apr, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:7570 Change-Id: I8b15d6e9f4991d0a6884277a5d67090f24270fcc Reviewed-on: https://chromium-review.googlesource.com/1005261Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52549}
-
- 04 Apr, 2018 1 commit
-
-
Igor Sheludko authored
Bug: chromium:798372 Change-Id: I76d7317ef66dd5005250a10961d6732c39d4d108 Reviewed-on: https://chromium-review.googlesource.com/995445Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52359}
-
- 27 Mar, 2018 1 commit
-
-
Igor Sheludko authored
Bug: v8:6949, v8:7310 Change-Id: I8647d385355f357e8825648d6da2757efdcbc6c2 Reviewed-on: https://chromium-review.googlesource.com/980496Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52249}
-
- 23 Mar, 2018 1 commit
-
-
Igor Sheludko authored
This eases transition handlers caching and avoids memory overhead of respective StoreHandler objects. In addition, it allows to use such transition handlers on runtime side to make Object.assign implementation a bit faster. Bug: v8:5988 Change-Id: Iba660a11d4b300cd5f80615fb7e2608e53da8fee Reviewed-on: https://chromium-review.googlesource.com/931701Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#52187}
-
- 08 Mar, 2018 1 commit
-
-
Igor Sheludko authored
... and use Smi Map::kPrototypeChainValid for the cases where direct receiver's prototype is not JSObject instead of creating a new valid cell for each such case. This will make a validity cell checking code simpler. Bug: v8:5988 Change-Id: I52cf55797171cc8021d80e4e441615d0c8fc8bd4 Reviewed-on: https://chromium-review.googlesource.com/951384 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#51803}
-
- 02 Mar, 2018 1 commit
-
-
Georg Neis authored
... and use it in the implementation of array literal spreads, replacing calls to %AppendElement. Array spreads in destructuring will be taken care of in a separate CL. Bug: v8:5940, v8:7446 Change-Id: Idec52398902a7fd3c1244852cf73246f142404f0 Reviewed-on: https://chromium-review.googlesource.com/915364 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#51709}
-
- 02 Feb, 2018 1 commit
-
-
jgruber authored
This check verifies that all .h files in the src/ directory have an include guard of the form #ifndef V8_PATH_TO_FILE_H_ #define V8_PATH_TO_FILE_H_ // ... #endif // V8_PATH_TO_FILE_H_ The check can be skipped with a magic comment: // PRESUBMIT_INTENTIONALLY_MISSING_INCLUDE_GUARD Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I0a7b96abec289ad60f64ba8418f1892a6969596d Reviewed-on: https://chromium-review.googlesource.com/897487Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51079}
-