1. 28 Apr, 2022 1 commit
  2. 15 Mar, 2022 1 commit
    • Clemens Backes's avatar
      [wasm] Tweak constants for estimating code space size · 4e983705
      Clemens Backes authored
      It turned out that on arm and arm64 we over-estimated the code size of a
      Wasm module quite a bit. This CL adds some more output for the
      --trace-wasm-compilation-times flag, and adds a script to compute the
      factors we use for code size estimates from that output.
      I ran the script on a few benchmarks (an older Epic module, the current
      Photoshop module, and the benchmark from the linked bug), and adjusted
      the constants accordingly.
      
      Also, simplify the API of {ReservationSize} to only return a single
      number, and fail internally if we need to allocate more than the engine
      supports (which would only fail for artificially large modules).
      
      R=jkummerow@chromium.org
      
      Bug: chromium:1302310
      Change-Id: I5b2c27ff3e360fb6738cf5dd697bcee09e106b6d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3522067Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79482}
      4e983705
  3. 14 Sep, 2021 1 commit
    • Andreas Haas's avatar
      [wasm] Add wasm wpt tests to the V8 tests · 3fb2ec7b
      Andreas Haas authored
      WPT and WebAssembly spec tests are not 100% in sync, which means that
      there are aspects of the WebAssembly spec that get only tested by WPT.
      Up until now WPT was only executed on the blink side, and failing tests
      were just ignored. With this CL we add WPT to the existing wasm spec
      test setup, so that we run both the spec tests, and WPT.
      
      Bug: v8:12227
      Change-Id: Iccbe696a6d9dd01f8bab1990736f1ed16e0cdf7b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160347Reviewed-by: 's avatarLiviu Rau <liviurau@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76823}
      3fb2ec7b
  4. 17 Mar, 2021 1 commit
  5. 24 Feb, 2021 2 commits
  6. 08 Feb, 2021 1 commit
  7. 01 Dec, 2020 1 commit
  8. 10 Sep, 2020 1 commit
    • Ng Zhi An's avatar
      Reland "[wasm-simd] Stage SIMD" · 36138aff
      Ng Zhi An authored
      This reverts commit e8976cf9.
      
      Reason for revert: Mark f32x4_cmp as fail, lowering is not fully implemented yet.
      
      Original change's description:
      > Revert "[wasm-simd] Stage SIMD"
      > 
      > This reverts commit 1d2726dd.
      > 
      > Reason for revert: ODROID failure: https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/15814?
      > 
      > Original change's description:
      > > [wasm-simd] Stage SIMD
      > > 
      > > SIMD has been pretty stable for a while now, we are not expecting big
      > > changes (like opcode renumbers), there might be new instructions added,
      > > and they will all be backwards-compatible.
      > > 
      > > The reference interpreter in the SIMD proposal is now capable of
      > > generating JS files for all test cases, so we can now run them.
      > > 
      > > There is a bit of tweaking necessary, since SIMD tests are in
      > > tests/core/simd subfolder in the spec, so we need to change the glob
      > > into a find that will traverse into subdirectory.
      > > 
      > > Bug: v8:10835
      > > Change-Id: I1f7e3cf37f21b2aa2537d1e34242da2373bbf626
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378587
      > > Commit-Queue: Zhi An Ng <zhin@chromium.org>
      > > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#69793}
      > 
      > TBR=bbudge@chromium.org,ahaas@chromium.org,zhin@chromium.org
      > 
      > Change-Id: I3a90c616109ca048691d97ab45698bc15a678e18
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: v8:10835
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402379
      > Reviewed-by: Shu-yu Guo <syg@chromium.org>
      > Commit-Queue: Shu-yu Guo <syg@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69794}
      
      TBR=bbudge@chromium.org,ahaas@chromium.org,zhin@chromium.org,syg@chromium.org
      
      # Not skipping CQ checks because this is a reland.
      
      Bug: v8:10835
      Change-Id: I3d87dd2adba6ada2ec3ebf5e13bff378a74b03e8
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402386Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69817}
      36138aff
  9. 09 Sep, 2020 2 commits
    • Shu-yu Guo's avatar
      Revert "[wasm-simd] Stage SIMD" · e8976cf9
      Shu-yu Guo authored
      This reverts commit 1d2726dd.
      
      Reason for revert: ODROID failure: https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/15814?
      
      Original change's description:
      > [wasm-simd] Stage SIMD
      > 
      > SIMD has been pretty stable for a while now, we are not expecting big
      > changes (like opcode renumbers), there might be new instructions added,
      > and they will all be backwards-compatible.
      > 
      > The reference interpreter in the SIMD proposal is now capable of
      > generating JS files for all test cases, so we can now run them.
      > 
      > There is a bit of tweaking necessary, since SIMD tests are in
      > tests/core/simd subfolder in the spec, so we need to change the glob
      > into a find that will traverse into subdirectory.
      > 
      > Bug: v8:10835
      > Change-Id: I1f7e3cf37f21b2aa2537d1e34242da2373bbf626
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378587
      > Commit-Queue: Zhi An Ng <zhin@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69793}
      
      TBR=bbudge@chromium.org,ahaas@chromium.org,zhin@chromium.org
      
      Change-Id: I3a90c616109ca048691d97ab45698bc15a678e18
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:10835
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2402379Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Commit-Queue: Shu-yu Guo <syg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69794}
      e8976cf9
    • Ng Zhi An's avatar
      [wasm-simd] Stage SIMD · 1d2726dd
      Ng Zhi An authored
      SIMD has been pretty stable for a while now, we are not expecting big
      changes (like opcode renumbers), there might be new instructions added,
      and they will all be backwards-compatible.
      
      The reference interpreter in the SIMD proposal is now capable of
      generating JS files for all test cases, so we can now run them.
      
      There is a bit of tweaking necessary, since SIMD tests are in
      tests/core/simd subfolder in the spec, so we need to change the glob
      into a find that will traverse into subdirectory.
      
      Bug: v8:10835
      Change-Id: I1f7e3cf37f21b2aa2537d1e34242da2373bbf626
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378587
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69793}
      1d2726dd
  10. 02 Jul, 2020 1 commit
  11. 25 Jun, 2020 1 commit
  12. 25 May, 2020 1 commit
  13. 22 Apr, 2020 1 commit
  14. 22 Oct, 2019 1 commit
  15. 05 Sep, 2019 1 commit
    • Andreas Haas's avatar
      Reland [wasm] Stage wasm-bigint · 69719dd4
      Andreas Haas authored
      There was no problem with the original CL. I just had a problem with
      my local git branches.
      
      Original message:
      
      The implementation on wasm-bigint has been done, as far as I can tell.
      There are no spec tests yet, only an out-dated copy of the original
      spec tests which don't pass anymore. Therefore I disabled all the tests
      for now and created a tracking bug at https://crbug.com/v8/9673.
      
      TBR=adamk@chromium.org
      
      Bug: v8:7741, v8:9673
      Change-Id: Ida7ccda4547cf3fdcdff151d8b02946b7aa534ca
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1787420Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63575}
      69719dd4
  16. 28 Aug, 2019 2 commits
  17. 17 Jul, 2019 1 commit
    • Andreas Haas's avatar
      [wasm][tests] Add proposal tests to the wasm spec tests · cd34523b
      Andreas Haas authored
      With this CL we add proposal tests to the wasm-spec-tests. For this I
      extended the update-wasm-spec-tests.sh script. Additionally to
      generating the spec tests it does the following:
      
      For each proposal it identifies those tests that are different to the
      spec tests, and then copies those tests also to the wasm-spec-tests
      directory.
      
      Additionally I adjusted the test runner of the wasm spec test to
      run the proposal tests with the correct flags.
      
      CC=binji@chromium.org
      R=clemensh@chromium.org
      
      Bug: v8:7581
      Change-Id: Idb7aa3c0a468ddb65b2ef3421def836561579cd9
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1706470Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62777}
      cd34523b
  18. 22 Nov, 2018 1 commit
    • Ben L. Titzer's avatar
      [wasm/tools] Add import profiler · 4eb53245
      Ben L. Titzer authored
      Add a profiler for functions imported to WASM instances. This profiler
      is implemented entirely in JavaScript and monkey-patches
      WebAssembly.instantiate() and new WebAssembly.Instance() to instrument
      the imported functions to each instance in order to count their
      invocations and cumulative time.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:8423
      Change-Id: If456355aba07dc69c5500bafbe35fc56b31486af
      Reviewed-on: https://chromium-review.googlesource.com/c/1347488
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57746}
      4eb53245
  19. 18 Oct, 2018 1 commit
  20. 17 Oct, 2018 2 commits
  21. 25 Jan, 2018 1 commit
  22. 08 Dec, 2017 1 commit
  23. 10 Oct, 2017 1 commit
  24. 21 Jun, 2017 1 commit
  25. 09 Jun, 2017 1 commit
  26. 02 Jun, 2017 1 commit
    • Andreas Haas's avatar
      [wasm] Update the wasm spec tests. · fdb0b7ab
      Andreas Haas authored
      This CL updates the hook for the WebAssembly spec repository, and it
      updates the WebAssembly spec tests. The WebAssembly spec tests have to
      be updated manually with the tools/wasm/update-wasm-spec-tests.sh
      script. Mircea, I saw that you updated the WebAssembly spec repository
      last time. Can you please take a look?
      
      UPDATE: I improved the update script slightly, and there is one
      additional JS API test we fail now and have to fix eventually.
      
      R=mtrofin@chromium.org
      
      Change-Id: I3c0df9cee64d444147db47daa0c1936edf116173
      Reviewed-on: https://chromium-review.googlesource.com/509257Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45692}
      fdb0b7ab
  27. 28 Apr, 2017 1 commit
    • Andreas Haas's avatar
      [wasm] Move the wasm fuzzer corpus to a different directory · 1f629aac
      Andreas Haas authored
      The current test/fuzzer/wasm directory is used for two things:
      1) as the corpus directory for clusterfuzz
      2) to test in v8 that the fuzzer runs correctly.
      
      With the newly added files from the wasm spec tests this directory grew
      quite big and adds unnecessary load on the trybots. Therefore I want to
      do the following steps:
      1) In this CL for V8: create a new directory for the clusterfuzz corpus
      2) In chromium: use the new corpus directory
      3) In v8: clean up the old directory to use it on the trybots.
      
      R=bradnelson@chromium.org
      CC=mmoroz@chromium.org
      
      Change-Id: If690022558bb5780edf5a3649fb9745ef9c7407a
      Reviewed-on: https://chromium-review.googlesource.com/490367
      Commit-Queue: Brad Nelson <bradnelson@chromium.org>
      Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44991}
      1f629aac
  28. 27 Apr, 2017 1 commit