1. 28 Jul, 2021 1 commit
    • Jakob Gruber's avatar
      [compiler] Thread-safe Map::ComputeMinObjectSlack · e8fd9368
      Jakob Gruber authored
      ComputeMinObjectSlack is called concurrently from background threads
      (when --concurrent-inlining) and must therefore be thread-safe.
      
      This CL adds a compiler-specific thread-safe variant
      of ComputeMinObjectSlack in addition to the plain old non-thread-safe
      one. Thread-safety is achieved through locking: on the bg thread, a
      shared lock when traversing transitions, and on the main thread, an
      additional exclusive critical section when overwriting prototype
      transitions.
      
      Tbr: leszeks@chromium.org
      Bug: v8:7790,v8:12010,chromium:1231901
      Change-Id: If5af83df1ab896b22477921449fb5ba4c8d3e8a3
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3045342
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Auto-Submit: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarSantiago Aboy Solanes <solanes@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75949}
      e8fd9368
  2. 06 Jul, 2021 1 commit
  3. 17 May, 2021 1 commit
  4. 03 May, 2021 1 commit
  5. 20 Nov, 2020 1 commit
  6. 16 Oct, 2020 1 commit
  7. 27 Jul, 2020 1 commit
  8. 01 Jul, 2020 1 commit
  9. 19 Jun, 2020 1 commit
  10. 27 May, 2020 1 commit
  11. 11 Oct, 2019 1 commit
  12. 03 Jul, 2019 1 commit
  13. 28 May, 2019 1 commit
  14. 24 May, 2019 1 commit
  15. 23 May, 2019 1 commit
  16. 20 May, 2019 1 commit
  17. 06 May, 2019 1 commit
  18. 03 May, 2019 1 commit
    • Sigurd Schneider's avatar
      Revert "Reland "[json] Speed up json parsing"" · 47fccbfd
      Sigurd Schneider authored
      This reverts commit bbd740f0.
      
      Reason for revert: blocks lkgr due to layout test failure:
      https://ci.chromium.org/p/v8/builders/ci/V8-Blink%20Linux%2064/31607
      
      Original change's description:
      > Reland "[json] Speed up json parsing"
      > 
      > This is a reland of b0c4a876
      > 
      > Original change's description:
      > > [json] Speed up json parsing
      > >
      > > - scan using raw data pointers + GC callback
      > > - scan using scanner tables
      > > - cap internalizing large string values
      > > - inline fast transitioning logic
      > >
      > > Fixes previous CL by moving AllowHeapAllocation to callers of
      > > ReportUnexpectedCharacter where needed to make it clear we need to exit.
      > >
      > > Tbr: ulan@chromium.org
      > > Change-Id: Icfbb7cd536e0fbe153f34acca5d0fab6b5453d71
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1591778
      > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#61159}
      > 
      > Tbr: verwaest@chromium.org
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel
      > Change-Id: Ic7d0057178c649fc45b8c8f4587ee9128e351515
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593292
      > Commit-Queue: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61179}
      
      TBR=ulan@chromium.org,ishell@google.com,verwaest@google.com,ishell@chromium.org,verwaest@chromium.org
      
      Change-Id: I3ae8f9ce8214bebe7fab9d87c5daf8cdfdb94199
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Cq-Include-Trybots: luci.v8.try:v8_linux64_msan_rel
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594438
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61194}
      47fccbfd
  19. 02 May, 2019 3 commits
  20. 30 Apr, 2019 4 commits
  21. 04 Apr, 2019 1 commit
  22. 20 Feb, 2019 1 commit
    • Jaroslav Sevcik's avatar
      Reland "Fix accessor update of non-extensible maps." · 0a069d94
      Jaroslav Sevcik authored
      This is a reland of 1a3a2bc3,
      fixed an infinite loop in Map::TryUpdateSlow and added
      a relevant test.
      
      Original change's description:
      > Fix accessor update of non-extensible maps.
      >
      > When installing getter/setter of non-extensible map with existing
      > setter/getter of the same name, we introduce a new transition
      > (so we have two transitions with the same name!). This triggers
      > an assertion in map updater.
      >
      > This fix carefully checks that on the back-pointer path from
      > non-extensible map to the extensible map there are only
      > integrity level transitions. Otherwise, we just bail out.
      >
      > Bug: chromium:932953
      > Change-Id: I02e91c3b652428a84a9f5c58b6691ea9b1fc44d6
      > Reviewed-on: https://chromium-review.googlesource.com/c/1477067
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59667}
      
      Bug: chromium:932953
      Change-Id: I015ee3795f816c8eabb5b5c5cb0ee30f365cc972
      Reviewed-on: https://chromium-review.googlesource.com/c/1477675Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59715}
      0a069d94
  23. 19 Feb, 2019 2 commits
    • Leszek Swirski's avatar
      Revert "Fix accessor update of non-extensible maps." · 4cbdf97d
      Leszek Swirski authored
      This reverts commit 1a3a2bc3.
      
      Reason for revert: Only CL in a reverted roll (https://chromium-review.googlesource.com/c/chromium/src/+/1477147)
      
      Original change's description:
      > Fix accessor update of non-extensible maps.
      > 
      > When installing getter/setter of non-extensible map with existing
      > setter/getter of the same name, we introduce a new transition
      > (so we have two transitions with the same name!). This triggers
      > an assertion in map updater.
      > 
      > This fix carefully checks that on the back-pointer path from
      > non-extensible map to the extensible map there are only
      > integrity level transitions. Otherwise, we just bail out.
      > 
      > Bug: chromium:932953
      > Change-Id: I02e91c3b652428a84a9f5c58b6691ea9b1fc44d6
      > Reviewed-on: https://chromium-review.googlesource.com/c/1477067
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59667}
      
      TBR=jarin@chromium.org,ishell@chromium.org
      
      Change-Id: I9264423c605cebef87beb6c0f066e90b59faae48
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:932953
      Reviewed-on: https://chromium-review.googlesource.com/c/1477219Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59680}
      4cbdf97d
    • Jaroslav Sevcik's avatar
      Fix accessor update of non-extensible maps. · 1a3a2bc3
      Jaroslav Sevcik authored
      When installing getter/setter of non-extensible map with existing
      setter/getter of the same name, we introduce a new transition
      (so we have two transitions with the same name!). This triggers
      an assertion in map updater.
      
      This fix carefully checks that on the back-pointer path from
      non-extensible map to the extensible map there are only
      integrity level transitions. Otherwise, we just bail out.
      
      Bug: chromium:932953
      Change-Id: I02e91c3b652428a84a9f5c58b6691ea9b1fc44d6
      Reviewed-on: https://chromium-review.googlesource.com/c/1477067Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59667}
      1a3a2bc3
  24. 09 Jan, 2019 1 commit
  25. 26 Dec, 2018 1 commit
  26. 05 Dec, 2018 1 commit
  27. 29 Nov, 2018 1 commit
  28. 27 Nov, 2018 1 commit
  29. 22 Nov, 2018 1 commit
    • Shiyu Zhang's avatar
      Reland "Create a fast path to get migration target when updating map" · 69232ba6
      Shiyu Zhang authored
      This is a reland of 6ec90ece
      
      Original change's description:
      > Reland "Create a fast path to get migration target when updating map"
      >
      > This is a reland of c285380c
      >
      > Original change's description:
      > > Create a fast path to get migration target when updating map
      > >
      > > During map updating, store the pointer to new map in the
      > > raw_transitions slot of the old map that is deprecated from map
      > > transition tree. Thus, we can get the migration target directly
      > > instead of TryReplayPropertyTransitions when updating map.
      > >
      > > This can improve Speedometer2.0 Elm-TodoMVC case by ~5% on ATOM
      > > Chromebook and ~9% on big-core Ubuntu.
      > >
      > > Change-Id: I56f9ce5183bbdd567b964890f623ef0ceed9b7db
      > > Reviewed-on: https://chromium-review.googlesource.com/1233433
      > > Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com>
      > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#56303}
      >
      > Change-Id: Idf0b7716b92a6a15bfe58721c2c34dbd02b31137
      > Reviewed-on: https://chromium-review.googlesource.com/c/1270261
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com>
      > Cr-Commit-Position: refs/heads/master@{#56588}
      
      Change-Id: Iad23455f66c83340430370be6670bac493c638a1
      Reviewed-on: https://chromium-review.googlesource.com/c/1309305
      Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57705}
      69232ba6
  30. 13 Nov, 2018 1 commit
  31. 29 Oct, 2018 1 commit
  32. 26 Oct, 2018 1 commit
  33. 24 Oct, 2018 1 commit
  34. 15 Oct, 2018 1 commit
    • Igor Sheludko's avatar
      Revert "Reland "Create a fast path to get migration target when updating map"" · 1898944b
      Igor Sheludko authored
      This reverts commit 6ec90ece.
      
      Reason for revert: causes a lot of Canary crashes (chromium:895208).
      GC relies on an the fact that the transition array stays alive while it's owner map
      is alive (this is needed in order to properly transfer descriptor array ownership
      to the parent map when the map owning a shared descriptor array dies). We need to
      rethink a way of caching the migration target shortcut.
      
      Original change's description:
      > Reland "Create a fast path to get migration target when updating map"
      >
      > This is a reland of c285380c
      >
      > Original change's description:
      > > Create a fast path to get migration target when updating map
      > >
      > > During map updating, store the pointer to new map in the
      > > raw_transitions slot of the old map that is deprecated from map
      > > transition tree. Thus, we can get the migration target directly
      > > instead of TryReplayPropertyTransitions when updating map.
      > >
      > > This can improve Speedometer2.0 Elm-TodoMVC case by ~5% on ATOM
      > > Chromebook and ~9% on big-core Ubuntu.
      > >
      > > Change-Id: I56f9ce5183bbdd567b964890f623ef0ceed9b7db
      > > Reviewed-on: https://chromium-review.googlesource.com/1233433
      > > Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com>
      > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#56303}
      >
      > Change-Id: Idf0b7716b92a6a15bfe58721c2c34dbd02b31137
      > Reviewed-on: https://chromium-review.googlesource.com/c/1270261
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com>
      > Cr-Commit-Position: refs/heads/master@{#56588}
      
      TBR=ishell@chromium.org,shiyu.zhang@intel.com
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Change-Id: Ie7e9b98395b041a1095da549d1cd71d7180a4888
      Bug: chromium:895208
      Reviewed-on: https://chromium-review.googlesource.com/c/1280223
      Commit-Queue: Igor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56641}
      1898944b