1. 23 Dec, 2019 1 commit
  2. 24 Oct, 2019 1 commit
    • Ross McIlroy's avatar
      [TurboProp] Remove the second schedule for TurboProp. · 22fd9555
      Ross McIlroy authored
      This rearranges the TurboProp pipeline to avoid the need for a second
      schedule of the graph. To do this, it moves the final schedule creation
      before effect-control-linearization (which used a temporary schedule
      previously, and with TurboFan). It then enables the block updater in the
      graph assembler for effect control linearization and does select and
      memory lowering in a new ScheduledMachineLowering phase to maintain
      this existing schedule during these lowering passes.
      
      BUG=v8:9684
      
      Change-Id: I6a7790b010f8b152dd01d85aa95ee5d4f99087a5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847351
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64537}
      22fd9555
  3. 23 Oct, 2019 1 commit
    • Ross McIlroy's avatar
      [TurboProp] Add the ability for GraphAssembler to update basic blocks. · 0c0042cc
      Ross McIlroy authored
      Adds the ability for the GraphAssembler to operate on, and maintain, a
      scheduled graph. This will be used by TurboProp to maintain the initial
      schedule created before effect-control-linearization, by updating this schedule
      during effect-control, select and memory lowering stages rather than doing a
      later reschedule.
      
      In order to do this, an internal BlockUpdater is added to GraphAssembler,
      which is enabled by passing the schedule to the GraphAssembler. The
      GraphAssembler is modified to call into the block updater when nodes are added
      and updates the schedule with new basic blocks when new control flow is updated.
      
      BUG=v8:9684
      
      Change-Id: I6d428ad21d869c472bb20f43cc8caf44722f090a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1841355
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64519}
      0c0042cc
  4. 01 Oct, 2019 1 commit
  5. 17 Sep, 2018 1 commit
  6. 08 Apr, 2016 1 commit
  7. 01 Apr, 2016 1 commit
  8. 10 Dec, 2015 1 commit
    • jarin's avatar
      [turbofan] Make MachineType a pair of enums. · bb2a830d
      jarin authored
      MachineType is now a class with two enum fields:
      - MachineRepresentation
      - MachineSemantic
      
      Both enums are usable on their own, and this change switches some places from using MachineType to use just MachineRepresentation. Most notably:
      - register allocator now uses just the representation.
      - Phi and Select nodes only refer to representations.
      
      Review URL: https://codereview.chromium.org/1513543003
      
      Cr-Commit-Position: refs/heads/master@{#32738}
      bb2a830d
  9. 25 Sep, 2015 1 commit
    • jarin's avatar
      [turbofan] Check node input/use consistency for changed operators and new nodes. · 1c2867c0
      jarin authored
      Verifies consistency of node inputs and uses:
      - node inputs should agree with the input count computed from the node's operator.
      - effect inputs should have effect outputs (or be a sentinel).
      - control inputs should have control outputs (or be a sentinel).
      - frame state inputs should be frame states (or be a sentinel).
      - if the node has control uses, it should produce control.
      - if the node has effect uses, it should produce effect.
      - if the node has frame state uses, it must be a frame state.
      
      I also removed some tests, either because they did not seem to be useful (scheduler) or they tested dead functionality (diamond effect phi).
      
      Review URL: https://codereview.chromium.org/1368913002
      
      Cr-Commit-Position: refs/heads/master@{#30927}
      1c2867c0
  10. 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
  11. 23 Jan, 2015 1 commit
    • danno's avatar
      Remove the dependency of Zone on Isolate · c7b09aac
      danno authored
      Along the way:
      - Thread isolate parameter explicitly through code that used to
        rely on getting it from the zone.
      - Canonicalize the parameter position of isolate and zone for
        affected code
      - Change Hydrogen New<> instruction templates to automatically
        pass isolate
      
      R=mstarzinger@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/868883002
      
      Cr-Commit-Position: refs/heads/master@{#26252}
      c7b09aac
  12. 28 Nov, 2014 1 commit
  13. 10 Nov, 2014 3 commits
  14. 04 Nov, 2014 2 commits
  15. 03 Nov, 2014 1 commit