1. 04 Jun, 2019 10 commits
  2. 03 Jun, 2019 22 commits
  3. 31 May, 2019 8 commits
    • Frank Tang's avatar
      [Intl] Add test cases for %%ALIAS locales · 6e558e9e
      Frank Tang authored
      Bug: v8:9312, chromium:968269
      Change-Id: I0e3d134cd4341c30277df62fead6386e344be0bf
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1636179
      Commit-Queue: Frank Tang <ftang@chromium.org>
      Reviewed-by: 's avatarMathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61952}
      6e558e9e
    • Michael Achenbach's avatar
      Whitespace change to trigger builders · 8f2f9797
      Michael Achenbach authored
      Change-Id: If2610987b66324a4b77531628c5058c3b31b8718
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1637463Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61951}
      8f2f9797
    • Santiago Aboy Solanes's avatar
      [ptr-compr][turbofan][CSA] Adding the CompressedHeapConstant node · a31b36e0
      Santiago Aboy Solanes authored
      CompressedHeapConstant is used in the DecompressionElimination Reducer to
      create compressed HeapConstant values. It won't appear in the graph
      up until that point.
      
      This CL enables back the disabled tests in DecompressionElimination, as
      well as generating the CompressedHeapConstant in that reducer.
      
      The RelocInfo has already been added for x64 but not for arm64. Therefore,
      the x64 version is now doing the mov on 32 bits. The support for ARM will
      come in a following CL, and for now it is doing the mov in 64 bits.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng
      Bug: v8:8977, v8:7703, v8:9298
      Change-Id: If0ca4f937cfa60501679e66f6fd5ded2df38f605
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632236Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61950}
      a31b36e0
    • Mythri A's avatar
      [turbofan] Allow polymorphic inlining for Array push / pop / shift · 3e90eee9
      Mythri A authored
      Array push / pop / shift were inlined if the elements kind of the
      receiver maps is the same. This cl extends it by inlining these
      builtins even when the receiver maps have different elements kinds.
      It still limits it to only fast elements kinds. This is required to
      prevent regressions in deltablue when lazy feedback allocation is
      enabled. With lazy feedback allocation we may see polymorphic
      feedback more often, since we don't have allocation site feedback
      till the feedback vectors are allocated.
      
      Bug: v8:9078
      Change-Id: Id4a7b84be6305b125913b6ce0fb4f3eb3e3b15ec
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632239
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61949}
      3e90eee9
    • Benedikt Meurer's avatar
      [feedback-vector] Don't go MEGAMORPHIC due to dying handlers. · 40c68926
      Benedikt Meurer authored
      This fixes a problem where ICs for transitioning stores go MEGAMORPHIC
      if the transition target map dies in between invocations of the IC,
      which is totally possible, since we only hold on weakly to these
      transition targets (both from the FeedbackVectors and also from the
      TransitonArrays).
      
      The root problem here was an inconsistency in how the maps and handlers
      are being reported by the FeedbackVector. On the on hand side the method
      FeedbackVector::ExtractMaps() will report all receiver maps that are
      still present (i.e. which haven't died themselves), but then the other
      method FeedbackVector::FindHandlers() will only report handlers that are
      still alive (i.e. which in case of transition target maps being used as
      handlers haven't died yet). If the length of these lists don't match the
      IC chickens out and goes MEGAMORPHIC. But this is exactly the case with
      the transitioning stores, where there's no handler anymore, i.e. as can
      be seen in this simple example:
      
      ```
      // Flags: --expose-gc
      function C() { this.x = 1; }
      new C();
      new C();
      gc();     // map with the `C.x` property dies
      new C();  // now the STORE_IC in C goes MEGAMORPHIC
      ```
      
      So the problem is that we have these two methods that don't agree with
      each other. Now FeedbackVector::ExtractMaps() is also used by TurboFan
      and it even reports receiver maps for PREMONOMORPHIC state, which is
      different from the use case that the ICs need. So I replaced the
      FeedbackVector::FindHandlers() with a completely new method
      FeedbackVector::ExtractMapsAndHandlers(), which returns both the maps
      and handlers, exactly as the ICs need it. And only returns pairs for
      which both the receiver map and the handler are still alive.
      
      This fixes the odd problem that sometimes STORE_ICs going MEGAMORPHIC
      for no apparent reason. Due to the weakness of the transition target
      maps, they can still die and cause deoptimizations, but at least
      TurboFan will now be able to reoptimize again later with the new maps
      and still generate proper code.
      
      Bug: v8:9316
      Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel
      Change-Id: I74c8b60f792f310dc813f997e69efe9ad434296a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1637878
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61948}
      40c68926
    • Ulan Degenbaev's avatar
      [heap] Simplify computation of max semi-space size. · b0980748
      Ulan Degenbaev authored
      The size is now computed as a fraction of the old space size:
      - for low memory devices (<512MB) the fraction is 1 / 256.
      - for all other devices the fraction is 1 / 128.
      
      The values were chosen to minimize the difference between the new
      and the old heuristics.
      
      Bug: v8:9306
      
      Change-Id: I3246fe2d6fc589af6220e2566e3f10fb13470b82
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632158Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61947}
      b0980748
    • Maciej Goszczycki's avatar
      [heap] Update HeapIterator and space iterator APIs to match other iterators · b5a0e7d9
      Maciej Goszczycki authored
      This makes the API more consistent and reduces the cognitive load of
      switching between 'next' and 'Next'.
      
      Bug: v8:9183
      Change-Id: Ia81b874374626887d6af8c90f8ac185812f0573f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1635689Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
      Cr-Commit-Position: refs/heads/master@{#61946}
      b5a0e7d9
    • Milad Farazmand's avatar
      PPC/s390: [Liftoff] Add histogram for bailout reasons · 5d2bebfe
      Milad Farazmand authored
      Port c354fb9c
      
      Original Commit Message:
      
          This CL adds a new enum {LiftoffBailoutReason}, and tracks this reason
          for each bailout. This will give us data to prioritize extensions of
          Liftoff for new proposals or last missing instructions. Since we also
          track the {kSuccess} case, we will also see what percentage of
          functions can be compiled with Liftoff overall.
      
      R=clemensh@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: Iaf93d59780f62f03ccdcd5368ce4331e8b496f52
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1638004Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#61945}
      5d2bebfe