1. 13 Feb, 2017 1 commit
    • Leszek Swirski's avatar
      [turbofan] Allow registers/accum/params to share state value nodes · 6c5cd4d2
      Leszek Swirski authored
      Previously, accumulators and registers each had a single element cache,
      distinct from the local register cache. This meant that
      
       a) Dead accumulator state nodes were not re-used if the accumulator
          became live.
       b) Functions with only one parameter (the this object) or only one
          local register could not reuse the single-valued state value node
          of the accumulator.
      
      This patch introduces heavier re-use of state-value nodes, decreasing
      memory use when building the graph and decreasing the number of nodes
      created overall.
      
      Change-Id: Ie3cc6913483aab0819d99be382eb2cb42de8c3d2
      Reviewed-on: https://chromium-review.googlesource.com/440926Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#43148}
      6c5cd4d2
  2. 05 Jan, 2017 1 commit
  3. 17 Oct, 2016 1 commit
  4. 30 Sep, 2016 1 commit
  5. 19 Mar, 2015 1 commit
    • jarin's avatar
      [turbofan] Remember types for deoptimization during simplified lowering. · b7dc9c58
      jarin authored
      With this change, we remember the types of frame state inputs (in a new
      operator, called TypedStateValues). Instead of inferring the value types
      when building translations, we used the recorded types.
      
      The original approach was not reliable because the passes after
      simplified lowering can change node types, and this in turn confuses
      the translation builder.
      
      BUG=chromium:468727
      LOG=n
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1015423002
      
      Cr-Commit-Position: refs/heads/master@{#27310}
      b7dc9c58
  6. 16 Mar, 2015 1 commit
    • jarin's avatar
      [turbofan] Cache for reusing parts of value vector nodes in frame states. · cd67e97a
      jarin authored
      Instead of the current approach of storing flat vectors in frame states (and possibly reusing the last vector in AST graph builder), this change list builds a tree for the values and tries to reuse the nodes for different frame states. At the moment, we only use this for the local variable part of frame state, but nothing prevents us from using this for all parts.
      
      This change provides two new classes: one for creating the tree (StateValuesCache) and one for iterating the trees (StateValuesAccess).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1008213002
      
      Cr-Commit-Position: refs/heads/master@{#27222}
      cd67e97a