1. 20 Jul, 2020 1 commit
  2. 26 Feb, 2020 2 commits
    • Georg Neis's avatar
      Revert "[builtins] stop using imprecise fdlibm pow" · 3aa52a22
      Georg Neis authored
      This reverts commit b12ba06e.
      
      Reason for revert:
      After further discussion we decided to stick with fdlibm.
      
      Original change's description:
      > [builtins] stop using imprecise fdlibm pow
      >
      > This CL reinstates the old pow implementation which calls out to the
      > system implementation of pow.
      >
      > Bug: v8:9622
      > Change-Id: I3df997888ced3fb8b5bd4b810098e967649aaa55
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1774898
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Commit-Queue: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#66303}
      
      TBR=yangguo@chromium.org,neis@chromium.org,hpayer@chromium.org,me@gus.host
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:9622
      Change-Id: I941f70c7432cd2fab86e0eadcb2e1a9ec8195e91
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072746
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66452}
      3aa52a22
    • Georg Neis's avatar
      Revert "[builtins] Replace V8_INFINITY with its definition" · 51022eb8
      Georg Neis authored
      This reverts commit 73f91a2d.
      
      Reason for revert: Reverting b12ba06e
      
      Original change's description:
      > [builtins] Replace V8_INFINITY with its definition
      > 
      > V8_INFINITY is not defined here.
      > "src/common/globals.h" is also not allowed to be included
      > in this source file.
      > 
      > Change-Id: Ia3b14db8ac5099b6ce65839eb0fc59340dc59555
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2062930
      > Reviewed-by: Clemens Backes <clemensb@chromium.org>
      > Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      > Cr-Commit-Position: refs/heads/master@{#66336}
      
      TBR=neis@chromium.org,clemensb@chromium.org,me@gus.host,miladfar@ca.ibm.com
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Change-Id: Ia43c3f7f735dfb622d4f5464a52a142d19ddeb26
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2072745Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66449}
      51022eb8
  3. 19 Feb, 2020 1 commit
  4. 18 Feb, 2020 1 commit
  5. 15 Jan, 2020 1 commit
  6. 01 Apr, 2019 1 commit
  7. 08 Feb, 2019 1 commit
    • Gus Caplan's avatar
      Reland^2 "[builtins] [turbofan] Refactor Float64Pow to use single implementation" · 98453126
      Gus Caplan authored
      This is a reland of d7def900
      
      Original change's description:
      > Reland "[builtins] [turbofan] Refactor Float64Pow to use single implementation"
      >
      > This is a reland of I968a08cef6a6d49350aa79185b2c6fb856d15f23
      >
      > Original change's description:
      > > [builtins] [turbofan] Refactor Float64Pow to use single implementation
      > >
      > > Remove platform-specific Float64Pow implementations and utils Pow in
      > > favor of a base::ieee754::pow implementation.
      > >
      > > This unifies the implementation of pow for the compiler, wasm, and
      > > runtime.
      > >
      > > Bug: v8:5848, v8:5086
      > > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1403018
      > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#59229}
      >
      > Bug: v8:5848, v8:5086
      > Change-Id: I92f22ae03adafd9ad042e8d4bb406cbd5b5fb51e
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/c/1447854
      > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59411}
      
      Tbr: neis@chromium.org, bmeurer@chromium.org, jkummerow@chromium.org
      Bug: v8:5848, v8:5086
      Change-Id: I42972b29b8830ed47a00b2b1d408d3005a810c0e
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux64_ubsan_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/1456302Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59454}
      98453126
  8. 06 Feb, 2019 2 commits
    • Sigurd Schneider's avatar
      Revert "Reland "[builtins] [turbofan] Refactor Float64Pow to use single implementation"" · d691fde3
      Sigurd Schneider authored
      This reverts commit d7def900.
      
      Reason for revert: Breaks UBSan:
      https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20UBSan/4542
      
      Besides undefined behavior, things were looking good!
      
      
      Original change's description:
      > Reland "[builtins] [turbofan] Refactor Float64Pow to use single implementation"
      > 
      > This is a reland of I968a08cef6a6d49350aa79185b2c6fb856d15f23
      > 
      > Original change's description:
      > > [builtins] [turbofan] Refactor Float64Pow to use single implementation
      > >
      > > Remove platform-specific Float64Pow implementations and utils Pow in
      > > favor of a base::ieee754::pow implementation.
      > >
      > > This unifies the implementation of pow for the compiler, wasm, and
      > > runtime.
      > >
      > > Bug: v8:5848, v8:5086
      > > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1403018
      > > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > > Reviewed-by: Georg Neis <neis@chromium.org>
      > > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#59229}
      > 
      > Bug: v8:5848, v8:5086
      > Change-Id: I92f22ae03adafd9ad042e8d4bb406cbd5b5fb51e
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/c/1447854
      > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59411}
      
      TBR=jkummerow@chromium.org,jarin@chromium.org,neis@chromium.org,jgruber@chromium.org,clemensh@chromium.org,bmeurer@chromium.org,me@gus.host
      
      Change-Id: I65c4bbd3ab7aaa1c396d182467c5a1fe6a639df5
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:5848, v8:5086
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/1456107Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59419}
      d691fde3
    • Gus Caplan's avatar
      Reland "[builtins] [turbofan] Refactor Float64Pow to use single implementation" · d7def900
      Gus Caplan authored
      This is a reland of I968a08cef6a6d49350aa79185b2c6fb856d15f23
      
      Original change's description:
      > [builtins] [turbofan] Refactor Float64Pow to use single implementation
      >
      > Remove platform-specific Float64Pow implementations and utils Pow in
      > favor of a base::ieee754::pow implementation.
      >
      > This unifies the implementation of pow for the compiler, wasm, and
      > runtime.
      >
      > Bug: v8:5848, v8:5086
      > Change-Id: I968a08cef6a6d49350aa79185b2c6fb856d15f23
      > Reviewed-on: https://chromium-review.googlesource.com/c/1403018
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59229}
      
      Bug: v8:5848, v8:5086
      Change-Id: I92f22ae03adafd9ad042e8d4bb406cbd5b5fb51e
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_ubsan_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/1447854
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59411}
      d7def900
  9. 31 Jan, 2019 2 commits
  10. 28 Jan, 2019 1 commit
  11. 10 Jan, 2019 1 commit
  12. 07 Jan, 2019 1 commit
  13. 20 Sep, 2018 1 commit
  14. 13 Sep, 2018 1 commit
  15. 17 Apr, 2018 1 commit
  16. 06 Apr, 2018 1 commit
  17. 02 Dec, 2017 1 commit
    • Mathias Bynens's avatar
      Normalize casing of hexadecimal digits · 822be9b2
      Mathias Bynens authored
      This patch normalizes the casing of hexadecimal digits in escape
      sequences of the form `\xNN` and integer literals of the form
      `0xNNNN`.
      
      Previously, the V8 code base used an inconsistent mixture of uppercase
      and lowercase.
      
      Google’s C++ style guide uses uppercase in its examples:
      https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters
      
      Moreover, uppercase letters more clearly stand out from the lowercase
      `x` (or `u`) characters at the start, as well as lowercase letters
      elsewhere in strings.
      
      BUG=v8:7109
      TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
      NOPRESUBMIT=true
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6
      Reviewed-on: https://chromium-review.googlesource.com/804294
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49810}
      822be9b2
  18. 02 Aug, 2017 1 commit
  19. 01 Sep, 2016 1 commit
  20. 01 Jul, 2016 1 commit
    • bmeurer's avatar
      [builtins] Unify most of the remaining Math builtins. · 0a0fe8fb
      bmeurer authored
      Import fdlibm versions of acos, acosh, asin and asinh, which are more
      precise and produce the same result across platforms (we were using
      libm versions for asin and acos so far, where both speed and precision
      depended on the operating system so far). Introduce appropriate TurboFan
      operators for these functions and use them both for inlining and for the
      generic builtin.
      
      Also migrate the Math.imul and Math.fround builtins to TurboFan builtins
      to ensure that their behavior is always exactly the same as the inlined
      TurboFan version (i.e. C++ truncation semantics for double to float
      don't necessarily meet the JavaScript semantics).
      
      For completeness, also migrate Math.sign, which can even get some nice
      love in TurboFan.
      
      Drive-by-fix: Some alpha-sorting on the Math related functions, and
      cleanup the list of Math intrinsics that we have to export via the
      native context currently.
      
      BUG=v8:3266,v8:3496,v8:3509,v8:3952,v8:5169,v8:5170,v8:5171,v8:5172
      TBR=rossberg@chromium.org
      R=franzih@chromium.org
      
      Review-Url: https://codereview.chromium.org/2116753002
      Cr-Commit-Position: refs/heads/master@{#37476}
      0a0fe8fb
  21. 30 Jun, 2016 1 commit
  22. 28 Jun, 2016 1 commit
    • bjaideep's avatar
      AIX: Update variable name which conflicts with system defined variable · 37538cb2
      bjaideep authored
          variable hz is defined as a macro in AIX system header
          /usr/include/sys/m_param.h (as "ticks per second of the clock").
          The pre-processor replaces hz with the numeric value defined in
          system header file and therefore emits an error.
          Re-naming variable name to "iz".
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
      
      BUG=
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2104483002
      Cr-Commit-Position: refs/heads/master@{#37308}
      37538cb2
  23. 21 Jun, 2016 1 commit
    • bmeurer's avatar
      [builtins] Make sure the Math functions and constants agree. · 7877ddec
      bmeurer authored
      While the EcmaScript specification doesn't define precise values for the
      Math constants or the Math functions, we should at least ensure that the
      values of the constants and the functions agree, i.e. Math.E should be
      exactly the same value as Math.exp(1).
      
      Also make sure that Math.exp(1) returns the expected value; we should
      revisit the fdlibm algorithm and figure out why it's wrong in the last
      bit.
      
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      BUG=chromium:626111,v8:3266,v8:3468,v8:3493,v8:5086,v8:5108
      R=yangguo@chromium.org
      
      Review-Url: https://codereview.chromium.org/2079233005
      Cr-Commit-Position: refs/heads/master@{#37128}
      7877ddec
  24. 20 Jun, 2016 2 commits
  25. 17 Jun, 2016 4 commits
  26. 16 Jun, 2016 3 commits
  27. 13 Jun, 2016 3 commits
    • bmeurer's avatar
      [builtins] Introduce proper Float64Atan and Float64Atan2 operators. · 89d8c57b
      bmeurer authored
      Import base::ieee754::atan() and base::ieee754::atan2() from fdlibm and
      introduce Float64Atan and Float64Atan2 TurboFan operators based on those,
      similar to what we already did for Float64Log and Float64Log1p. Rewrite
      Math.atan() and Math.atan2() as TurboFan builtin and use the operators
      to also inline Math.atan() and Math.atan2() into optimized TurboFan functions.
      
      R=yangguo@chromium.org
      BUG=v8:5086,v8:5095
      
      Review-Url: https://codereview.chromium.org/2065503002
      Cr-Commit-Position: refs/heads/master@{#36916}
      89d8c57b
    • bmeurer's avatar
      [builtins] Introduce proper Float64Log1p operator. · 7ceed92a
      bmeurer authored
      Import base::ieee754::log1p() from fdlibm and introduce a Float64Log1p
      TurboFan operator based on that, similar to what we do for Float64Log.
      Rewrite Math.log1p() as TurboFan builtin and use that operator to also
      inline Math.log1p() into optimized TurboFan functions.
      
      Also unify the handling of the special IEEE 754 functions somewhat in
      the TurboFan backends. At some point we can hopefully express this
      completely in the InstructionSelector (once we have an idea what to do
      with the ST(0) return issue on IA-32/X87).
      
      Drive-by-fix: Add some more test coverage for the log function.
      
      R=yangguo@chromium.org
      BUG=v8:5086,v8:5092
      
      Review-Url: https://codereview.chromium.org/2060743002
      Cr-Commit-Position: refs/heads/master@{#36914}
      7ceed92a
    • bmeurer's avatar
      [ieee754] Import ANSIfied msun log from FreeBSD. · b01622c3
      bmeurer authored
      Instead of manually adopting the ancient fdlibm sources, import the msun
      versions from FreeBSD instead, which were already adopted to ANSI C.
      Still under the same copyright.
      
      R=yangguo@chromium.org
      BUG=v8:5065,v8:5086
      
      Review-Url: https://codereview.chromium.org/2065473002
      Cr-Commit-Position: refs/heads/master@{#36913}
      b01622c3
  28. 10 Jun, 2016 1 commit
    • bmeurer's avatar
      [builtins] Introduce proper base::ieee754::log. · d0c7775d
      bmeurer authored
      This switches Math.log to use an fdlibm based version of log, imported
      as base::ieee754::log, and use that consistently everywhere, i.e. change
      the Float64Log TurboFan operators on Intel to use the C++ implementation
      as well (same for Crankshaft).
      
      R=yangguo@chromium.org
      BUG=v8:5065,v8:5086
      
      Review-Url: https://codereview.chromium.org/2053893003
      Cr-Commit-Position: refs/heads/master@{#36880}
      d0c7775d