1. 16 Nov, 2017 3 commits
  2. 14 Nov, 2017 2 commits
    • Ross McIlroy's avatar
      [compiler] Add background compilation mode. · 9a4b334f
      Ross McIlroy authored
      Adds support for compiling top-level code on a background thread behind a flag.
      When the flag is enabled, any background-parsing-task will perform compilation
      as well as parsing.
      
      BUG=v8:5203
      TBR=marja@chromium.org,mstarzinger@chromium.org
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Icf90ac7211298d3555515dafc7c3245618ec1304
      Reviewed-on: https://chromium-review.googlesource.com/764048
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49364}
      9a4b334f
    • Jakob Gruber's avatar
      Revert "Revert lazy bytecode handler support" · e0400694
      Jakob Gruber authored
      This reverts commit 9e4543a2.
      
      Reason for revert: Culprit CL was found, let's reland this.
      
      Original change's description:
      > Revert lazy bytecode handler support
      >
      > Speculative revert due to canary crashes. I'll begin relanding these
      > one-by-one next week.
      >
      > This bundles two reverts:
      >
      > Revert "[snapshot] Lazy-deserialize bytecode handlers"
      > This reverts commit b4587369.
      >
      > Revert "[interpreter] Remove mechanism for bytecode handler reuse"
      > This reverts commit 07fc87a2.
      >
      > TBR: rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org
      > Bug: chromium:783708
      > Change-Id: I6f8314b9eeafd9412a1c69843bc242e7da240eee
      > Reviewed-on: https://chromium-review.googlesource.com/763428
      > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49294}
      
      TBR=rmcilroy@chromium.org,mlippautz@chromium.org,yangguo@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:783708
      Change-Id: I6c9274ddf0d0832ecce32baacc4f6a1388f56ac4
      Reviewed-on: https://chromium-review.googlesource.com/768749
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49362}
      e0400694
  3. 13 Nov, 2017 1 commit
  4. 11 Nov, 2017 3 commits
  5. 10 Nov, 2017 3 commits
  6. 09 Nov, 2017 2 commits
  7. 08 Nov, 2017 2 commits
  8. 07 Nov, 2017 4 commits
  9. 06 Nov, 2017 2 commits
  10. 03 Nov, 2017 7 commits
  11. 02 Nov, 2017 5 commits
    • Benedikt Meurer's avatar
      [ic] Internalize strings on the fly in KeyedLoadICGeneric. · 96b1fdb2
      Benedikt Meurer authored
      This turns on the existing --internalize_on_the_fly flag for the
      MEGAMORPHIC KeyedLoadIC to properly internalize strings before
      looking up the property. This avoids the otherwise taken runtime
      call to %KeyedGetProperty, which is definitely slower.
      
      Initially the --internalize_on_the_fly flag was turned off because
      internalizing strings on the fly causes too much traffic on the
      megamorphic stub cache. We avoid this problem here by not probing
      the stub cache in that case, which still gives the benefit of not
      having to go to the runtime.
      
      This improves the babylon test on the web-tooling-benchmark by around
      2-3% and will probably also help with several tests (like React or
      Ember) on the Speedometer benchmark.
      
      If this CL causes trouble (i.e. tanks something important), we can
      just turn off the --internalize_on_the_fly flag again.
      
      Bug: v8:6936, v8:7026
      Change-Id: If295ed3fd013f8b0ff031f9979e7df21dab817b6
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/751464Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49093}
      96b1fdb2
    • Michael Achenbach's avatar
      Revert "[ic] Internalize strings on the fly in KeyedLoadICGeneric." · e06c1163
      Michael Achenbach authored
      This reverts commit 6366a010.
      
      Reason for revert: Breaks layout tests:
      https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/19429
      
      Original change's description:
      > [ic] Internalize strings on the fly in KeyedLoadICGeneric.
      > 
      > This turns on the existing --internalize_on_the_fly flag for the
      > MEGAMORPHIC KeyedLoadIC to properly internalize strings before
      > looking up the property. This avoids the otherwise taken runtime
      > call to %KeyedGetProperty, which is definitely slower.
      > 
      > Initially the --internalize_on_the_fly flag was turned off because
      > internalizing strings on the fly causes too much traffic on the
      > megamorphic stub cache. We avoid this problem here by not probing
      > the stub cache in that case, which still gives the benefit of not
      > having to go to the runtime.
      > 
      > This improves the babylon test on the web-tooling-benchmark by around
      > 2-3% and will probably also help with several tests (like React or
      > Ember) on the Speedometer benchmark.
      > 
      > If this CL causes trouble (i.e. tanks something important), we can
      > just turn off the --internalize_on_the_fly flag again.
      > 
      > Bug: v8:6936, v8:7026
      > Change-Id: Ia59a8a3799d9624d831d66b05bae3ecef31cee0a
      > Reviewed-on: https://chromium-review.googlesource.com/750821
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49072}
      
      TBR=ishell@chromium.org,bmeurer@chromium.org
      
      Change-Id: I5345eb29016ecd6b7788b1b49b2f53992ea82b58
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6936, v8:7026
      Reviewed-on: https://chromium-review.googlesource.com/750904Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49077}
      e06c1163
    • Benedikt Meurer's avatar
      [ic] Internalize strings on the fly in KeyedLoadICGeneric. · 6366a010
      Benedikt Meurer authored
      This turns on the existing --internalize_on_the_fly flag for the
      MEGAMORPHIC KeyedLoadIC to properly internalize strings before
      looking up the property. This avoids the otherwise taken runtime
      call to %KeyedGetProperty, which is definitely slower.
      
      Initially the --internalize_on_the_fly flag was turned off because
      internalizing strings on the fly causes too much traffic on the
      megamorphic stub cache. We avoid this problem here by not probing
      the stub cache in that case, which still gives the benefit of not
      having to go to the runtime.
      
      This improves the babylon test on the web-tooling-benchmark by around
      2-3% and will probably also help with several tests (like React or
      Ember) on the Speedometer benchmark.
      
      If this CL causes trouble (i.e. tanks something important), we can
      just turn off the --internalize_on_the_fly flag again.
      
      Bug: v8:6936, v8:7026
      Change-Id: Ia59a8a3799d9624d831d66b05bae3ecef31cee0a
      Reviewed-on: https://chromium-review.googlesource.com/750821Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49072}
      6366a010
    • Benedikt Meurer's avatar
      Disable --string-slices. · fd5b067f
      Benedikt Meurer authored
      This is an experiment to quantify the impact of SlicedStrings on both
      performance and memory usage. The intention is to get Canary coverage
      for the experiment and then decide how to proceed.
      
      Bug: v8:7025
      Change-Id: Ied548cd9e2fab127c1ad2aea3e60b2615d3de663
      Reviewed-on: https://chromium-review.googlesource.com/750082
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49070}
      fd5b067f
    • Benedikt Meurer's avatar
      Reintroduce compile-time --string-slices flag. · 781f7685
      Benedikt Meurer authored
      This partially reverts commit aaebbbaa,
      which removed the --string-slices flag. We reintroduce the flag as a
      build time flag for an experiment to gather information of how much
      SliceStrings help with throughput and effective memory use.
      
      Bug: v8:7025
      Change-Id: I529da91bb7501fe93d83891abf560710f3ecb9d0
      Reviewed-on: https://chromium-review.googlesource.com/750681Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49068}
      781f7685
  12. 31 Oct, 2017 1 commit
    • Mythri's avatar
      [TurboFan] Remove a check on nesting levels inlining heuristics · 5b38c7fc
      Mythri authored
      We have a check on maximum number of levels that can be inlined. This
      in some cases causes performance cliffs, when we cannot inline a small
      function because it has exceeded the number of levels. This cl removes
      that check. The intuition is that, having gone down several levels in
      a particular line stopping inlining that chain and exploring a new
      call site may not be beneficial. This cl also introduces a absolute
      limit on the number of nodes that can be inlined (including the small
      functions).
      
      Bug: v8:6871, chromium:779509
      Change-Id: Id29639ff2fd85b84d8746da3fb78a82d4e9852e8
      Reviewed-on: https://chromium-review.googlesource.com/743727Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49050}
      5b38c7fc
  13. 30 Oct, 2017 3 commits
    • Camillo Bruni's avatar
      [log] Support logging basic function events · 949734f7
      Camillo Bruni authored
      This CL contains the base implementation for logging function events.
      Currently only compiler events are support (compile, compile-lazy...),
      future CLs will enable log events for parsing and first-time exeuction
      of functions.
      
      Bug: chromium:757467
      Change-Id: Ia705979190a3ebc1009989610483a7a141bc504b
      Reviewed-on: https://chromium-review.googlesource.com/743921Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49040}
      949734f7
    • Michael Stanton's avatar
      Revert "[TurboFan] Remove maximum inlining levels check from inlining heuristics" · f585415a
      Michael Stanton authored
      This reverts commit ecd3a2ea.
      
      Reason for revert: Bug 779509, a crash with chrome.
      
      Original change's description:
      > [TurboFan] Remove maximum inlining levels check from inlining heuristics
      > 
      > We have a check on maximum number of levels that can be inlined. This
      > in some cases causes performance cliffs, when we cannot inline a small
      > function because it has exceeded the number of levels. This cl removes
      > that check. The intuition is that, having gone down several levels in
      > a particular line stopping inlining that chain and exploring a new
      > call site may not be beneficial.
      > 
      > Bug: v8:6871
      > Change-Id: I120056db38e78ce48dff010b6cf994259238582a
      > Reviewed-on: https://chromium-review.googlesource.com/741705
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49009}
      
      TBR=mythria@chromium.org,bmeurer@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:6871
      Change-Id: I4766f911cb326c224af110be5c0dd7a44362a880
      Reviewed-on: https://chromium-review.googlesource.com/743785Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49037}
      f585415a
    • Georg Neis's avatar
      Revert "Disable --turbo-inline-array-builtins by default." · 563ddadc
      Georg Neis authored
      This reverts commit 32141e93.
      
      Reason for revert: Got merged to stable end of last week.
      
      Original change's description:
      > Disable --turbo-inline-array-builtins by default.
      > 
      > Current chrome stable has a high number of crashes due to bugs in
      > this feature. These bugs are already fixed but the fixes are hard
      > to merge back. Therefore we decided to disable the feature in stable.
      > This CL is intended to be merged to stable and then reverted in tot.
      > 
      > Bug: chromium:762020
      > Change-Id: Ibd5a08e3b303a204fb84a408271a1c0f97cc5b7b
      > Reviewed-on: https://chromium-review.googlesource.com/738176
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#48931}
      
      TBR=jarin@chromium.org,neis@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:762020
      Change-Id: Id1fe2f417e09a7b451484fc16710b09469cdb74d
      Reviewed-on: https://chromium-review.googlesource.com/743321Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49025}
      563ddadc
  14. 27 Oct, 2017 2 commits