1. 16 Dec, 2020 8 commits
    • Clemens Backes's avatar
      [wasm][test] Remove an unneeded pointer · 8619422e
      Clemens Backes authored
      We were storing the pointer to the WasmModule both as a shared_ptr and
      as a raw pointer. Maybe this had historical reasons, but now it's just
      redundant.
      
      R=thibaudm@chromium.org
      
      Change-Id: Id72d102b6df804f93e3ab0235eeceef91a6dd8fb
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2593334Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71782}
      8619422e
    • Clemens Backes's avatar
      [wasm] Move members from WasmRunner to WasmRunnerBase · 1f7e126f
      Clemens Backes authored
      This moves some fields and methods from the WasmRunner template to the
      WasmRunnerBase base class. This avoids repeated compilation for the
      different instantiations of the WasmRunner template.
      
      Additional changes:
      - SetUpTrapCallback, SetThreadInWasmFlag, and ClearThreadInWasmFlag are
        static now.
      - CheckUsedExecutionTier is unused, and did not even compile any more.
        In the template class this was OK, because it's only compiled on first
        use.
      
      R=thibaudm@chromium.org
      
      Change-Id: I485729cf4a1fd93fe6abb0be269694f0179fc4ea
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2593331Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71781}
      1f7e126f
    • Jakob Kummerow's avatar
      [cleanup] Add .cache to .gitignore · 67f0733e
      Jakob Kummerow authored
      Recent versions of clangd put lots of stuff into .cache,
      cluttering `git status` output.
      
      No-Try: true
      Change-Id: I0b5d78a8b2813bd11ad1f0d32bc8ea314103fe19
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2593255Reviewed-by: 's avatarTamer Tas <tmrts@chromium.org>
      Commit-Queue: Tamer Tas <tmrts@chromium.org>
      Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71780}
      67f0733e
    • Michael Achenbach's avatar
      Whitespace change to trigger builders · 84f9ef3c
      Michael Achenbach authored
      Change-Id: Ib4d7e86ab38669443f52c02e6e7c16ab28496238
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2593343Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71779}
      84f9ef3c
    • Michael Achenbach's avatar
      Whitespace change to trigger builders · 24f1e251
      Michael Achenbach authored
      Change-Id: I97405198ab40fe15dc6989707ca3a774edd3e838
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2593342Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71778}
      24f1e251
    • Dominik Inführ's avatar
      Reland^3 [heap] Add epoch to GC tracing events · 893f32fe
      Dominik Inführ authored
      This is a reland of b614cd78
      
      Original change's description:
      > Reland "Reland "[heap] Add epoch to GC tracing events""
      >
      > This is a reland of 3238162d
      >
      > No changes since the last reland.
      >
      > Original change's description:
      > > Reland "[heap] Add epoch to GC tracing events"
      > >
      > > This is a reland of be52501d
      > >
      > > Fix data race by not emitting the epoch for sweeper background jobs
      > > at them moment.
      > >
      > > Original change's description:
      > > > [heap] Add epoch to GC tracing events
      > > >
      > > > This CL adds the TRACE_GC_EPOCH macro, which adds the epoch as attribute
      > > > to the trace event. Use TRACE_GC_EPOCH for top-level events, nested
      > > > events can get the information from its parent.
      > > >
      > > > V8's GC needs an epoch for young and full collections, since scavenges
      > > > also occur during incremental marking. The epoch is also process-wide,
      > > > so different isolates do not reuse the same id.
      > > >
      > > > Change-Id: I8889bccce51e008374b4796445a50062bd87a45d
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565247
      > > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      > > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#71521}
      > >
      > > Change-Id: Ib8f4bfdc01c459955eb6db63bb6e24a8aa068f09
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567702
      > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#71567}
      >
      > TBR=ulan@chromium.org,dinfuehr@chromium.org
      >
      > Change-Id: I09dcfabbad4ef1ad50e02a227282982cd7d87997
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2571122
      > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#71609}
      
      Change-Id: I89dfa5c7658197348a39be51b75dba77bfd4a70b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2577470
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71777}
      893f32fe
    • Daniel Clark's avatar
      [modules][api] Implement HostGetSupportedImportAssertions · 8ae4dc40
      Daniel Clark authored
      Implement the HostGetSupportedImportAssertions, whose purpose
      is to filter the list of import assertions exposed to the embedder to
      only those assertion with keys that the embedder recognizes. See
      https://tc39.es/proposal-import-assertions/#sec-hostgetsupportedimportassertions.
      
      This change doesn't actually implement it as a callback, but instead
      passes the supported assertions during creation of the Isolate via
      CreateParams. This expresses clearly the requirement that the supported
      assertions must never change for the lifetime of the Isolate.
      
      Note that we still need to maintain all assertions in a map
      while parsing the import assertions clause, because duplicate keys for
      an unsupported assertion still needs to be detected as a parse error. So,
      the filtering is done later during
      SourceTextModuleDescriptor::AstModuleRequest::Serialize.
      
      The actual filtering algorithm simply iterates the assertions and the
      supported assertion keys in a nested loop. There's currently only one
      assertion in use ("type"), so there should be no reason to get too
      clever here unless at least several more assertions are generally
      supported.
      
      Bug: v8:10958
      Change-Id: I9a2d965e9d452718d0ddfe9dca55b7b4ed963019
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2572173Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Commit-Queue: Dan Clark <daniec@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#71776}
      8ae4dc40
    • Zhi An Ng's avatar
      [wasm-simd][x64] Fix definition of Shufps · 5f4b0e47
      Zhi An Ng authored
      The definition of Shufps is wrong, we are incorrectly passing 0 as the
      immediate in all cases. No tests broke because we only used Shufps for
      splats, which has imm8 == 0 anyway.
      
      Also, it was using movss, which only moves a single 32-bit. Because we
      were using it only for f32x4 splat, this ended up being enough (imm8 ==
      0 meant that we only shuffled the low 32-bit). This is fixed to use
      movaps, which moves the entire 128-bit register.
      
      Also tweak the definition of Shufps to take 4 arguments. `vshufps dst,
      src1, src2, imm8` shuffles src1 and src2 into dst. `shufps dst, src,
      imm8`, shuffles dst and src into dst.
      
      So `Shufps(dst, src, imm8)` is ambiguous in the AVX case, it could be:
      1. vshufps(dst, src, src, imm8), or
      2. vshufps(dst, dst, src, imm8)
      
      2. is more likely to be the intended behavior, but it introduces a false
      dependency on the value of dst.
      
      With `Shufps(dst, src1, src2, imm8)`, it is clearer what the behavior
      should be:
      1. shufps(dst, src2, imm8) matches the AVX behavior IFF dst == src1.
      
      Change-Id: I60dc4ec868023d28d00f2b09d2c53b82a729bc4d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2591849Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71775}
      5f4b0e47
  2. 15 Dec, 2020 23 commits
  3. 14 Dec, 2020 9 commits