1. 22 Mar, 2018 2 commits
  2. 20 Mar, 2018 2 commits
  3. 19 Mar, 2018 2 commits
  4. 16 Mar, 2018 1 commit
  5. 15 Mar, 2018 1 commit
  6. 14 Mar, 2018 1 commit
    • Caitlin Potter's avatar
      Reland "[esnext] re-implement template strings" · b8229612
      Caitlin Potter authored
      - Add a new bytecode for the ToString operation, replacing the old
      intrinsic call (currently does not collect type feedback).
      - Add a new AST node to represent TemplateLiterals, and avoid
      generating unnecessary ToString operations in some simple cases.
      - Use a single feedback slot for each string addition, because the
      type feedback should always be the same for each addition
      
      This seems to produce a very slight improvement on JSTests benchmarks
      and bench-ruben.js from v8:7415, and it's possible that type feedback
      for the ToString bytecode could provide more opportunities to eliminate
      the runtime call in TurboFan.
      
      Doesn't touch tagged templates
      
      [esnext] fix OOB read in ASTPrinter::VisistTemplateLiteral
      
      Fixes an error where TemplateLiteral printing in --print-ast
      would try to read an element beyond the length of a vector.
      
      BUG=v8:7415, chromium:820596
      R=adamk@chromium.org, gsathya@chromum.org, rmcilroy@chromium.org, ishell@chromium.org, bmeurer@chromium.org
      
      Change-Id: Ie56894f73a6445550a5f95f42160c4e29ab1da42
      Reviewed-on: https://chromium-review.googlesource.com/958408Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Cr-Commit-Position: refs/heads/master@{#51933}
      b8229612
  7. 12 Mar, 2018 1 commit
  8. 10 Mar, 2018 1 commit
    • Michael Achenbach's avatar
      Revert "[esnext] re-implement template strings" · b8128279
      Michael Achenbach authored
      This reverts commit 8ae19e08.
      
      Reason for revert:
      Speculative revert for layout test:
      https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/22215
      
      See:
      https://github.com/v8/v8/wiki/Blink-layout-tests
      
      Original change's description:
      > [esnext] re-implement template strings
      > 
      > - Add a new bytecode for the ToString operation, replacing the old
      > intrinsic call (currently does not collect type feedback).
      > - Add a new AST node to represent TemplateLiterals, and avoid
      > generating unnecessary ToString operations in some simple cases.
      > - Use a single feedback slot for each string addition, because the
      > type feedback should always be the same for each addition
      > 
      > This seems to produce a very slight improvement on JSTests benchmarks
      > and bench-ruben.js from v8:7415, and it's possible that type feedback
      > for the ToString bytecode could provide more opportunities to eliminate
      > the runtime call in TurboFan.
      > 
      > Doesn't touch tagged templates
      > 
      > BUG=v8:7415
      > R=​rmcilroy@chromium.org, ishell@chromium.org, bmeurer@chromium.org
      > 
      > Change-Id: If5a8c68558431f058db894d65776324abf54218e
      > Reviewed-on: https://chromium-review.googlesource.com/945408
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > Commit-Queue: Caitlin Potter <caitp@igalia.com>
      > Cr-Commit-Position: refs/heads/master@{#51853}
      
      TBR=rmcilroy@chromium.org,caitp@igalia.com,ishell@chromium.org,bmeurer@chromium.org
      
      Change-Id: Id0529b065493ffc20c8f2b1abacc4c1484c3c046
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7415
      Reviewed-on: https://chromium-review.googlesource.com/958163Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51862}
      b8128279
  9. 09 Mar, 2018 2 commits
    • Caitlin Potter's avatar
      [esnext] re-implement template strings · 8ae19e08
      Caitlin Potter authored
      - Add a new bytecode for the ToString operation, replacing the old
      intrinsic call (currently does not collect type feedback).
      - Add a new AST node to represent TemplateLiterals, and avoid
      generating unnecessary ToString operations in some simple cases.
      - Use a single feedback slot for each string addition, because the
      type feedback should always be the same for each addition
      
      This seems to produce a very slight improvement on JSTests benchmarks
      and bench-ruben.js from v8:7415, and it's possible that type feedback
      for the ToString bytecode could provide more opportunities to eliminate
      the runtime call in TurboFan.
      
      Doesn't touch tagged templates
      
      BUG=v8:7415
      R=rmcilroy@chromium.org, ishell@chromium.org, bmeurer@chromium.org
      
      Change-Id: If5a8c68558431f058db894d65776324abf54218e
      Reviewed-on: https://chromium-review.googlesource.com/945408Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Cr-Commit-Position: refs/heads/master@{#51853}
      8ae19e08
    • Mathias Bynens's avatar
      [builtins] Refactor the TypedArrayConstructor builtin · b10dc352
      Mathias Bynens authored
      This patch removes the TypedArrayConstructor_ConstructStub builtin,
      merging its functionality into the refactored TypedArrayConstructor
      TurboFan builtin.
      
      This brings us closer to our goal of deprecating the `construct_stub`
      field in `SharedFunctionInfo`.
      
      Bug: v8:7503, v8:7518
      Change-Id: I264aa0933b3c80814e021b05033636196dc289da
      Reviewed-on: https://chromium-review.googlesource.com/956044
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51843}
      b10dc352
  10. 06 Mar, 2018 1 commit
  11. 28 Feb, 2018 1 commit
  12. 23 Feb, 2018 3 commits
  13. 22 Feb, 2018 3 commits
  14. 21 Feb, 2018 1 commit
  15. 20 Feb, 2018 1 commit
  16. 16 Feb, 2018 1 commit
  17. 15 Feb, 2018 1 commit
  18. 08 Feb, 2018 1 commit
  19. 07 Feb, 2018 1 commit
  20. 30 Jan, 2018 1 commit
  21. 22 Jan, 2018 1 commit
  22. 19 Jan, 2018 1 commit
  23. 17 Jan, 2018 2 commits
  24. 12 Jan, 2018 1 commit
  25. 11 Jan, 2018 1 commit
  26. 02 Jan, 2018 3 commits
    • Bill Budge's avatar
      Revert "Revert "[debugger] do not try to find saved context before DebugEvaluate::Local"" · 781fa726
      Bill Budge authored
      This reverts commit 2a8e1e4a.
      
      Reason for revert: Time outs were caused by infra issues.
      
      Original change's description:
      > Revert "[debugger] do not try to find saved context before DebugEvaluate::Local"
      > 
      > This reverts commit ea7499df.
      > 
      > Reason for revert: Speculative, but this CL seems correlated with a bunch of timeouts on Linux:
      > 
      > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/19540
      > 
      > Original change's description:
      > > [debugger] do not try to find saved context before DebugEvaluate::Local
      > > 
      > > Current implementation produces crashes since sometimes saved context
      > > is empty. It looks like we do not need to restore saved context since
      > > we do not set debug context as current, at least all tests are passed.
      > > 
      > > R=​yangguo@chromium.org
      > > 
      > > Bug: chromium:797573,chromium:792838
      > > Change-Id: I1271640f6a18cbaaecfa1e99ed9ac28e0dbbb1da
      > > Reviewed-on: https://chromium-review.googlesource.com/844979
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#50327}
      > 
      > TBR=yangguo@chromium.org,kozyatinskiy@chromium.org
      > 
      > Change-Id: I543201698c96c9762c481c1f6012cc13cb712842
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: chromium:797573, chromium:792838
      > Reviewed-on: https://chromium-review.googlesource.com/846205
      > Reviewed-by: Bill Budge <bbudge@chromium.org>
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#50331}
      
      TBR=bbudge@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org
      
      Change-Id: I44e916c796b935c372ce418a3fad44aa25d6f863
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:797573, chromium:792838
      Reviewed-on: https://chromium-review.googlesource.com/848132Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50332}
      781fa726
    • Bill Budge's avatar
      Revert "[debugger] do not try to find saved context before DebugEvaluate::Local" · 2a8e1e4a
      Bill Budge authored
      This reverts commit ea7499df.
      
      Reason for revert: Speculative, but this CL seems correlated with a bunch of timeouts on Linux:
      
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/19540
      
      Original change's description:
      > [debugger] do not try to find saved context before DebugEvaluate::Local
      > 
      > Current implementation produces crashes since sometimes saved context
      > is empty. It looks like we do not need to restore saved context since
      > we do not set debug context as current, at least all tests are passed.
      > 
      > R=​yangguo@chromium.org
      > 
      > Bug: chromium:797573,chromium:792838
      > Change-Id: I1271640f6a18cbaaecfa1e99ed9ac28e0dbbb1da
      > Reviewed-on: https://chromium-review.googlesource.com/844979
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#50327}
      
      TBR=yangguo@chromium.org,kozyatinskiy@chromium.org
      
      Change-Id: I543201698c96c9762c481c1f6012cc13cb712842
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:797573, chromium:792838
      Reviewed-on: https://chromium-review.googlesource.com/846205Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50331}
      2a8e1e4a
    • Alexey Kozyatinskiy's avatar
      [debugger] do not try to find saved context before DebugEvaluate::Local · ea7499df
      Alexey Kozyatinskiy authored
      Current implementation produces crashes since sometimes saved context
      is empty. It looks like we do not need to restore saved context since
      we do not set debug context as current, at least all tests are passed.
      
      R=yangguo@chromium.org
      
      Bug: chromium:797573,chromium:792838
      Change-Id: I1271640f6a18cbaaecfa1e99ed9ac28e0dbbb1da
      Reviewed-on: https://chromium-review.googlesource.com/844979Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50327}
      ea7499df
  27. 05 Dec, 2017 1 commit
  28. 29 Nov, 2017 2 commits
    • Michael Starzinger's avatar
      [debug] Fix debug-evaluate for de-materialized function. · 27fd921a
      Michael Starzinger authored
      This fixes debug-evaluate in the presence of a de-materialized function
      object. The creation of an arguments object is now requested based on a
      given frame (potentially inlined) instead of a target function. It makes
      sure that multiple calls to {StandardFrame::Summarize} don't cause any
      confusion when they give back non-identical function objects.
      
      R=jgruber@chromium.org
      TEST=debugger/debug/debug-evaluate-arguments
      BUG=chromium:788647
      
      Change-Id: I575bb6cb20b4657dc09019e631b5d6e36c1b5189
      Reviewed-on: https://chromium-review.googlesource.com/796474Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49721}
      27fd921a
    • Georg Neis's avatar
      No longer desugar the exponentiation (**) operator. · b97567a9
      Georg Neis authored
      Prior to this change, the exponentiation operator was rewritten by the
      parser to a call of the Math.pow builtin. However, Math.pow does not
      accept BigInt arguments, while the exponentiation operator must accept
      them.
      
      This CL
      - removes the parser's special treatment of ** and **=, treating them
        like any other binary op instead.
      - adds a TFC builtin Exponentiate that does the right thing for
        all inputs.
      - adds interpreter bytecodes Exp and ExpSmi whose handlers call the
        Exponentiate builtin. For simplicity, they currently always collect
        kAny feedback.
      - adds a Turbofan operator JSExponentiate with a typed-lowering to
        the existing NumberPow and a generic-lowering to the Exponentiate
        builtin. There is currently no speculative lowering.
      
      Note that exponentiation for BigInts is actually not implemented yet,
      so we can't yet test it.
      
      Bug: v8:6791
      Change-Id: Id90914c9c3fce310ce01e715c09eaa9f294f4f8a
      Reviewed-on: https://chromium-review.googlesource.com/785694Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49696}
      b97567a9