1. 13 Dec, 2019 1 commit
  2. 28 Oct, 2019 1 commit
  3. 12 Sep, 2019 1 commit
  4. 01 Aug, 2019 1 commit
  5. 26 Jul, 2019 1 commit
  6. 17 Jul, 2019 1 commit
  7. 15 Jul, 2019 1 commit
  8. 08 Jul, 2019 1 commit
  9. 23 May, 2019 1 commit
  10. 10 May, 2019 1 commit
  11. 29 Mar, 2019 1 commit
  12. 30 Nov, 2018 1 commit
  13. 26 Nov, 2018 1 commit
  14. 20 Nov, 2018 1 commit
  15. 15 Nov, 2018 2 commits
  16. 14 Jun, 2018 2 commits
    • Clemens Hammacher's avatar
      Reland "Introduce StdoutStream which prints to Android log or stdout" · 8e2e1257
      Clemens Hammacher authored
      This is a reland of 0909dbe3.
      Added missing V8_EXPORT_PRIVATE to AndroidLogStream.
      
      TBR=mstarzinger@chromium.org
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      >
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      >
      > R=mstarzinger@chromium.org
      >
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      Bug: v8:7820
      Change-Id: I8164bad78a401dbe4246c9ffcacd050fe511ed58
      Reviewed-on: https://chromium-review.googlesource.com/1100636Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53733}
      8e2e1257
    • Michael Achenbach's avatar
      Revert "Introduce StdoutStream which prints to Android log or stdout" · d2e1620c
      Michael Achenbach authored
      This reverts commit 0909dbe3.
      
      Reason for revert: Blocks roll:
      https://chromium-review.googlesource.com/c/chromium/src/+/1099143
      
      Original change's description:
      > Introduce StdoutStream which prints to Android log or stdout
      > 
      > The often used construct {OFStream(stdout)} does not work on Android.
      > This CL introduces an {StdoutStream} which behaves exactly like
      > {OFStream(stdout)} on non-android platforms, and redirects to the
      > Android log on appropriate systems and configurations.
      > 
      > R=​mstarzinger@chromium.org
      > 
      > Bug: v8:7820
      > Change-Id: Ia682fdf6d064e37c605c19b032f5a10b96ac825b
      > Reviewed-on: https://chromium-review.googlesource.com/1088911
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53692}
      
      TBR=mstarzinger@chromium.org,jarin@chromium.org,jgruber@chromium.org,clemensh@chromium.org,bmeurer@chromium.org
      
      Change-Id: Iadadd9a0df10dca0fad647138a83db50148e864d
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7820
      Reviewed-on: https://chromium-review.googlesource.com/1100635Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53725}
      d2e1620c
  17. 13 Jun, 2018 1 commit
  18. 25 Sep, 2017 1 commit
  19. 04 Sep, 2017 1 commit
  20. 21 Aug, 2017 1 commit
  21. 09 Aug, 2017 1 commit
  22. 02 Aug, 2017 1 commit
  23. 21 Jun, 2017 1 commit
  24. 27 Mar, 2017 2 commits
    • Ross McIlroy's avatar
      [TurboFan] Reserve space in scheduler node data for split nodes. · bdb4a8d3
      Ross McIlroy authored
      When node splitting is enabled new nodes could be created during scheduling.
      The Scheduler::node_data_ and Schedule::nodeid_to_block_ zone vectors
      reserve enough space for the node count before splitting, however will
      have to reallocate space when node splitting occurs. The vectors double
      in space by default, meaning the peak zone usage is 3x the required amount
      for these vectors as soon as a single node is split. Avoid this in the
      common case by reserving 10% extra space for split nodes. The value
      10% was choosen since it covers 98.7% of the optimized functions in Octane.
      
      BUG=chromium:700364
      
      Change-Id: Ibabd8d04cffd1eb08cc3b8a12b76892208ef3288
      Reviewed-on: https://chromium-review.googlesource.com/458425
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44153}
      bdb4a8d3
    • Ross McIlroy's avatar
      [TurboFan] Lazily allocate scheduled_nodes vectors since most remain empty. · a059e87e
      Ross McIlroy authored
      The scheduled_nodes_ vector is used to maintain a per-block list of
      non-fixed nodes. For most blocks this list remains empty, so lazily
      initialize it instead of pre-allocating to save memory.
      
      Also pre-reserve an extra 10% of blocks to avoid reallocting space in the
      vector when fusing floating control creates new basic blocks.
      
      BUG=chromium:700364
      
      Change-Id: I9876e6a42bc90c9bff5838620365c18609ed1ee9
      Reviewed-on: https://chromium-review.googlesource.com/458919Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44152}
      a059e87e
  25. 21 Mar, 2017 1 commit
  26. 20 Sep, 2016 1 commit
  27. 18 Apr, 2016 1 commit
    • jarin's avatar
      [turbofan] Effect linearization after representation inference. · b9e287c6
      jarin authored
      This introduces a compiler pass that schedules the graph and re-wires effect chain according to the schedule. It also connects allocating representation changes to the effect chain, and removes the BeginRegion and EndRegion nodes - they should not be needed anymore because all effectful nodes should be already wired-in.
      
      This is an intermediate CL - the next step is to move lowering of the Change*ToTaggedEffect nodes to StateEffectIntroduction so that we do not have to introduce the effectful versions of nodes.
      
      Review URL: https://codereview.chromium.org/1849603002
      
      Cr-Commit-Position: refs/heads/master@{#35565}
      b9e287c6
  28. 04 Apr, 2016 1 commit
    • titzer's avatar
      [turbofan] Handle dead diamonds in scheduling and add a test. · 45d75bca
      titzer authored
      The background here is that graphs generated from WASM are not trimmed.
      That means there can be some floating control diamonds that are not
      reachable from end. An assertion in the scheduler for phis from floating
      diamonds checks that the use edge in this situation is the control edge,
      but in general, any edge could cause this.
      
      Scheduling still works without this assertion. The longer term fix
      is to either trim the graphs (more compile time overhead for WASM)
      or improve the scheduler's handling of dead code in the graph. Currently
      it does not schedule dead code but the potential use positions of
      dead code are used in the computation of the common dominator of uses. We could
      recognize dead nodes in PrepareUses() and check in GetBlockForUse()
      as per TODO.
      
      R=bradnelson@chromium.org, mstarzinger@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1846933002
      
      Cr-Commit-Position: refs/heads/master@{#35245}
      45d75bca
  29. 11 Jan, 2016 1 commit
  30. 14 Oct, 2015 1 commit
    • jarin's avatar
      [turbofan] Introduce node regions for protection from scheduling. · 59c616cc
      jarin authored
      This CL re-purposes ValueEffect and Finish as delimiters for regions
      that are scheduled atomically (renamed to BeginRegion, FinishRegion).
      
      The BeginRegion node takes and produces an effect. For the uses that do
      not care about the placement in the effect chain, it is ok to feed
      graph->start() as an effect input.
      
      The FinishRegion takes a value and an effect and produces a value and
      an effect. It is important that any value or effect produced inside the
      region is not used outside the region. The FinishRegion node is the only
      way to smuggle an effect and a value out.
      
      At the moment, this does not support control flow inside the region. Control flow would be hard.
      
      During scheduling we do some sanity check, but the checks are not exhaustive. Here is what we check:
      - the effect chain between begin and finish is linear (no splitting,
        single effect input and output).
      - any value produced is consumed by the FinishRegion node.
      - no control flow outputs.
      
      Review URL: https://codereview.chromium.org/1399423002
      
      Cr-Commit-Position: refs/heads/master@{#31265}
      59c616cc
  31. 19 Jun, 2015 1 commit
  32. 06 May, 2015 1 commit
  33. 05 May, 2015 1 commit
    • bmeurer's avatar
      [turbofan] Fix tail call optimization. · d21de2a4
      bmeurer authored
      Tail calls are matched on the graph, with a dedicated tail call
      optimization that is actually testable. The instruction selection can
      still fall back to a regular if the platform constraints don't allow to
      emit a tail call (i.e. the return locations of caller and callee differ
      or the callee takes non-register parameters, which is a restriction that
      will be removed in the future).
      
      Also explicitly limit tail call optimization to stubs for now and drop
      the global flag.
      
      BUG=v8:4076
      LOG=n
      
      Review URL: https://codereview.chromium.org/1114163005
      
      Cr-Commit-Position: refs/heads/master@{#28219}
      d21de2a4
  34. 04 May, 2015 1 commit
  35. 30 Apr, 2015 1 commit
    • svenpanne's avatar
      Detect simple tail calls · 4b122b75
      svenpanne authored
      This CL contains the first steps towards tail call optimization:
      
        * Structurally detect tail calls during instruction selection,
          looking for special return/call combinations.
      
        * Added new architecture-specific instructions for tail calls which
          jump instead of call and take care of frame adjustment.
      
        * Moved some code around.
      
      Currently we restrict tail calls to callees which only use registers
      for arguments/return value and to call sites which are explicitly
      marked as being OK for tail calls. This excludes, among other things,
      call sites in sloppy JS functions and our IC machinery (both need in
      general to be able to access the caller's frame).
      
      All this is behind a flag --turbo-tail-calls, which is currently off
      by default, so it can easily be toggled.
      
      Review URL: https://codereview.chromium.org/1108563002
      
      Cr-Commit-Position: refs/heads/master@{#28150}
      4b122b75
  36. 20 Apr, 2015 1 commit
  37. 19 Mar, 2015 1 commit