1. 16 Apr, 2018 1 commit
  2. 26 Mar, 2018 2 commits
  3. 02 Feb, 2018 1 commit
  4. 14 Nov, 2017 1 commit
  5. 16 Oct, 2017 1 commit
    • Michael Lippautz's avatar
      [heap] Unify incremental and main marking visitor · 4b42656d
      Michael Lippautz authored
      With parallel marking enabled, both visitors have to be equal wrt. to
      actual visitation.
      
      The differences are captured by template parameters:
      - Retaining path tracing which we only do for full GCs.
      - Incremental marking of FixedArray.
      
      CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux64_tsan_rel;master.tryserver.v8:v8_linux64_tsan_concurrent_marking_rel_ng;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
      
      Bug: chromium:694255, chromium:750084
      Change-Id: I177aeb0ee4f6a35e2f592ba257c9ddc14f88fd99
      Reviewed-on: https://chromium-review.googlesource.com/704935
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48582}
      4b42656d
  6. 11 Oct, 2017 1 commit
  7. 28 Sep, 2017 1 commit
  8. 15 Sep, 2017 1 commit
  9. 23 Aug, 2017 2 commits
    • Ross McIlroy's avatar
      Reland "[Compiler] Remove code aging support." · 8bf15bf1
      Ross McIlroy authored
      > This reverts commit 42d3d36b.
      > 
      > Original change's description:
      > > [Compiler] Remove code aging support.
      > > 
      > > Code aging is no longer supported by any remaining compilers now
      > > that full codegen has been removed. This CL removes all vestiges of
      > > code aging.
      > > 
      > > BUG=v8:6409
      > > 
      > > Change-Id: I945ebcc20c7c55120550c8ee36188bfa042ea65e
      > > Reviewed-on: https://chromium-review.googlesource.com/619153
      > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#47501}
      > 
      > TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com
      > 
      > Change-Id: I9d8b2985e2d472697908270d93a35eb7ef9c88a8
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: v8:6409
      > Reviewed-on: https://chromium-review.googlesource.com/625998
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47506}
      
      TBR=ulan@chromium.org,rmcilroy@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,rodolph.perfetta@arm.com
      
      Change-Id: I68785c6be7686e874b3848103e3a34483eaeb519
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6409
      Reviewed-on: https://chromium-review.googlesource.com/625919Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47535}
      8bf15bf1
    • Michael Starzinger's avatar
      [ic] Remove deprecated CompareIC stub support. · 10f73fac
      Michael Starzinger authored
      R=ishell@chromium.org
      BUG=v8:6409
      
      Change-Id: Ic01d4f1a8b251bb5480840d4943d9ebec713b9c1
      Reviewed-on: https://chromium-review.googlesource.com/626016Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47534}
      10f73fac
  10. 22 Aug, 2017 2 commits
  11. 16 Aug, 2017 1 commit
  12. 14 Aug, 2017 1 commit
    • Ulan Degenbaev's avatar
      [heap] Refactor object marking state (part 2). · 19ae2fc1
      Ulan Degenbaev authored
      This follows up 4af9cfcc by separating incremental marking state
      from the full MC marking state. Runtime and tests now use only
      the incremental marking state. The full MC marking state used
      by MC during atomic pause.
      
      This separation decouples atomicity of markbit accesses
      during incremental marking and during full MC.
      
      Bug: chromium:694255
      TBR: mlippautz@chromium.org
      Change-Id: Ia409ab06515cd0d1403a272a016633295c0d6692
      Reviewed-on: https://chromium-review.googlesource.com/612350
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47336}
      19ae2fc1
  13. 11 Aug, 2017 2 commits
  14. 10 Aug, 2017 1 commit
    • Ulan Degenbaev's avatar
      [heap] Refactor object marking state. · 4af9cfcc
      Ulan Degenbaev authored
      This patch merges ObjectMarking and MarkingState. The new marking state
      encapsulates object marking, live byte tracking, and access atomicity.
      
      The old ObjectMarking calls are now replaced with calls to marking
      state. For example:
      ObjectMarking::WhiteToGrey<kAtomicity>(obj, marking_state(obj)
      becomes
      marking_state()->WhiteToGrey(obj)
      
      This simplifies custom handling of live bytes and allows to chose
      atomicity of markbit accesses depending on collector's state.
      
      This also decouples marking bitmap from the marking code, which will
      allows in future to use different data-structure for mark-bits.
      
      Bug: chromium:694255
      Change-Id: Ifb4bc0144187bac1c08f6bc74a9d5c618fe77740
      Reviewed-on: https://chromium-review.googlesource.com/602132
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47288}
      4af9cfcc
  15. 01 Aug, 2017 2 commits
  16. 28 Jul, 2017 1 commit
    • Jakob Kummerow's avatar
      Refactor TransitionArray access · e567dd3a
      Jakob Kummerow authored
      in preparation for caching StoreIC-Transition handlers in there.
      This CL should not change behavior or performance.
      
      The TransitionArray class no longer serves a dual purpose; it is now
      simply the data structure serving that role. Further, it now supports
      storing transitioning handlers in its "target" slot, which in turn have
      a WeakCell pointing to the transition target (but this functionality
      is not being used yet).
      
      The interface for accessing a map's transitions, previously implemented
      as a set of static functions, is now handled by the TransitionsAccessor
      class. It distinguishes the following internal states:
      - kPrototypeInfo: map is a prototype map, will never cache any transitions.
      - kUninitialized: map can cache transitions, but doesn't have any.
      - kWeakCell: map caches a single transition, stored inline. Formerly known
                   as "IsSimpleTransition".
      - kFullTransitionArray: map uses a TransitionArray to store transitions.
      - kTuple3Handler, kFixedArrayHandler: to be used in the future for caching
                                            transitioning handlers.
      
      Change-Id: If2aa68390981f96f317b958445a6e0b935c2a14e
      Reviewed-on: https://chromium-review.googlesource.com/550118Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46981}
      e567dd3a
  17. 27 Jul, 2017 1 commit
  18. 25 Jul, 2017 1 commit
  19. 24 Jul, 2017 1 commit
  20. 20 Jul, 2017 2 commits
  21. 19 Jul, 2017 1 commit
    • Ulan Degenbaev's avatar
      [heap] Instrument mark-compact to track retaining paths for debugging. · 40c34606
      Ulan Degenbaev authored
      This patch adds a new intrinsic: %DebugTrackRetainingPath(object).
      Calling the intrinsic in JS code saves a weak reference to the given
      object in GC internal table of tracked objects.
      
      Each subsequent full GC prints to stdout the retaining path for each
      tracked object (if it is still alive). The retaining path is the real
      path that the marker took from the root set to the tracked object.
      
      This is useful for investigating of memory leaks:
      1) Add %DebugTrackRetainingPath(leaking_object) in JS code.
      For example:
        function foo() {
          let x = { bar: "bar"};
          %DebugTrackRetainingPath(x);
          return () => { return x; }
        }
      
        let closure = foo();
        gc();
      
      2) Run d8 with --allow-natives-syntax --track-retaining-path --expose-gc.
      
      3) Check the retaining path in stdout.
      
      For more detailed inspection, run d8 in gdb and set breakpoint in
      
      v8: :internal::Heap::PrintRetainingPath.
      Change-Id: I01a0faac1e009bc6c321fa75613900b49d2b036f
      Reviewed-on: https://chromium-review.googlesource.com/575972
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46766}
      40c34606
  22. 03 Jul, 2017 2 commits
  23. 30 Jun, 2017 1 commit
  24. 29 Jun, 2017 1 commit
  25. 27 Jun, 2017 2 commits
  26. 26 Jun, 2017 2 commits
    • hans's avatar
      Make some functions that are hit during renderer startup available for inlining · 777da354
      hans authored
      This is towards closing the perf gap between the MSVC build (which uses link-
      time optimization) and Clang (where LTO isn't ready on Windows yet). We did
      a study (see bug) to see which non-inlined functions are hit a lot during render
      start-up, and which would be inlined during LTO. This should benefit performance
      in all builds which currently don't use LTO (Android, Linux, Mac) as well as
      the Win/Clang build.
      
      The binary size of chrome_child.dll increases by 2KB with this.
      
      BUG=chromium:728324
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
      
      Review-Url: https://codereview.chromium.org/2950993002
      Cr-Commit-Position: refs/heads/master@{#46229}
      777da354
    • Michael Lippautz's avatar
      [heap] Speed up instance visitor · c2217587
      Michael Lippautz authored
      - Allow disabling filtering of objects
      - Allow disabling visitation of map pointer
      - Strongly suggest to compiler to inline visitation.
      
      Bug: v8:736641
      Change-Id: I1894eaf86b4fd368b66d75b8deca1c9ab273059d
      Reviewed-on: https://chromium-review.googlesource.com/547716
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46213}
      c2217587
  27. 25 Jun, 2017 1 commit
  28. 23 Jun, 2017 2 commits
  29. 22 Jun, 2017 1 commit
  30. 20 Jun, 2017 1 commit