1. 21 Jul, 2016 1 commit
  2. 20 Jul, 2016 1 commit
  3. 18 Jul, 2016 1 commit
  4. 14 Jul, 2016 1 commit
  5. 13 Jul, 2016 1 commit
  6. 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
  7. 30 Jun, 2016 2 commits
  8. 29 Jun, 2016 3 commits
  9. 28 Jun, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Introduce Float64Pow and NumberPow operators. · e607e12e
      bmeurer authored
      Introduce a new machine operator Float64Pow that for now is backed by
      the existing MathPowStub to start the unification of Math.pow, and at
      the same time address the main performance issue that TurboFan still has
      with the imaging-darkroom benchmark in Kraken.
      
      Also migrate the Math.pow builtin itself to a TurboFan builtin and
      remove a few hundred lines of hand-written platform code for special
      handling of the fullcodegen Math.pow version.
      
      BUG=v8:3599,v8:5086,v8:5157
      
      Review-Url: https://codereview.chromium.org/2103733003
      Cr-Commit-Position: refs/heads/master@{#37323}
      e607e12e
  10. 20 Jun, 2016 3 commits
  11. 17 Jun, 2016 4 commits
  12. 16 Jun, 2016 3 commits
  13. 14 Jun, 2016 1 commit
  14. 13 Jun, 2016 3 commits
    • ahaas's avatar
      [wasm] Use the new Float64Atan(2) TF operators in wasm. · ab46151a
      ahaas authored
      R=bmeurer@chromium.org, bradnelson@chromium.org
      BUG=v8:5086, v8:5095
      
      Review-Url: https://codereview.chromium.org/2062773002
      Cr-Commit-Position: refs/heads/master@{#36931}
      ab46151a
    • 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
  15. 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
  16. 09 Jun, 2016 2 commits
  17. 03 Jun, 2016 2 commits
  18. 21 Apr, 2016 1 commit
    • ahaas's avatar
      [wasm] New implementation of popcnt and ctz. · b4889f7d
      ahaas authored
      This patch provides a new implementation of popcnt and ctz in the case
      where the platform does not provide these instructions. Instead of
      building a TF graph which implements it we now call a C function.
      
      Additionally I turned on additional tests in test-run-wasm-64.cc
      
      R=titzer@chromium.org
      
      Review URL: https://codereview.chromium.org/1857363003
      
      Cr-Commit-Position: refs/heads/master@{#35685}
      b4889f7d
  19. 20 Apr, 2016 3 commits
  20. 19 Apr, 2016 1 commit
  21. 11 Apr, 2016 1 commit
    • ssanfilippo's avatar
      [Interpreter] Enable tracing of bytecode handler dispatches. · 1e3257d2
      ssanfilippo authored
      When FLAG_trace_ignition_dispatches is enabled, a dispatch counter is
      kept for each pair of source-destination bytecode handlers.
      
      Each counter saturates at max uintptr_t value.
      
      Counters are dumped as a JSON-encoded object of objects, such that
      each key on the top level object is a source bytecode name, and each key
      on the corresponding value is a destination bytecode name, with the
      associated counter as value. The output file name can be controlled
      with the FLAG_trace_ignition_dispatches_output_file flag.
      
      The JSON file may be written by calling
      Interpreter::WriteDispatchCounters(), which is done for d8 in
      Shell::OnExit, if FLAG_trace_ignition_dispatches is enabled.
      
      BUG=v8:4899
      LOG=N
      
      Review URL: https://codereview.chromium.org/1828633003
      
      Cr-Commit-Position: refs/heads/master@{#35380}
      1e3257d2
  22. 31 Mar, 2016 1 commit
  23. 29 Mar, 2016 1 commit
  24. 17 Mar, 2016 1 commit