1. 17 May, 2016 2 commits
  2. 25 Jan, 2016 1 commit
  3. 20 Jan, 2016 1 commit
    • sigurds's avatar
      [turbofan] Improve escape analysis. · 4efbeac1
      sigurds authored
      * Treat Select nodes as escaping
      * Correctly void virtual field information
        after a store to a non-const index
      * Add a shortcut if all allocates escape
      * Add a shortcut if no allocates are discovered
      * Only reduce FrameState/StateValues nodes if they
        have virtual allocates as input (transitively)
      * Fix bug in FrameState/StateValues duplication
      * Add check to verifier: First 3 inputs of FrameState
        must be StateValues
      
      R=mstarzinger@chromium.org
      BUG=v8:4586
      LOG=n
      
      Review URL: https://codereview.chromium.org/1583213003
      
      Cr-Commit-Position: refs/heads/master@{#33406}
      4efbeac1
  4. 13 Jan, 2016 1 commit
  5. 05 Jan, 2016 2 commits
    • sigurds's avatar
      [turbofan] Deopt support for escape analysis · 3b473d7a
      sigurds authored
      Deopt support is added on two levels. On the IR level,
      a new ObjectState node is added, which represenents an
      object to be materialized. ObjectState nodes appear as
      inputs of FrameState and StateValues nodes. On the
      instruction select/code-generation level, the
      FrameStateDescriptor class handles the nesting
      introduced by ObjectState, and ensures that deopt code
      with CAPTURED_OBJECT/DUPLICATED_OBJECT entries are
      generated similarly to what crankshaft's escape
      analysis does.
      
      Two unittests test correctness of the IR level implementation.
      
      Correctness for instruction selection / code generation
      is tested by mjsunit tests.
      
      R=jarin@chromium.org,mstarzinger@chromium.org
      BUG=v8:4586
      LOG=n
      
      Review URL: https://codereview.chromium.org/1485183002
      
      Cr-Commit-Position: refs/heads/master@{#33115}
      3b473d7a
    • sigurds's avatar
      [turbofan] Add performance counters for escape analysis · 89654538
      sigurds authored
      R=bmeurer@chromium.org
      BUG=v8:4586
      LOG=n
      
      Review URL: https://codereview.chromium.org/1559003002
      
      Cr-Commit-Position: refs/heads/master@{#33107}
      89654538
  6. 14 Dec, 2015 1 commit
    • sigurds's avatar
      [turbofan] Stabilize escape analysis (without deopt) · 3161c171
      sigurds authored
      Bugfixes and improvements in escape analysis include:
      
      * Handling of ObjectIsSmi (non-escaping)
      * Handling of nested phi replacements
      * Handling of phis with arity > 2
      * Resilience against effectful nodes dangling from start
      * Allocations escape now, if non-const load/store is performed
      * Fixed a bug where non-allocated objects where tracked
      * Allow fixed double arrays to be tracked
      
      R=mstarzinger@chromium.org
      BUG=v8:4586
      LOG=n
      
      Review URL: https://codereview.chromium.org/1510973006
      
      Cr-Commit-Position: refs/heads/master@{#32833}
      3161c171
  7. 07 Dec, 2015 1 commit
    • sigurds's avatar
      [turbofan] Improve escape analysis · 5b582114
      sigurds authored
      This patch improves escape analysis and fixes bugs
      triggered by clusterfuzz. Impovements include:
      * Handling of LoadElement/StoreElement if index is a
        constant
      * Handling of JSStoreProperty: invalidate all information,
        as the store could have altered any field.
      * Treat phis that use an allocation as escaping
      * Improve resolution of replacements
      
      R=mstarzinger@chromium.org
      BUG=v8:4586
      LOG=n
      
      Review URL: https://codereview.chromium.org/1499143002
      
      Cr-Commit-Position: refs/heads/master@{#32656}
      5b582114
  8. 02 Dec, 2015 2 commits