1. 05 Mar, 2020 1 commit
    • Tobias Tebbi's avatar
      [turbofan] use ZoneUnorderedMap for NodeCache · c0c3b207
      Tobias Tebbi authored
      This fixes a non-determinism issue caused by the cache being full.
      Depending on the non-deterministic value of the handles in HeapConstant
      nodes, different cache entries would be overwritten in this case.
      
      The old implementation of NodeCache had a fixed limit, overwriting
      entries when the cache is full. This behavior didn't really make sense,
      but the hand-written hash map implementation couldn't handle arbitrary
      numbers of hash collisions, so removing the limit wasn't an option either.
      Thus this CL just replaces the custom hash map with a normal
      std::unordered_map, that is, a ZoneUnorderedMap.
      
      Bug: chromium:1046815
      Change-Id: I95269f2b1068eb9dfe3ee2ab5cca1cb460bc8fa3
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2087405Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66592}
      c0c3b207
  2. 24 May, 2019 1 commit
  3. 19 Oct, 2018 1 commit
  4. 30 Apr, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Run everything after representation selection concurrently. · d1b3d426
      bmeurer authored
      Further refactor the pipeline to even run the first scheduler (part of
      the effect control linearization) concurrently. This temporarily
      disables most of the write barrier elimination, but we will get back to
      that later.
      
      Drive-by-fix: Remove the dead code from ChangeLowering, and stack
      allocate the Typer in the pipeline. Also migrate the AllocateStub to a
      native code builtin, so that we have the code object + a handle to it
      available all the time.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux64_tsan_rel
      R=mstarzinger@chromium.org
      BUG=v8:4969
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1926023002
      Cr-Commit-Position: refs/heads/master@{#35918}
      d1b3d426
  5. 28 Apr, 2016 2 commits
  6. 12 Apr, 2016 2 commits
  7. 11 Apr, 2016 1 commit
  8. 01 Apr, 2016 2 commits
  9. 16 Dec, 2015 1 commit
  10. 01 Sep, 2015 1 commit
  11. 13 Aug, 2015 1 commit
  12. 12 Aug, 2015 1 commit
    • mstarzinger's avatar
      Remove inline header includes from non-inline headers (1). · 00a07bc1
      mstarzinger authored
      This tries to remove includes of "-inl.h" headers from normal ".h"
      headers, thereby reducing the chance of any cyclic dependencies and
      decreasing the average size of our compilation units.
      
      Note that this change still leaves 7 violations of that rule in the
      code. However there now is the "tools/check-inline-includes.sh" tool
      detecting such violations.
      
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1283033003
      
      Cr-Commit-Position: refs/heads/master@{#30125}
      00a07bc1
  13. 23 Dec, 2014 1 commit