1. 08 Mar, 2019 1 commit
    • Bill Budge's avatar
      Reland "[wasm simd] Fix F32x4 Min and Max" · bd15e189
      Bill Budge authored
      This is a reland of 821bc649
      
      Original change's description:
      > [wasm simd] Fix F32x4 Min and Max
      > 
      > - Fix F32x4 tests to save results in globals, so they can be checked
      >   in C++ code. Perform correct checks in case of NaNs.
      > - Fix ia32, x64 implementations of F32x4Min, F32x4Max to correctly
      >   deal with NaNs.
      > - Enable tests for all float values on all platforms, except skip
      >   denormalized results on ARM, and skip extreme values for reciprocal,
      >   reciprocal square root approximation opcodes.
      > - Disable Min, Max test for interpreter (see v8:8425) since it doesn't
      >   handle NaNs correctly.
      > - Fix vmin, vmax implementations in ARM simulator.
      > 
      > Bug: v8:8639
      > Change-Id: I87e188e3cb078f09fdacfd9955f426c20a11bf64
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495897
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#60021}
      
      Bug: v8:8639
      Change-Id: Ic557aa1d323693eabf5885ff5eddc15e3174079b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1501279Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60109}
      bd15e189
  2. 05 Mar, 2019 1 commit
    • Deepti Gandluri's avatar
      Revert "[wasm simd] Fix F32x4 Min and Max" · b7132523
      Deepti Gandluri authored
      This reverts commit 821bc649.
      
      Reason for revert: Fails on ARM hardware :(
      https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/9271
      
      Original change's description:
      > [wasm simd] Fix F32x4 Min and Max
      > 
      > - Fix F32x4 tests to save results in globals, so they can be checked
      >   in C++ code. Perform correct checks in case of NaNs.
      > - Fix ia32, x64 implementations of F32x4Min, F32x4Max to correctly
      >   deal with NaNs.
      > - Enable tests for all float values on all platforms, except skip
      >   denormalized results on ARM, and skip extreme values for reciprocal,
      >   reciprocal square root approximation opcodes.
      > - Disable Min, Max test for interpreter (see v8:8425) since it doesn't
      >   handle NaNs correctly.
      > - Fix vmin, vmax implementations in ARM simulator.
      > 
      > Bug: v8:8639
      > Change-Id: I87e188e3cb078f09fdacfd9955f426c20a11bf64
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495897
      > Commit-Queue: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#60021}
      
      TBR=bbudge@chromium.org,gdeepti@chromium.org
      
      Change-Id: Ib0dc8395ff86263fe0c02faa53d90c7da46b50a6
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8639
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1501732Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60022}
      b7132523
  3. 04 Mar, 2019 1 commit
    • Bill Budge's avatar
      [wasm simd] Fix F32x4 Min and Max · 821bc649
      Bill Budge authored
      - Fix F32x4 tests to save results in globals, so they can be checked
        in C++ code. Perform correct checks in case of NaNs.
      - Fix ia32, x64 implementations of F32x4Min, F32x4Max to correctly
        deal with NaNs.
      - Enable tests for all float values on all platforms, except skip
        denormalized results on ARM, and skip extreme values for reciprocal,
        reciprocal square root approximation opcodes.
      - Disable Min, Max test for interpreter (see v8:8425) since it doesn't
        handle NaNs correctly.
      - Fix vmin, vmax implementations in ARM simulator.
      
      Bug: v8:8639
      Change-Id: I87e188e3cb078f09fdacfd9955f426c20a11bf64
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495897
      Commit-Queue: Bill Budge <bbudge@chromium.org>
      Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60021}
      821bc649
  4. 22 Feb, 2019 1 commit
  5. 15 Feb, 2019 1 commit
  6. 11 Feb, 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. 05 Feb, 2019 1 commit
  10. 31 Jan, 2019 2 commits
  11. 21 Jan, 2019 1 commit
    • Michael Starzinger's avatar
      [wasm] Simplify safepoint-table encoding. · 6091e270
      Michael Starzinger authored
      This removes the unused "argument count" field from the safepoint table
      as the field was unused by now and always contained the value zero.
      
      Also note that associating a callee's argument count with the call-site
      is not compatible with tail-call support. When tail-calling a function
      with a different number of arguments, the information associated with
      the call-site becomes stale. The number of arguments is a property of
      the callee, not of the call-site in the caller. For this reason the
      field in question is not usable to support reference types in function
      arguments (at least when tail-calls are also supported).
      
      R=ahaas@chromium.org
      
      Change-Id: If667d729267f2dd2642b755c54235cc08ca9b141
      Reviewed-on: https://chromium-review.googlesource.com/c/1402548Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58969}
      6091e270
  12. 14 Jan, 2019 1 commit
  13. 11 Jan, 2019 1 commit
    • Deepti Gandluri's avatar
      Reland "[wasm] Fix SIMD boolean reductions on Intel" · 8468150d
      Deepti Gandluri authored
      This is a reland of 8f83fd0a
      
      Original change's description:
      > [wasm] Fix SIMD boolean reductions on Intel
      > 
      >  - Both AllTrue/AnyTrue values should return boolean 0/1
      >    instead of 0xffffffff to match Spec/Toolchain
      >  - Fix AllTrue implementation to be correct
      >  - Add unit tests to spot check return values as the
      >    cumulative test can coerce some return values to True/False
      > 
      > Change-Id: I84eb73c915414c9ec290e73f1306404ceff729f0
      > Bug: v8:8636
      > Reviewed-on: https://chromium-review.googlesource.com/c/1404197
      > Reviewed-by: Bill Budge <bbudge@chromium.org>
      > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#58715}
      
      Bug: v8:8636
      Change-Id: Ifc438d7b64bf5d461cc848851165665104fe57d0
      Reviewed-on: https://chromium-review.googlesource.com/c/1405909Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
      Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58719}
      8468150d
  14. 10 Jan, 2019 3 commits
  15. 21 Dec, 2018 1 commit
  16. 20 Dec, 2018 1 commit
    • Jakob Gruber's avatar
      Don't embed CompileLazyDeoptimizedCode · 71180e54
      Jakob Gruber authored
      This changes the CompileLazyDeoptimizedCode call to use the standard
      builtin calling sequence, which (for optimized code) creates an
      inlined off-heap trampoline instead of embedding a CODE_TARGET.
      
      Drive-by: Add missing conditional jump handling to masm::Jump. It was
      missing only for the case of inlined trampolines.
      
      Bug: v8:7777
      Change-Id: Id79a10ba99fd97c1b3351774b9ecf5adf10ee6d4
      Reviewed-on: https://chromium-review.googlesource.com/c/1382460
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58389}
      71180e54
  17. 17 Dec, 2018 1 commit
    • Jakob Gruber's avatar
      [nojit] Add a kCallBuiltinPointer call kind · f323a5f4
      Jakob Gruber authored
      Currently, Torque's builtin pointers store a Code target underneath and
      callsites generate a kArchCallCodeObject opcode. When embedded builtins
      are enabled, the call thus first calls the on-heap trampoline, which
      finally jumps to the target off-heap builtin code.
      
      This will no longer be possible in jitless mode, since on-heap code must
      not be executable.
      
      As a step towards changing the way builtin pointers are called
      (function pointers will hold the builtin index as a Smi, and callsites
      look up the off-heap target address and jump there), this CL adds a
      dedicated opcode for builtin pointer calls to the compiler pipeline.
      
      The calling mechanism itself is unchanged, changes there will happen
      in a follow-up.
      
      Drive-by: rename 'FunctionPointer' in torque/ to 'BuiltinPointer'.
      
      Bug: v8:7777
      Change-Id: Ic999a1cd7c3172425dd4a1513ae2f50c774faddb
      Reviewed-on: https://chromium-review.googlesource.com/c/1378175Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Jakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58281}
      f323a5f4
  18. 07 Dec, 2018 1 commit
  19. 26 Nov, 2018 1 commit
    • Marja Hölttä's avatar
      [iwyu] Include heap-inl.h less. · 0453d418
      Marja Hölttä authored
      - Remove heap-inl.h includes from places where it looked unnecessary. (This is a
        non-scientific approach, because it's probably pulled in indirectly anyway.)
      
      - Annotate places which include heap-inl.h because they need heap/ internals.
      
      - ACCESSORS legitimately needs heap-inl.h because of Heap::FromWritableHeapObject.
      
      - Add includes to heap/heap-write-barrier(-inl).h
      
      - A bunch of IWYU fixes discovered when working on this CL (includes which were
        missing because heap-inl.h pulls them in indirectly).
      
      BUG=v8:7490,v8:8238,v8:8499
      
      Change-Id: I00f9a74d430f13d7c080dca77a92b03bcca7ef96
      Reviewed-on: https://chromium-review.googlesource.com/c/1349241Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57814}
      0453d418
  20. 21 Nov, 2018 1 commit
  21. 16 Nov, 2018 1 commit
    • Clemens Hammacher's avatar
      [iwyu] Ensure that macro assembler includes happen correctly · 1952f928
      Clemens Hammacher authored
      The platform specific macro assembler headers can not be included
      directly. They require symbols declared in macro-assembler.h.
      We also cannot include macro-assembler.h from the platform specific
      headers, because that would form a cycle, and the include in
      macro-assembler.h would be skipped, which then also fails.
      
      This CL documents and enforces this unfortunate situation.
      This helps with further iwyu cleanups.
      
      Note that current code which includes the platform specific headers
      only works because we transitively included macro-assembler.h already
      before.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:8238, v8:7490
      Change-Id: I2dc65ad950400941406e1f2f8969d0d15f524bf8
      Reviewed-on: https://chromium-review.googlesource.com/c/1340240
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57578}
      1952f928
  22. 12 Nov, 2018 1 commit
  23. 05 Nov, 2018 1 commit
  24. 25 Oct, 2018 5 commits
  25. 24 Oct, 2018 1 commit
  26. 22 Oct, 2018 1 commit
  27. 18 Oct, 2018 1 commit
  28. 17 Oct, 2018 2 commits
  29. 16 Oct, 2018 3 commits