1. 19 Oct, 2019 3 commits
  2. 18 Oct, 2019 28 commits
  3. 17 Oct, 2019 9 commits
    • Ng Zhi An's avatar
      Reland "[wasm-simd] Implement F64x2ConvertI64x2 for x64" · b477d91c
      Ng Zhi An authored
      This is a reland of 306bb635
      
      Original change's description:
      > [wasm-simd] Implement F64x2ConvertI64x2 for x64
      > 
      > Bug: v8:8460
      > Change-Id: Icefb90c67af77ac93bd75b4e452ba426232de83a
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1710332
      > Commit-Queue: Zhi An Ng <zhin@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Bill Budge <bbudge@chromium.org>
      > Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#63627}
      
      Bug: v8:8460
      Change-Id: I08d2c88e81ce51d3d1cfdf3d7d6ba34792e34e9e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1793902Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64365}
      b477d91c
    • Ng Zhi An's avatar
      [wasm-simd] Implement v8x16.swizzle for arm · a0b95232
      Ng Zhi An authored
      Bug: v8:8460
      Change-Id: I9caa817ed1ab1f64984311d90f57ed779f15b225
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1850613Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64364}
      a0b95232
    • Ng Zhi An's avatar
      [wasm-simd] Fix i64x2 splat isel on ia32 · 0e06c3bb
      Ng Zhi An authored
      In the non-avx case, we are incorrectly using DefineSameAsFirst, which
      is wrong, since operand0 is a 32-bit register, but the output should be
      a simd register. This error was caught by running the test with flag:
      --no-enable-avx, leading to a register allocator verifier failure.
      
      Drive by cleanup to remove duplicate cases for avx and see in i64x2 replace
      lane.
      
      Bug: v8:9728
      Change-Id: I96490c82e13660fc41e72ac523e5be37b051b624
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1866963
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64363}
      0e06c3bb
    • Milad Farazmand's avatar
      PPC/s390: Reland^2 "[runtime] Move Context::native_context to the map" · 36ab93d8
      Milad Farazmand authored
      Port 3cad6bf5
      
      Original Commit Message:
      
          This is a reland of c7c47c68.
      
          This makes TSAN happy in addition to:
      
          Previously I presumed that the context read from a frame in the profiler was
          a valid context. Turns out that on non-intel we're not guaranteed that the
          frame is properly set up. In the case we looked at, the profiler took a
          sample right before writing the frame marker indicating a builtin frame,
          causing the "context" pointer from that frame to be a bytecode array. Since
          we'll read random garbage on the stack as a possible context pointer, I made
          the code reading the native context from it a little more defensive.
      
          Original change's description:
          > [runtime] Move Context::native_context to the map
          >
          > Remove the native context slot from contexts by making context maps
          > native-context-specific. Now we require 2 loads to go from a context to the
          > native context, but we have 1 field fewer to store when creating contexts.
          >
          > Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d
          > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629
          > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
          > Reviewed-by: Igor Sheludko <ishell@chromium.org>
          > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
          > Reviewed-by: Maya Lekova <mslekova@chromium.org>
          > Reviewed-by: Georg Neis <neis@chromium.org>
          > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
          > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
          > Cr-Commit-Position: refs/heads/master@{#64296}
      
      R=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I48b21f189e782a338eb2508edd57b7b2cf5ce240
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1865607Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#64362}
      36ab93d8
    • Z Nguyen-Huu's avatar
      [builtins] Port some RegExp functions to Torque · 56111139
      Z Nguyen-Huu authored
      IsReceiverInitialRegExpPrototype, RegExpCreate
      
      Bug: v8:8976
      Change-Id: If1d2598a2c2f302704c25aa65826fa442e6b79a4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1866015
      Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64361}
      56111139
    • Toon Verwaest's avatar
      Reland^2 "[runtime] Move Context::native_context to the map" · 3cad6bf5
      Toon Verwaest authored
      This is a reland of c7c47c68.
      
      This makes TSAN happy in addition to:
      
      Previously I presumed that the context read from a frame in the profiler was
      a valid context. Turns out that on non-intel we're not guaranteed that the
      frame is properly set up. In the case we looked at, the profiler took a
      sample right before writing the frame marker indicating a builtin frame,
      causing the "context" pointer from that frame to be a bytecode array. Since
      we'll read random garbage on the stack as a possible context pointer, I made
      the code reading the native context from it a little more defensive.
      
      Bug: v8:9860
      Tbr: ulan@chromium.org, neis@chromium.org, ishell@chromium.org
      
      Original change's description:
      > [runtime] Move Context::native_context to the map
      >
      > Remove the native context slot from contexts by making context maps
      > native-context-specific. Now we require 2 loads to go from a context to the
      > native context, but we have 1 field fewer to store when creating contexts.
      >
      > Change-Id: I3c0d7c50c94060c4129db684f46a567de6f30e8d
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859629
      > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Maya Lekova <mslekova@chromium.org>
      > Reviewed-by: Georg Neis <neis@chromium.org>
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#64296}
      
      Change-Id: I4d0ab4cbbb23a9ae616407f17ef8f35a0b68ddb4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864654
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64360}
      3cad6bf5
    • Ng Zhi An's avatar
      [wasm-simd] Add more f32/f64 cases to fuzz test · 76ed54ec
      Ng Zhi An authored
      Change-Id: I1c20a5c756394528af1e9f2bb720393d3045e926
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1865719
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64359}
      76ed54ec
    • Santiago Aboy Solanes's avatar
      [ptr-compr] Implement the DecompressionOptimizer Reducer and its phase · ae97e885
      Santiago Aboy Solanes authored
      The DecompressionOptimizer aims to avoid adding the root in AnyTagged
      or TaggedPointer loads. For the TaggedSigned case, we already solve it
      in instruction selection.
      
      The new phase will run only when pointer compression is enabled. For
      the moment, it's also requires FLAG_turbo_decompression_elimination to
      be false. This latter flag is only temporary to test out the
      implementation.
      
      The phase needs to be run when Machine are present in the graph, i.e
      at the very end of the pipeline. Also, since this phase may change
      the load's MachineRepresentation from Tagged to Compressed, it's best
      to run it as late as possible in order to keep the phases that know
      about Compressed MachineRepresentation to a minimum.
      
      As an example, if we Load a Tagged value only to Store it back again
      (i.e Load -> Store nodes, with the Load being the Store's value) we
      don't need to fully decompress it since the Store will ignore the
      top bits.
      
      Bug: v8:7703
      Change-Id: I6b4aec203ab8cbb540b2513cabb1e2a5691ce938
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859615
      Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64358}
      ae97e885
    • Milad Farazmand's avatar
      PPC: allow for calling CFunctions without function descriptors on AIX. · 07ee86a5
      Milad Farazmand authored
      The calling conventions on AIX uses function descriptors,
      which means that pointers to functions do not point to code,
      but instead point to metadata about them. When calling JITed code,
      we must assure to use function descriptors instead of raw pointers when
      needed. Before this CL 213504b9, all CallCFunction on AIX were guaranteed to have
      function descriptors. Starting form the CL mentioned above, CallCFunction can also
      Jump to a Trampoline which does not have a function descriptor, hence a new
      "CallCFunctionWithoutFunctionDescriptor" method is proposed to deal with this issue.
      
      BUG= v8:9766
      
      Change-Id: I9343c31c812f5d4dda8503a5adf024b24dbde072
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825961
      Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64357}
      07ee86a5