1. 04 Oct, 2018 1 commit
  2. 01 Oct, 2018 1 commit
  3. 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
  4. 13 Jun, 2018 1 commit
  5. 30 Apr, 2018 1 commit
  6. 28 Apr, 2018 1 commit
  7. 20 Mar, 2018 1 commit
    • Daniel Clifford's avatar
      Ensure CSA-generated code can handle one-input phis · a5f1d5d4
      Daniel Clifford authored
      In general, TurboFan doesn't encounter phi nodes with only a single
      data input in the backend. However, CSA-based builtins (especially
      auto-generated ones, e.g. from Torque), may contain single-input phi nodes,
      although outside the auto-generated case this doesn't happen much in practice.
      
      Single input phi nodes (i.e. phis in blocks with one predecessor) don't have
      any side effects and are essentially useless and harmless, but to avoid problems
      in the backend of TurboFan (whose SSA deconstruction disallows control flow
      splits that continue to blocks with phis), this CL tweaks the existing
      CSA-only control flow and graph sanitization in the CSA path to ensure
      no no-op phis.
      
      Change-Id: I109f4dc6cde5ad1794585a09609a230b1848e0d5
      Reviewed-on: https://chromium-review.googlesource.com/963711Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Daniel Clifford <danno@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52056}
      a5f1d5d4
  8. 25 Sep, 2017 1 commit
  9. 21 Aug, 2017 1 commit
  10. 22 May, 2017 1 commit
  11. 18 May, 2017 1 commit
    • Mircea Trofin's avatar
      Move phis, if any, when ensuring deferred blocks. · 8038e5ca
      Mircea Trofin authored
      We use Schedule::EnsureDeferredCodeSingleEntryPoint as a helper for 
      hand-crafted builtin code, to ensure deferred code isn't entered from a
      mix of deferred and non-deferred code (invariant required for hot/cold
      allocation, or "splintering").
      
      When we create a "merger" block, it may be the case that the original 
      block had a few phi operands. Those need to be moved as well.
      
      This bug was uncovered by both v8:6390, and, earlier, by v8:5998. We 
      fixed the earlier one by authoring a the builtin to avoid the need for
      EnsureDeferredCodeSingleEntryPoint. I proposed earlier an alternative 
      where we'd replace the Ensure... method with a Verify, and throw early
      when the builtin is assembled, however, we may want to maintain the 
      slightly higher level DSL for authoring builtins, and perform such 
      graph adjustments for the lower level constraints afterwards, hence 
      this current CL.
      
      Bug: v8:5998 v8:6390
      Change-Id: Ia3143f7a66904fe480d8edb5b52bf915b8d185dc
      Reviewed-on: https://chromium-review.googlesource.com/505264
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45387}
      8038e5ca
  12. 15 May, 2017 1 commit
  13. 06 Apr, 2017 1 commit
  14. 28 Dec, 2016 1 commit
    • danno's avatar
      [csa] Improve propagation of deferred block mark · 81df56ae
      danno authored
      Before this patch, loops in deferred code would defeat the propagation of the
      deferred flag, since back edges would usually not come from deferred blocks,
      thus stoping the forward propagation of the deferred flag at loop headers. This
      patch ensures that back edges are ignored in the deferred propations, properly
      placing loops dominated by deferred labels and the code that follows them into
      deferred code.
      
      R=epertoso@chromium.org
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2606923002
      Cr-Commit-Position: refs/heads/master@{#41976}
      81df56ae
  15. 07 Oct, 2016 1 commit
  16. 24 May, 2016 1 commit
  17. 23 May, 2016 1 commit
    • danno's avatar
      [turbofan] Better handling of inserted split-edge blocks · 6eb242ee
      danno authored
      Previously, split-edge blocks inserted into CodeStubAssembler schedules
      inherited the "deferredness" of their predecessor block. This tended to inline
      newly inserted blocks that preceeded deferred code inline with non-deferred
      code. The stack frame elider sometimes inserted stack construction into these
      blocks, code which was actually was only needed in the deferred case.
      
      This CL marks inserted split edge blocks with the deferredness of their
      successors, e.g. they are defererred if their predecessor is deferrred. This
      moves stack building code that logically belongs to deferred code into the
      deferred code area rather than inlining it in non-deferred code.
      
      Review-Url: https://codereview.chromium.org/2003663002
      Cr-Commit-Position: refs/heads/master@{#36446}
      6eb242ee
  18. 23 Apr, 2016 1 commit
    • mtrofin's avatar
      [turbofan] Single entry into deferred · 5ae587cf
      mtrofin authored
      If a deferred block has multiple predecessors, they have to be
      all deferred. Otherwise, we can run into a situation where if a range
      that spills only in deferred blocks inserts its spill in the block, and
      other ranges need moves inserted by ResolveControlFlow in the predecessors,
      the register of the range spilled in the deferred block may be clobbered.
      
      To avoid that, when a deferred block has multiple predecessors, and some
      are not deferred, we add a non-deferred block to collect all such edges.
      
      This CL addresses the validator assertion failure the referenced issue, as well
      as the greedy allocator failure - which was caused by the situation described
      above.
      
      BUG=v8:4940
      LOG=n
      
      Review URL: https://codereview.chromium.org/1912093005
      
      Cr-Commit-Position: refs/heads/master@{#35742}
      5ae587cf
  19. 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
  20. 23 Mar, 2016 2 commits
  21. 11 Jan, 2016 1 commit
  22. 16 Sep, 2015 1 commit
  23. 12 Jun, 2015 1 commit
    • bmeurer's avatar
      [turbofan] Use appropriate type for NodeId. · c487aba7
      bmeurer authored
      Up until now we used int32_t for NodeId, but that was not ideal because
      negative values are invalid for NodeId and we use it as an array index
      for example in the NodeMarker class, where C++ compilers on x64 have to
      generate code that does proper sign extension for the indices, which is
      completely unnecessary.
      
      R=svenpanne@chromium.org
      
      Review URL: https://codereview.chromium.org/1178403004
      
      Cr-Commit-Position: refs/heads/master@{#28997}
      c487aba7
  24. 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
  25. 04 Mar, 2015 1 commit
  26. 25 Feb, 2015 1 commit
  27. 20 Feb, 2015 1 commit
  28. 09 Feb, 2015 1 commit
  29. 29 Jan, 2015 1 commit
  30. 23 Jan, 2015 1 commit
  31. 22 Jan, 2015 1 commit
  32. 17 Dec, 2014 1 commit
  33. 26 Nov, 2014 2 commits
  34. 05 Nov, 2014 1 commit
  35. 24 Oct, 2014 1 commit
  36. 22 Oct, 2014 2 commits