1. 22 Jun, 2020 1 commit
  2. 25 May, 2020 1 commit
  3. 20 Apr, 2020 1 commit
  4. 06 Dec, 2019 1 commit
  5. 11 Oct, 2019 1 commit
  6. 02 Oct, 2019 1 commit
  7. 11 Sep, 2019 1 commit
  8. 20 Aug, 2019 1 commit
  9. 25 Jul, 2019 1 commit
  10. 17 Jun, 2019 1 commit
  11. 24 May, 2019 1 commit
  12. 23 May, 2019 2 commits
  13. 22 May, 2019 1 commit
  14. 21 May, 2019 2 commits
  15. 20 May, 2019 1 commit
  16. 17 May, 2019 2 commits
  17. 02 May, 2019 1 commit
    • Maciej Goszczycki's avatar
      Reland "[heap] Skip ro-space from heap iterators, add CombinedHeapIterator." · 9c062093
      Maciej Goszczycki authored
      Code relocation info is now always allocated in old-space. Before relocation
      info allocated for placeholders and builtins (which get replaced with
      trampolines in nosnap builds) would become unreachable. Since read-only space
      is not GCed and ReadOnlyHeapIterator doesn't check for reachability,
      ValidateSnapshot would fail finding unreachable objects returned by
      ReadOnlyHeapIterator.
      
      Because trampoline relocation info gets replaced with canonical one, this only
      affects no-embdded-builtins nosnap builds, which don't get much benefit from
      read-only relocation info anyway.
      
      A new check has been added to the read-only deserializer to verify that every
      read-only object is reachable at mksnapshot-time.
      
      The CombinedHeapIterator iteration order was changed to iterate over
      read-only space first, because that's how HeapIterator worked.
      
      This is a reland of 3d1d8eae
      
      Original change's description:
      > [heap] Skip ro-space from heap iterators, add CombinedHeapIterator.
      >
      > Read-only space sharing requires an iterator independent of heap. This
      > also enables future removal of read-only space from heap.
      >
      > Bug: v8:7464
      > Change-Id: Ia07a9369494ea2c547d12c01ffa1d7b8b6bbeabc
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552795
      > Commit-Queue: Maciej Goszczycki <goszczycki@google.com>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#60819}
      
      Bug: v8:7464
      Change-Id: I49ae070955b77956962334a84f762ab29052d5ff
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1566513Reviewed-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@{#61185}
      9c062093
  18. 30 Apr, 2019 1 commit
    • Mike Stanton's avatar
      Reland "[ptr-compr] New RelocInfo for compressed pointers." · ed319e84
      Mike Stanton authored
      Failure addressed by not exposing the new test to the jitless environment.
      (jgruber@ on TBR).
      
      New enum RelocInfo::COMPRESSED_EMBEDDED_OBJECT created to support
      compressed pointers in generated code. Enum name EMBEDDED_OBJECT
      changed to FULL_EMBEDDED_OBJECT.
      
      RelocInfo::[set_]target_object() abstract away the difference between
      FULL_EMBEDDED_OBJECT and COMPRESSED_EMBEDDED_OBJECT.
      
      Compressed embedded objects can only be created at this time on
      x64 with pointer compression turned on. Arm64 constant pools don't
      support compressed objects at this time.
      
      NOPRESUBMIT=true
      
      Bug: v8:7703
      TBR: jgruber@chromium.org
      Change-Id: Ifff53b041bab09b4b8c3e16085e5df4aa2b99f4f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1588461Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61104}
      ed319e84
  19. 29 Apr, 2019 2 commits
  20. 17 Apr, 2019 1 commit
  21. 12 Apr, 2019 2 commits
  22. 10 Apr, 2019 1 commit
  23. 09 Apr, 2019 2 commits
  24. 08 Apr, 2019 1 commit
    • Benedikt Meurer's avatar
      [heap] Various improvements to GC stats. · f8e3b1d6
      Benedikt Meurer authored
      This CL contains a bunch of different improvements to the existing
      object stats, namely:
      
       - Introduce DEPRECATED_DESCRIPTOR_ARRAY_TYPE virtual instance type to
         also estimate the memory overhead of DescriptorArrays for deprecated
         Maps.
       - Do proper over-allocation computating for inobject fields in JSObjects.
       - Introduce OBJECT_PROPERTY_ARRAY_TYPE virtual instance type and properly
         compute over-allocation for PropertyArrays
       - Compute over-allocation for JSObject/JSArray elements properly.
       - Correctly report JSFunction and JSCollection like the other
         JSObjects, specifically report over-allocation properly for the
         instances itself and for the elements/properties backing stores.
       - Implement correct over-allocation computation for hash tables in
         ObjectStatsCollectorImpl::RecordHashTableVirtualObjectStats().
      
      Bug: v8:7266
      Change-Id: I9cadd703266dc90911a8e7420c3b00dcee82b06d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1557139
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60683}
      f8e3b1d6
  25. 05 Apr, 2019 2 commits
  26. 25 Mar, 2019 1 commit
    • Mythri's avatar
      [lite] Allocate feedback vectors lazily · 7629afdb
      Mythri authored
      Allocate feedback vectors lazily when the function's interrupt budget has
      reached a specified threshold. This cl introduces a new field in the
      ClosureFeedbackCellArray to track the interrupt budget for allocating
      feedback vectors. Using the interrupt budget on the bytecode array could
      cause problems when there are closures across native contexts and we may
      delay allocating feedback vectors in one of them causing unexpected
      performance cliffs. In the long term we may want to remove interrupt budget
      from bytecode array and use context specific budget for tiering up decisions
      as well.
      
      Bug: v8:8394
      Change-Id: Ia8fbb71f5e8543a92f14c44aa762973da82d445c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520719
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60450}
      7629afdb
  27. 11 Mar, 2019 1 commit
  28. 01 Mar, 2019 1 commit
    • Matt Gardner's avatar
      Reland "Optimize `in` operator" · 803ad324
      Matt Gardner authored
      The original was reverted for breaking webkit layout tests:
      https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064/30270
      
      It also caused the following clusterfuzz failures:
      
      chromium:935832
      This was a correctness bug due to not properly handling the case of arrays with prototypes other
      than Array.prototype. Accesses that were TheHole were not being handled property, both in bounds
      holes in holey arrays and out of bounds on either holey or packed arrays. Handling was incorrect
      both in access-assembler and in Turbofan.
      
      chromium:935932
      This bug was that there was no handling for Has checks on the global object. Turbofan was emitting
      code for a store (the 'else' condition on 'access_mode == AccessMode::kLoad'). It hit a DCHECK in
      debug builds but in release could show up in different places. This is the bug that caused the
      webkit layout test failure that led to the revert.
      
      Both bugs are fixed by in CL, and tests are added for those cases.
      
      Bug: v8:8733, chromium:935932, chromium:935832
      Change-Id: Iba0dfcfce6e15d2c0815a7670ece67bc13ba1925
      Reviewed-on: https://chromium-review.googlesource.com/c/1493132Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Matt Gardner <magardn@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#59958}
      803ad324
  29. 26 Feb, 2019 1 commit
  30. 25 Feb, 2019 1 commit
  31. 22 Jan, 2019 1 commit
  32. 14 Jan, 2019 1 commit
    • Camillo Bruni's avatar
      Reland "[parser] Inline byte scope data into PreparseData object" · a6f44629
      Camillo Bruni authored
      This is a reland of e2d44ede
      
      Original change's description:
      > [parser] Inline byte scope data into PreparseData object
      > 
      > Each PreparseData object had at least one pointer to a PodArray for its
      > serialized scope data. These objects usually have only tens of bytes of
      > payload. By inlining the byte data we save 3 words per PreparseData object.
      > This optimization saves 140KB of data on cnn.com.
      > 
      > 
      > - Store data_length and inner_length as int32 saving a words on 64bit
      > - Inline store byte data into PreparseData
      > - OnHeapConsumedPreparseData directly uses the PreparseData object
      > - get_inner, set_inner no longer allow Null sentinels
      > 
      > Change-Id: I1f62154d05ea2f98a6574efa738b32a8a84319d5
      > Reviewed-on: https://chromium-review.googlesource.com/c/1406673
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58751}
      
      Change-Id: I1f0a22c641d0d67f435b01c82daf8da7f144bff4
      Reviewed-on: https://chromium-review.googlesource.com/c/1407066Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58785}
      a6f44629
  33. 11 Jan, 2019 1 commit
    • Maya Lekova's avatar
      Revert "[parser] Inline byte scope data into PreparseData object" · 1ec1712c
      Maya Lekova authored
      This reverts commit e2d44ede.
      
      Reason for revert: Breaks GC stress tests - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/23527
      
      Original change's description:
      > [parser] Inline byte scope data into PreparseData object
      > 
      > Each PreparseData object had at least one pointer to a PodArray for its
      > serialized scope data. These objects usually have only tens of bytes of
      > payload. By inlining the byte data we save 3 words per PreparseData object.
      > This optimization saves 140KB of data on cnn.com.
      > 
      > 
      > - Store data_length and inner_length as int32 saving a words on 64bit
      > - Inline store byte data into PreparseData
      > - OnHeapConsumedPreparseData directly uses the PreparseData object
      > - get_inner, set_inner no longer allow Null sentinels
      > 
      > Change-Id: I1f62154d05ea2f98a6574efa738b32a8a84319d5
      > Reviewed-on: https://chromium-review.googlesource.com/c/1406673
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58751}
      
      TBR=ulan@chromium.org,cbruni@chromium.org,leszeks@chromium.org
      
      Change-Id: I39d92ee7bd2864e1b0c3a8fed4a11b68b3e14d58
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/1407073Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58753}
      1ec1712c