1. 05 Sep, 2016 10 commits
    • marja's avatar
      includes: Make ast.h not need isolate.h any more. · 9c888dff
      marja authored
      Also remove other unnecessary includes from ast.h and dependencies.
      
      BUG=v8:5294
      
      Review-Url: https://codereview.chromium.org/2301423002
      Cr-Commit-Position: refs/heads/master@{#39155}
      9c888dff
    • machenbach's avatar
      Revert of [wasm] reuse the first compiled module (patchset #12 id:220001 of... · 359a00bf
      machenbach authored
      Revert of [wasm] reuse the first compiled module (patchset #12 id:220001 of https://codereview.chromium.org/2305903002/ )
      
      Reason for revert:
      mac gc stress failures:
      https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/8341
      
      Original issue's description:
      > [wasm] reuse the first compiled module.
      >
      > This change avoids needing to keep around an unused compiled
      > module. Instead, the result of compiling the wasm bytes is
      > given to the first instance. The module object and that instance object
      > point to the same compiled module. Instances are, then, cloned from
      > the compiled module the module object points to. When an instance is
      > collected, we make sure that the module object still has a clone
      > available, and, if the last instance is GC-ed, we also reset the compiled
      > module so that it does not reference its heap, so that it (==heap) may
      > be collected.
      >
      > This is achieved by linking the clones in a double-linked list and
      > registering a finalizer for each. When we create an instance, we tie it
      > in the front of the list, making the module object point to it (O(1)). When
      > the finalizer is called, we relink the list over the dying object (O(1)). The
      > costliest operation is finalizing the last instance, since we need to visit
      > all wasm functions and reset heap references.
      >
      > BUG=v8:5316
      >
      > Committed: https://crrev.com/01f5af515728aebe6c5246f4f7dd6c573e8748af
      > Cr-Commit-Position: refs/heads/master@{#39153}
      
      TBR=bradnelson@chromium.org,verwaest@chromium.org,vogelheim@chromium.org,yangguo@chromium.org,mtrofin@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:5316
      
      Review-Url: https://codereview.chromium.org/2306403002
      Cr-Commit-Position: refs/heads/master@{#39154}
      359a00bf
    • mtrofin's avatar
      [wasm] reuse the first compiled module. · 01f5af51
      mtrofin authored
      This change avoids needing to keep around an unused compiled
      module. Instead, the result of compiling the wasm bytes is
      given to the first instance. The module object and that instance object
      point to the same compiled module. Instances are, then, cloned from
      the compiled module the module object points to. When an instance is
      collected, we make sure that the module object still has a clone
      available, and, if the last instance is GC-ed, we also reset the compiled
      module so that it does not reference its heap, so that it (==heap) may
      be collected.
      
      This is achieved by linking the clones in a double-linked list and
      registering a finalizer for each. When we create an instance, we tie it
      in the front of the list, making the module object point to it (O(1)). When
      the finalizer is called, we relink the list over the dying object (O(1)). The
      costliest operation is finalizing the last instance, since we need to visit
      all wasm functions and reset heap references.
      
      BUG=v8:5316
      
      Review-Url: https://codereview.chromium.org/2305903002
      Cr-Commit-Position: refs/heads/master@{#39153}
      01f5af51
    • bmeurer's avatar
      [turbofan] Nuke class types. · 7e95e206
      bmeurer authored
      There are no users of class types left inside TurboFan, so we can nuke
      them and thereby simplify the type system quite a bit.
      
      R=mvstanton@chromium.org
      BUG=v8:5267,v8:5270
      
      Review-Url: https://codereview.chromium.org/2309753002
      Cr-Commit-Position: refs/heads/master@{#39152}
      7e95e206
    • bmeurer's avatar
      [turbofan] Improve graph for JumpIfTrue/False and JumpIfToBooleanTrue/False. · 776a5c10
      bmeurer authored
      Avoid the useless strict equality comparisons with true/false being
      generated for the JumpIfTrue, JumpIfFalse, JumpIfToBooleanTrue and
      JumpIfToBooleanFalse bytecodes. Instead feed the accumulator (or the
      outcome of ToBoolean) directly to the Branch node and do the negation
      as part of the control flow.
      
      The previous subraphs would render the loop variable analysis useless,
      and would cause a lot of unnecessary bit materialization, because many
      of our optimizations don't kick in.
      
      Note: This is only part of the problem, there are more subtle differences
      in the bytecode pipeline that prevent several important optimizations to
      kick in.
      
      R=mstarzinger@chromium.org
      BUG=v8:5267,v8:5348
      
      Review-Url: https://codereview.chromium.org/2309733002
      Cr-Commit-Position: refs/heads/master@{#39151}
      776a5c10
    • jgruber's avatar
      [regexp] Port RegExpExec · c79e163b
      jgruber authored
      BUG=v8:5339
      
      Review-Url: https://codereview.chromium.org/2307853002
      Cr-Commit-Position: refs/heads/master@{#39150}
      c79e163b
    • bmeurer's avatar
      [turbofan] Fold "boolean not"-like Selects into branches. · 99e91aae
      bmeurer authored
      Fold a Select that negates a boolean value, i.e. returning true in the
      false case and vice versa, into Branch users, similar to what we already
      do for Branch nodes with BooleanNot inputs.
      
      BUG=v8:5267
      
      Review-Url: https://codereview.chromium.org/2308303003
      Cr-Commit-Position: refs/heads/master@{#39149}
      99e91aae
    • ofrobots's avatar
      [turbofan] BytecodeGraphBuilder was incorrectly tenuring most CreateClosure allocations · cf3a4a70
      ofrobots authored
      R=bmeurer@chromium.org, rmcilroy@chromium.org
      
      Review-Url: https://codereview.chromium.org/2309203002
      Cr-Commit-Position: refs/heads/master@{#39148}
      cf3a4a70
    • mtrofin's avatar
      [turbofan] Readjust has_slot_use after splintering · f1a6e5e7
      mtrofin authored
      has_slot_use is computed early, and we need it to determine if we need
      to generate SpillRanges. After splintering, however, the information may
      be incorrect - e.g. just the splinter may have slot uses, and not the
      original.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/2312523002
      Cr-Commit-Position: refs/heads/master@{#39147}
      f1a6e5e7
    • v8-autoroll's avatar
      Update V8 DEPS. · aa4c3281
      v8-autoroll authored
      Rolling v8/build to 1d4c40819ec61e059e2ca6893cd1d21b5bda6c75
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review-Url: https://codereview.chromium.org/2305303002
      Cr-Commit-Position: refs/heads/master@{#39146}
      aa4c3281
  2. 04 Sep, 2016 1 commit
  3. 03 Sep, 2016 1 commit
    • v8-autoroll's avatar
      Update V8 DEPS. · e09e08eb
      v8-autoroll authored
      Rolling v8/build to a767a79305018c5ec5affd7d96cff474aa3b03a1
      
      Rolling v8/tools/clang to 052b1cffaca49a038f27168ef9d897db6df04e5a
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review-Url: https://codereview.chromium.org/2311503003
      Cr-Commit-Position: refs/heads/master@{#39144}
      e09e08eb
  4. 02 Sep, 2016 28 commits