1. 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
  2. 23 Mar, 2016 1 commit
  3. 11 Jan, 2016 1 commit
  4. 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
  5. 20 Apr, 2015 1 commit
  6. 04 Mar, 2015 1 commit
  7. 25 Feb, 2015 1 commit
  8. 20 Feb, 2015 1 commit
  9. 17 Feb, 2015 1 commit
    • bmeurer's avatar
      [turbofan] Optimize certain chains of Branch into a Switch. · acd9c46c
      bmeurer authored
      This adds a new ControlFlowOptimizer that - for now - recognizes chains
      of Branches generated by the SwitchBuilder for a subset of javascript
      switches into Switch nodes. Those Switch nodes are then lowered to
      either table or lookup switches.
      
      Also rename Case to IfValue (and introduce IfDefault) for consistency.
      
      BUG=v8:3872
      LOG=n
      
      Review URL: https://codereview.chromium.org/931623002
      
      Cr-Commit-Position: refs/heads/master@{#26691}
      acd9c46c
  10. 09 Feb, 2015 1 commit
  11. 23 Jan, 2015 2 commits
  12. 22 Jan, 2015 1 commit
  13. 17 Dec, 2014 1 commit
  14. 26 Nov, 2014 3 commits
  15. 06 Nov, 2014 1 commit
  16. 05 Nov, 2014 1 commit
  17. 27 Oct, 2014 1 commit
  18. 24 Oct, 2014 1 commit
  19. 22 Oct, 2014 1 commit
  20. 20 Oct, 2014 2 commits
  21. 14 Oct, 2014 2 commits
  22. 30 Sep, 2014 2 commits
  23. 29 Sep, 2014 1 commit
  24. 25 Sep, 2014 1 commit
  25. 02 Sep, 2014 1 commit
  26. 01 Sep, 2014 1 commit
  27. 26 Aug, 2014 2 commits
  28. 18 Aug, 2014 1 commit
  29. 04 Aug, 2014 1 commit
  30. 30 Jul, 2014 2 commits