1. 21 Jan, 2020 2 commits
    • Clemens Backes's avatar
      [wasm] Fix deserializer test · 365d7c80
      Clemens Backes authored
      The test was supposed to manipulate the serialized bytes to make them
      invalid, but the value at the manipulated position was already 0, hence
      the bytes stayed valid. This went unnoticed before
      https://crrev.com/c/2010786, since there was a fallback anyway to
      re-compile the module if deserialization fails.
      
      This CL fixes this by using the right offset, and checking that the
      value there is not already zero.
      
      R=thibaudm@chromium.org
      
      Change-Id: Ie0eaf2c8ee9e8c4c477f717f3d8aed8564b3adbf
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2007493
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65898}
      365d7c80
    • Clemens Backes's avatar
      [wasm] Refactor and fix wasm serialization test · 9349fb78
      Clemens Backes authored
      This fixes a few issues:
      1) It avoids using the {DeserializeOrCompile} API method, which is not
         used in chrome any more and will be deprecated soon.
      2) It switches to the {DeserializeNativeModule} internal method, which
         really checks deserialization in isolation and does not fall back to
         compiling the wire bytes if the serialized bytes are incorrect.
      3) It disables a test which tried to invalidate the number of functions,
         but the respective bytes were already zero, so nothing was
         invalidated. This still needs to be fixed in a follow-up CL.
      4) It serializes the modules in a separate isolate, which then gets
         disposed to free references to the NativeModule and remove it from
         the modules cache. Otherwise we will just never deserialize, but use
         the cached module instead.
      
      R=thibaudm@chromium.org
      
      Bug: v8:6847, v8:10146
      Change-Id: I37ef524a9c96c32fec2e7466488d67395fa5ccea
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2010786
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65888}
      9349fb78
  2. 17 Jan, 2020 1 commit
  3. 27 Mar, 2019 1 commit
  4. 07 Dec, 2018 1 commit
    • Clemens Hammacher's avatar
      [wasm] Serialize without accessing any Isolate · e42b547b
      Clemens Hammacher authored
      We need to be able to serialize a NativeModule, which is not bound to
      any Isolate. Hence we should not want to pass any Isolate to the
      serializer. This CL removes the dependence by not using the
      ExternalReferenceTable from the Isolate, but instead using its own
      ExternalReferenceList for serialization and deserialization. This
      ExternalReferenceList only contains isolate-independent external
      references.
      
      R=mstarzinger@chromium.org
      
      Bug: chromium:912043, chromium:912031
      Change-Id: Iea5abd95dce9c54e618255cc577b6b43f002ac5d
      Reviewed-on: https://chromium-review.googlesource.com/c/1363135
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58099}
      e42b547b
  5. 05 Dec, 2018 1 commit
  6. 05 Oct, 2018 1 commit
  7. 01 Aug, 2018 1 commit
  8. 13 Jun, 2018 1 commit
  9. 11 May, 2018 1 commit
  10. 03 May, 2018 1 commit
  11. 02 Feb, 2018 1 commit
  12. 11 Jan, 2018 1 commit
  13. 09 Jan, 2018 1 commit
  14. 05 Dec, 2017 1 commit
  15. 28 Nov, 2017 3 commits
    • Mircea Trofin's avatar
      Revert "Revert "[wasm] JIT using WasmCodeManager"" · b03b1bd9
      Mircea Trofin authored
      This reverts commit b301203e.
      
      Reason for revert: Fixed issues on arm.
      
      Original change's description:
      > Revert "[wasm] JIT using WasmCodeManager"
      > 
      > This reverts commit d4c8393c.
      > 
      > Reason for revert: Breaks ARM hardware:
      > https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5268
      > 
      > Original change's description:
      > > [wasm] JIT using WasmCodeManager
      > > 
      > > This is the first step towards wasm code sharing. This CL moves wasm
      > > code generation outside the JavaScript GC heap using the previously -
      > > introduced WasmCodeManager (all this, behind the --wasm-jit-to-native
      > > flag).
      > > 
      > > See design document: go/wasm-on-native-heap-stage-1
      > > 
      > > This CL doesn't change other wasm architectural invariants. We still
      > > have per-Isolate wasm code generation, and per-wasm module instance
      > > code specialization.
      > > 
      > > Bug:v8:6876
      > > 
      > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > > Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3
      > > Reviewed-on: https://chromium-review.googlesource.com/674086
      > > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > > Reviewed-by: Eric Holk <eholk@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#49689}
      > 
      > TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org
      > 
      > Change-Id: I89af1ea5decd841bc12cd2ceaf74d32bc4433885
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: v8:6876
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/794690
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49691}
      
      TBR=bradnelson@chromium.org,machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org
      
      Change-Id: I1b07638d1bb2ba0664305b4b2dcfc1342dc8444f
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6876
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/794434
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49692}
      b03b1bd9
    • Michael Achenbach's avatar
      Revert "[wasm] JIT using WasmCodeManager" · b301203e
      Michael Achenbach authored
      This reverts commit d4c8393c.
      
      Reason for revert: Breaks ARM hardware:
      https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5268
      
      Original change's description:
      > [wasm] JIT using WasmCodeManager
      > 
      > This is the first step towards wasm code sharing. This CL moves wasm
      > code generation outside the JavaScript GC heap using the previously -
      > introduced WasmCodeManager (all this, behind the --wasm-jit-to-native
      > flag).
      > 
      > See design document: go/wasm-on-native-heap-stage-1
      > 
      > This CL doesn't change other wasm architectural invariants. We still
      > have per-Isolate wasm code generation, and per-wasm module instance
      > code specialization.
      > 
      > Bug:v8:6876
      > 
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3
      > Reviewed-on: https://chromium-review.googlesource.com/674086
      > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > Reviewed-by: Eric Holk <eholk@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49689}
      
      TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org
      
      Change-Id: I89af1ea5decd841bc12cd2ceaf74d32bc4433885
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6876
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/794690Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49691}
      b301203e
    • Mircea Trofin's avatar
      [wasm] JIT using WasmCodeManager · d4c8393c
      Mircea Trofin authored
      This is the first step towards wasm code sharing. This CL moves wasm
      code generation outside the JavaScript GC heap using the previously -
      introduced WasmCodeManager (all this, behind the --wasm-jit-to-native
      flag).
      
      See design document: go/wasm-on-native-heap-stage-1
      
      This CL doesn't change other wasm architectural invariants. We still
      have per-Isolate wasm code generation, and per-wasm module instance
      code specialization.
      
      Bug:v8:6876
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3
      Reviewed-on: https://chromium-review.googlesource.com/674086Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49689}
      d4c8393c