- 03 May, 2019 1 commit
-
-
Ross McIlroy authored
Bug: v8:8801, v8:8394 Change-Id: I6bb46ecafe1bd94adbf0409f13c9b2e558da0823 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594558 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Auto-Submit: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61200}
-
- 27 Apr, 2019 1 commit
-
-
Jaroslav Sevcik authored
This enables constant field tracking unconditionally. TBR=jgruber@chromium.org Bug: v8:8361 Change-Id: I02f35827d860c3e0f18a3d55cb156c088d48bc94 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1585730 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61055}
-
- 12 Apr, 2019 2 commits
-
-
Benedikt Meurer authored
This adds a new flag --modify-field-representation-inplace (enabled by default), which lets the runtime perform field representation changes for Smi to Tagged or for HeapObject to Tagged in-place instead of creating new maps and marking the previous map tree as deprecated. That means we create (a lot) fewer Maps and DescriptorArrays in the beginning and also need to self-heal fewer objects later (migrating off the deprecated maps). In TurboFan we just take the "field owner dependency" whenever we use the field representation, which is very similar to what we already do for the field types. That means if we change the representation of a field that we used in optimized code, we will simply deoptimize that code and have TurboFan potentially later optimize it again with the new field representation. On the Speedometer2/ElmJS-TodoMVC test, this reduces the total execution time from around 415ms to around 352ms, which corresponds to a **15%** improvement. The overall Speedometer2 score improves from around 74.1 to around 78.3 (on local runs with content_shell), corresponding to a **5.6%** improvement here.
On the CNN desktop browsing story, it seems that we reduce map space utilization/fragmentation by about 4-5%. But since we allocate a lot less (fewer Maps and DescriptorArrays) we also significantly change the GC timing, which heavily influences the results here. So take this with a grain of salt. Note: For Double fields, this doesn't change anything, meaning they still create new maps and deprecate the previous map trees. Bug: v8:8749, v8:8865, v8:9114 Change-Id: Ibd70efcb59be982863905663dbfaa89aa5b31e14 Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel Doc: http://bit.ly/v8-in-place-field-representation-changes Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1565891 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#60822} -
Michael Hablich authored
This reverts commit 1416d5a5. Reason for revert: blocks roll https://chromium-review.googlesource.com/c/chromium/src/+/1564550 Original change's description: > [map] Support in-place field representation changes. > > This adds a new flag --modify-field-representation-inplace (enabled by > default), which lets the runtime perform field representation changes > for Smi to Tagged or for HeapObject to Tagged in-place instead of > creating new maps and marking the previous map tree as deprecated. > > That means we create (a lot) fewer Maps and DescriptorArrays in the > beginning and also need to self-heal fewer objects later (migrating > off the deprecated maps). In TurboFan we just take the "field owner > dependency" whenever we use the field representation, which is very > similar to what we already do for the field types. That means if we > change the representation of a field that we used in optimized code, > we will simply deoptimize that code and have TurboFan potentially > later optimize it again with the new field representation. > > On the Speedometer2/ElmJS-TodoMVC test, this reduces the total execution > time from around 415ms to around 352ms, which corresponds to a **15%** > improvement. The overall Speedometer2 score improves from around 74.1 > to around 78.3 (on local runs with content_shell), corresponding to a > **5.6%** improvement here.
> > On the CNN desktop browsing story, it seems that we reduce map space > utilization/fragmentation by about 4-5%. But since we allocate a lot > less (fewer Maps and DescriptorArrays) we also significantly change > the GC timing, which heavily influences the results here. So take this > with a grain of salt. ♂️ > > Note: For Double fields, this doesn't change anything, meaning they > still create new maps and deprecate the previous map trees. > > Bug: v8:8749, v8:8865, v8:9114 > Change-Id: I694a53f87ae5caeb868fd98a21809b66d4297d35 > Cq-Include-Trybots: luci.chromium.try:linux-blink-rel > Doc: http://bit.ly/v8-in-place-field-representation-changes > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561132 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60764} TBR=jarin@chromium.org,neis@chromium.org,ishell@chromium.org,bmeurer@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:8749, v8:8865, v8:9114 Change-Id: I666975d08d51bbe7ab4faec9428b9a1f88e9b322 Cq-Include-Trybots: luci.chromium.try:linux-blink-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564208Reviewed-by: Michael Hablich <hablich@chromium.org> Commit-Queue: Michael Hablich <hablich@chromium.org> Cr-Commit-Position: refs/heads/master@{#60807}
-
- 11 Apr, 2019 1 commit
-
-
Benedikt Meurer authored
This adds a new flag --modify-field-representation-inplace (enabled by default), which lets the runtime perform field representation changes for Smi to Tagged or for HeapObject to Tagged in-place instead of creating new maps and marking the previous map tree as deprecated. That means we create (a lot) fewer Maps and DescriptorArrays in the beginning and also need to self-heal fewer objects later (migrating off the deprecated maps). In TurboFan we just take the "field owner dependency" whenever we use the field representation, which is very similar to what we already do for the field types. That means if we change the representation of a field that we used in optimized code, we will simply deoptimize that code and have TurboFan potentially later optimize it again with the new field representation. On the Speedometer2/ElmJS-TodoMVC test, this reduces the total execution time from around 415ms to around 352ms, which corresponds to a **15%** improvement. The overall Speedometer2 score improves from around 74.1 to around 78.3 (on local runs with content_shell), corresponding to a **5.6%** improvement here.
On the CNN desktop browsing story, it seems that we reduce map space utilization/fragmentation by about 4-5%. But since we allocate a lot less (fewer Maps and DescriptorArrays) we also significantly change the GC timing, which heavily influences the results here. So take this with a grain of salt. ♂️ Note: For Double fields, this doesn't change anything, meaning they still create new maps and deprecate the previous map trees. Bug: v8:8749, v8:8865, v8:9114 Change-Id: I694a53f87ae5caeb868fd98a21809b66d4297d35 Cq-Include-Trybots: luci.chromium.try:linux-blink-rel Doc: http://bit.ly/v8-in-place-field-representation-changes Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561132 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#60764}
-
- 10 Feb, 2017 1 commit
-
-
ishell authored
This CL includes runtime and IC parts of the tracking. It is controlled by compile-time flag FLAG_constant_field_tracking and currently disabled. Transition from kConst to kMutable still involves map deprecation. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2598543003 Cr-Commit-Position: refs/heads/master@{#43081}
-
- 05 Sep, 2013 1 commit
-
-
verwaest@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/23892005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jun, 2013 1 commit
-
-
verwaest@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/14721009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 May, 2013 1 commit
-
-
verwaest@chromium.org authored
BUG=chromium:241477 R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/15718002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2013 1 commit
-
-
verwaest@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/14843023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 May, 2013 1 commit
-
-
verwaest@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/14850006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 May, 2013 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/14966005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Apr, 2013 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/14146005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-