1. 07 Sep, 2020 1 commit
  2. 23 May, 2019 1 commit
  3. 22 May, 2019 1 commit
  4. 20 May, 2019 1 commit
  5. 17 May, 2019 2 commits
  6. 03 Aug, 2018 1 commit
  7. 20 Jun, 2018 1 commit
  8. 15 Apr, 2018 1 commit
  9. 19 Feb, 2018 1 commit
  10. 17 Feb, 2018 2 commits
  11. 04 Dec, 2017 1 commit
  12. 01 Dec, 2017 1 commit
  13. 29 Nov, 2017 1 commit
    • 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
  14. 28 Oct, 2017 1 commit
  15. 27 Oct, 2017 1 commit
  16. 25 Oct, 2017 2 commits
  17. 24 Oct, 2017 1 commit
  18. 19 Oct, 2017 2 commits
  19. 12 Oct, 2017 1 commit
  20. 11 Oct, 2017 1 commit
  21. 26 Sep, 2017 1 commit
  22. 20 Sep, 2017 1 commit
  23. 13 Sep, 2017 1 commit
  24. 11 Sep, 2017 1 commit