1. 20 Feb, 2020 1 commit
  2. 17 Feb, 2020 1 commit
  3. 22 Jan, 2020 1 commit
    • Shiyu Zhang's avatar
      Reland "Reland "[runtime] Cache prototype chain enumerable keys in PrototypeInfo"" · 6f3cf7aa
      Shiyu Zhang authored
      This is a reland of 3b753563
      
      Original change's description:
      > Reland "[runtime] Cache prototype chain enumerable keys in PrototypeInfo"
      > 
      > This is a reland of 5253d7bf
      > 
      > Original change's description:
      > > [runtime] Cache prototype chain enumerable keys in PrototypeInfo
      > > 
      > > This CL adds a prototype_chain_enum_cache to cache the enumeration of a
      > > prototype and its entire chain on the PrototypeInfo. It can improve for-in
      > > performance via simply merging the receiver enumeration with this cache.
      > > 
      > > It improves the score of JetStream2-tagcloud-SP case by ~9% on IA Chromebook.
      > > 
      > > Contributed by tao.pan@intel.com
      > > 
      > > Change-Id: Ib40bfe41e772672337155584672f06fa1ba1e70d
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1870844
      > > Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com>
      > > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#65224}
      > 
      > Change-Id: I93b74727c46abbaab163324c50fbd977fcc9bb36
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955232
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com>
      > Cr-Commit-Position: refs/heads/master@{#65377}
      
      Change-Id: If4b4631e1b8a3d2df748b6be8500f838836a3291
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2008253
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65919}
      6f3cf7aa
  4. 11 Dec, 2019 1 commit
  5. 09 Dec, 2019 1 commit
  6. 29 Nov, 2019 1 commit
    • Toon Verwaest's avatar
      Revert "[runtime] Cache prototype chain enumerable keys in PrototypeInfo" · 21ad38ef
      Toon Verwaest authored
      This reverts commit 5253d7bf.
      
      Reason for revert: Elements don't properly invalidate the cache.
      
      Original change's description:
      > [runtime] Cache prototype chain enumerable keys in PrototypeInfo
      > 
      > This CL adds a prototype_chain_enum_cache to cache the enumeration of a
      > prototype and its entire chain on the PrototypeInfo. It can improve for-in
      > performance via simply merging the receiver enumeration with this cache.
      > 
      > It improves the score of JetStream2-tagcloud-SP case by ~9% on IA Chromebook.
      > 
      > Contributed by tao.pan@intel.com
      > 
      > Change-Id: Ib40bfe41e772672337155584672f06fa1ba1e70d
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1870844
      > Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#65224}
      
      TBR=verwaest@chromium.org,shiyu.zhang@intel.com
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Change-Id: Ic5d476bc8b334241b2accb8344749fcf7dcf5e09
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1943153Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Auto-Submit: Toon Verwaest <verwaest@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65259}
      21ad38ef
  7. 28 Nov, 2019 1 commit
  8. 12 Oct, 2019 1 commit
  9. 28 Aug, 2019 1 commit
  10. 23 May, 2019 1 commit
  11. 27 Feb, 2019 1 commit
  12. 14 Feb, 2019 1 commit
  13. 26 Dec, 2018 1 commit
  14. 20 Sep, 2018 1 commit
  15. 11 Sep, 2018 1 commit
  16. 31 Jul, 2018 1 commit
  17. 30 Jul, 2018 1 commit
  18. 18 Jul, 2018 1 commit
  19. 06 May, 2018 1 commit
  20. 28 Feb, 2018 1 commit
  21. 23 Jun, 2017 1 commit
  22. 18 Jan, 2017 1 commit
    • cbruni's avatar
      [keys] Make for-in great again. · 6c7d51c2
      cbruni authored
      This CL fixes the check for empty elements in keys.cc. Previously we would
      accidentally bail out of the fast path because the check would always fail.
      As a consequence for-in loops that would initialize the enum-cache of an object
      with own-only fast properties would never be optimized properly.
      
      Review-Url: https://codereview.chromium.org/2638323002
      Cr-Commit-Position: refs/heads/master@{#42454}
      6c7d51c2
  23. 01 Aug, 2016 1 commit
    • cbruni's avatar
      [keys] Trigger [[getOwnPropertyDescriptor]] trap on proxies for Object.keys · f4f06c50
      cbruni authored
      This CL fixes a long-standing bug with Object.keys where the enumerability
      check was omitted if the [ownKeys] trap is not present. The only distinction the
      KeyAccumulator needs is whether it collects keys for for-in (is_for_in_) or not.
      ForInFilter performs a separate step to filter out non-enumerable keys later-on
      while in all the other use-cases we have to filter keys.
      
      BUG=v8:1543, v8:5250
      
      Review-Url: https://codereview.chromium.org/2176113009
      Cr-Commit-Position: refs/heads/master@{#38199}
      f4f06c50
  24. 21 Jul, 2016 1 commit
  25. 28 Jun, 2016 1 commit
  26. 27 Jun, 2016 1 commit
  27. 07 Jun, 2016 1 commit
  28. 30 May, 2016 1 commit
    • cbruni's avatar
      [api] Add more parameters to Object::GetPropertyNames · 63efe9e4
      cbruni authored
      Expose more or less the full functionality of the KeyAccumulator in the API:
      - use the PropertyFilter introduced for GetOwnPropertyNames
      - use KeyCollectionLimit for OWN_ONLY or INLCUDE_PROTOS
      - use IndexFilter to eithe SKIP_INDICES or INCLUDE_INDICES
      
      Rewire Object::GetOwnPropertyNames to use GetPropertyNames.
      
      BUG=chromium:148757
      
      Review-Url: https://codereview.chromium.org/2002203002
      Cr-Commit-Position: refs/heads/master@{#36595}
      63efe9e4
  29. 25 May, 2016 1 commit
  30. 24 May, 2016 2 commits
  31. 18 May, 2016 1 commit
  32. 10 May, 2016 1 commit
  33. 06 May, 2016 1 commit
  34. 03 May, 2016 1 commit
  35. 23 Mar, 2016 1 commit
    • cbruni's avatar
      [proxies] use [[GetPrototypeOf]] trap in for-in key accumulation · 2efc1381
      cbruni authored
      With the recent spec change removing the [[Enumerate]] internal method, we now
      have to walk the complete prototype chain. This implies that we call the
      [[GetPrototypeOf]] trap on proxies.
      
      As a secondary change we now trigger the [[GetOwnProperty]] trap for the for-in
      filter step to see whether the properties are still enumerable. Before we did this
      in the key-accumulation phase. This way we slightly reduce the number of traps
      invoked. Whilst this is not ideal, it comes closer to the Spec's example
      implementation.
      
      BUG=v8:1543, v8:4768
      LOG=n
      
      Review URL: https://codereview.chromium.org/1748923003
      
      Cr-Commit-Position: refs/heads/master@{#35017}
      2efc1381
  36. 07 Mar, 2016 4 commits