1. 01 Feb, 2016 3 commits
    • mstarzinger's avatar
      [interpreter] Simplify BytecodeBranchAnalysis to minimum. · c207f10b
      mstarzinger authored
      This simplifies the branch analysis we perform on the bytecode stream
      down to the bare minimum that we need to build graphs. Note that we
      still record all branch targets, even though only the backwards ones
      would be needed, but this is essentially for free and might be useful
      eventually.
      
      R=oth@chromium.org
      
      Review URL: https://codereview.chromium.org/1646873004
      
      Cr-Commit-Position: refs/heads/master@{#33635}
      c207f10b
    • mstarzinger's avatar
      [interpreter] Reachability is implied by live environment. · 83a2c8ed
      mstarzinger authored
      The reachability of a bytecode is implied by a live environment reaching
      the bytecode during the abstract control flow simulation of the bytecode
      iteration perfromed by the graph builder. There is no need to compute it
      upfront anymore.
      
      Also, the upfront computation was only an approximation when it came to
      the reachability of an exception handler. This is why several tests for
      translation of exception handlers can now be enabled.
      
      R=oth@chromium.org
      
      Review URL: https://codereview.chromium.org/1645293003
      
      Cr-Commit-Position: refs/heads/master@{#33634}
      83a2c8ed
    • mstarzinger's avatar
      [interpreter] Simplify graph builder control flow simulation. · ee5b58d9
      mstarzinger authored
      This simplifies how the BytecodeGraphBuilder simulates control flow by
      reversing the propagation direction to forwards propagation. This is the
      same direction as the data flow which is also a forward propagation. In
      this way the analysis information needed at merge points is drastically
      reduced while still retaining the same simulation power.
      
      In short: We push down environments instead of pulling them.
      
      R=oth@chromium.org
      
      Review URL: https://codereview.chromium.org/1641893004
      
      Cr-Commit-Position: refs/heads/master@{#33633}
      ee5b58d9
  2. 28 Jan, 2016 1 commit
    • mstarzinger's avatar
      [interpreter] Translate exception handlers into graph. · 8bfa1ea3
      mstarzinger authored
      This translates the exception handler table attached to a bytecode array
      correctly into exceptional projections within the TurboFan graph. We
      perform an abstract simulation of handlers that are being entered and
      exited by the bytecode iteration to track the correct handler for each
      node.
      
      R=oth@chromium.org
      BUG=v8:4674
      LOG=n
      
      Review URL: https://codereview.chromium.org/1641723002
      
      Cr-Commit-Position: refs/heads/master@{#33580}
      8bfa1ea3
  3. 16 Dec, 2015 1 commit