1. 26 Feb, 2018 5 commits
    • Benedikt Meurer's avatar
      [turbofan] Consistently use String feedback for JSAdd. · d504203e
      Benedikt Meurer authored
      Currently we didn't always consistently use the String feedback on
      JSAdd, but only if JSTypedLowering would already figure out statically
      that one of the inputs is already a String. That leads to some odd
      performance cliffs, as highlighted in the referenced bug.
      
      This CL fixes the JSTypedLowering::ReduceJSAdd to always bake in the
      String feedback. This improves the relevant performance tests from the
      bug from
      
        console.timeEnd: Runtime join3, 967.512000
        console.timeEnd: Runtime join, 1004.599000
        console.timeEnd: Runtime join3, 1124.764000
        console.timeEnd: Runtime join, 966.164000
        console.timeEnd: Runtime join3, 1145.296000
        console.timeEnd: Runtime join, 966.176000
        console.timeEnd: Runtime join3, 1145.272000
        console.timeEnd: Runtime join, 931.266000
      
      to
      
        console.timeEnd: Runtime join3, 903.050000
        console.timeEnd: Runtime join, 856.509000
        console.timeEnd: Runtime join3, 945.144000
        console.timeEnd: Runtime join, 840.038000
        console.timeEnd: Runtime join3, 927.965000
        console.timeEnd: Runtime join, 841.263000
        console.timeEnd: Runtime join3, 929.342000
        console.timeEnd: Runtime join, 858.143000
      
      which corresponds to an 8-18% improvement.
      
      Bug: v8:7415
      Change-Id: I62e008298e4ee0864885b37817c91d055acf2a09
      Reviewed-on: https://chromium-review.googlesource.com/936643Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51551}
      d504203e
    • Marja Hölttä's avatar
      [iwyu] More iwyu fixes (date, execution etc.) · 80e0a759
      Marja Hölttä authored
      Removing includes which are not needed and also not indirectly pulled in.
      
      BUG=v8:7490, v8:7310
      
      Change-Id: I219ba92c3281c3c245cc6c5574c85c2d51a217a9
      Reviewed-on: https://chromium-review.googlesource.com/934722Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51550}
      80e0a759
    • jgruber's avatar
      [contexts] Remove unused native context slots · f352bbdc
      jgruber authored
      Bug: v8:7310
      Change-Id: Ib9c40bababbb688305be7bea262a4348805a1f18
      Reviewed-on: https://chromium-review.googlesource.com/936762Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51549}
      f352bbdc
    • Benedikt Meurer's avatar
      [turbofan] Further harden the JSCreateClosure nodes. · 597852f8
      Benedikt Meurer authored
      The CreateClosureMode introduced with 2ece046c is still not 100%
      fail-safe and doesn't scale. What we really need instead, especially
      when we might start removing the SharedFunctionInfo::code field
      eventually, is to tell the JSCreateClosure node which code object to
      use. So instead of adding magic around it, let's just pass it to the
      node.
      
      Bug: v8:2206, v8:7253, v8:7310
      Change-Id: Iedb6ae468a763643617975f47d96854d1aeafbe9
      Reviewed-on: https://chromium-review.googlesource.com/937121Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51548}
      597852f8
    • Benedikt Meurer's avatar
      [turbofan] Introduce explicit CreateClosureMode. · 2ece046c
      Benedikt Meurer authored
      We use JSCreateClosure to also constructs closures for builtins, i.e.
      for the callbacks created by the Promise constructor. For these builtins
      we cannot set code to CompileLazy builtin, but need to use the code from
      the SharedFunctionInfo. The explicit mode tells the lowering what it
      should do (instead of relying on SharedFunctionInfo::native(), which is
      not the right bit).
      
      Bug: v8:2206, v8:7253, v8:7310
      Change-Id: Ic956814e137c57b36ebb5d7b4d964dde5ee51a0d
      Reviewed-on: https://chromium-review.googlesource.com/930964
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51547}
      2ece046c
  2. 25 Feb, 2018 3 commits
  3. 24 Feb, 2018 9 commits
  4. 23 Feb, 2018 23 commits