1. 21 Sep, 2018 1 commit
  2. 17 Sep, 2018 1 commit
  3. 23 May, 2018 1 commit
  4. 28 Apr, 2018 1 commit
  5. 05 Mar, 2018 1 commit
  6. 13 Feb, 2018 1 commit
  7. 25 Sep, 2017 1 commit
  8. 02 Aug, 2017 1 commit
  9. 24 Feb, 2017 1 commit
  10. 10 Jan, 2017 1 commit
    • leszeks's avatar
      [turbofan] Allow indexed access to node inputs/input_edges · 6873f14b
      leszeks authored
      Node::InputCount() and ::InputAt() have to check for inline/out-of-line
      inputs every time they are called. The compiler doesn't seem to be very
      good at caching the result of this check, meaning that it (and all its
      jumps) would happen for every node access.
      
      Previously we would get around this sometimes, by using Node::inputs(),
      which returned a Node::Inputs iterable over node inputs. However,
      sometimes node access is more convenient using an index, or we also
      want to access the count. This patch adds an index accessor and 'count'
      method to Node::Inputs, and replaces several uses of InputCount and
      InputAt with this accessor.
      
      Review-Url: https://codereview.chromium.org/2617123002
      Cr-Commit-Position: refs/heads/master@{#42179}
      6873f14b
  11. 03 Jan, 2017 1 commit
  12. 20 Dec, 2016 1 commit
  13. 17 Oct, 2016 1 commit
  14. 20 Sep, 2016 1 commit
  15. 05 Sep, 2016 1 commit
  16. 26 Jul, 2016 1 commit
  17. 01 Dec, 2015 1 commit
  18. 24 Sep, 2015 1 commit
    • mstarzinger's avatar
      [turbofan] Make Node::set_op safer via wrapper. · da9c42dd
      mstarzinger authored
      This introduces the NodeProperties::ChangeOp helper which guards node
      operator changes so that additional checking can be done without any
      additional dependencies being pulled into the Node class. For now only
      the input count is checked, but additional checking might follow.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1366753003
      
      Cr-Commit-Position: refs/heads/master@{#30916}
      da9c42dd
  19. 16 Sep, 2015 1 commit
  20. 18 Aug, 2015 1 commit
  21. 13 Aug, 2015 1 commit
  22. 19 Jun, 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. 22 May, 2015 1 commit
    • titzer's avatar
      [turbofan] Rework Node guts to save space. · 65b66634
      titzer authored
      This reduces the storage per-Node storage from 7 words to 6 and per-edge
      storage from 6 words to 4.
      On average this is about 10%-15% space savings over the whole graph.
      
      Remove the use of std::deque as the out-of-line storage for inputs.
      Reduce size of Use links and use pointer arithmetic to find Node
      from Use.
      
      R=mstarzinger@chromium.org,jarin@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1150923003
      
      Cr-Commit-Position: refs/heads/master@{#28583}
      65b66634
  25. 21 May, 2015 1 commit
  26. 18 May, 2015 1 commit
  27. 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
  28. 20 Apr, 2015 1 commit
  29. 24 Mar, 2015 1 commit
  30. 19 Mar, 2015 1 commit
  31. 20 Feb, 2015 1 commit
  32. 20 Jan, 2015 1 commit
  33. 16 Jan, 2015 4 commits
  34. 07 Jan, 2015 1 commit
    • bmeurer's avatar
      [turbofan] Cleanup Graph and related classes. · e53845d4
      bmeurer authored
      - Move NodeMarker to its own file, and introduce a non
        templatized base class.
      - Cleanup the include hell.
      - Sanitize the Node construction methods now that we
        got rid of that GenericNode/GenericGraph stuff.
      - Protect against NodeId overflow in Graph.
      - Various minor cleanups.
      
      TEST=cctest,mjsunit,unittests
      
      Review URL: https://codereview.chromium.org/838783002
      
      Cr-Commit-Position: refs/heads/master@{#25977}
      e53845d4
  35. 03 Dec, 2014 1 commit
  36. 02 Dec, 2014 2 commits