1. 13 Oct, 2020 1 commit
  2. 12 Oct, 2020 4 commits
  3. 08 Oct, 2020 1 commit
  4. 06 Oct, 2020 1 commit
  5. 05 Oct, 2020 3 commits
  6. 02 Oct, 2020 1 commit
  7. 30 Sep, 2020 1 commit
  8. 29 Sep, 2020 1 commit
  9. 25 Sep, 2020 1 commit
  10. 24 Sep, 2020 1 commit
    • Clemens Backes's avatar
      [wasm][memory64] Start implementing the memory64 proposal · 18da0875
      Clemens Backes authored
      This is a first small step for implementing the memory64 proposal:
      1. Add a feature flag.
      2. Add the 0x04 and 0x05 limits flag for memory64.
      3. Read memory limits as LEB-encoded u64 (instead of u32) if a memory64
         limit flag was read.
      4. Unify {MaximumFlag} and {MemoryFlag}, which was used inconsistently
         before.
      5. Add test for memory limits encoded with >5 bytes.
      6. Move some macros from module-decoder-unittest.cc to wasm-macro-gen.h.
      
      Note that still the same limits for the maximum number of pages applies
      as before, i.e. you cannot specify a memory >4GB yet. But you can encode
      that small number in >5 bytes.
      
      R=manoskouk@chromium.org
      
      Bug: v8:10949
      Change-Id: I90a4f08426ae714a67440281785eb00cfc24a349
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423712
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarManos Koukoutos <manoskouk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70110}
      18da0875
  11. 22 Sep, 2020 1 commit
  12. 21 Sep, 2020 1 commit
    • Ng Zhi An's avatar
      [wasm-simd] Set default args for v128 values · 83fa52a5
      Ng Zhi An authored
      Instantiating a module that contains a function (exported) with a v128
      in its signature is fine, but then later calling it will trap.
      
      So v128 values are technically not callable from JS, but we can give it
      a default argument of 0, and will later trap anyway. This is useful when
      fuzzers generate functions with v128 in the signature of the main
      function that we then later try to call.
      
      Bug: chromium:1129068
      Change-Id: I93f239a0355b8059e25b8bd5f1274d151d71ee11
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2419657
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#70038}
      83fa52a5
  13. 16 Sep, 2020 1 commit
    • Thibaud Michaud's avatar
      [wasm] Fix interpreter Ref in unreachable code · 140271f2
      Thibaud Michaud authored
      For "else" and "catch" statements, the Ref to the end label should only
      be added if the current block is unreachable, not the parent block.
      
      In the added regression test, the "true" block ends in an unreachable
      state with a stack height less than the target height of the end label.
      This is valid due to the semantics of unreachable code, but we should
      not add the Ref in this case because its stack height is invalid.
      
      R=clemensb@chromium.org
      
      Fixed: chromium:1092130
      Change-Id: Iebaf5e7d6516278ccd3c8268ac331069e109d882
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2412181
      Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69934}
      140271f2
  14. 15 Sep, 2020 1 commit
  15. 11 Sep, 2020 1 commit
  16. 08 Sep, 2020 1 commit
  17. 03 Sep, 2020 1 commit
  18. 26 Aug, 2020 1 commit
    • Clemens Backes's avatar
      [wasm][fuzzer] Fix BigInt parameters · 2d78b3a7
      Clemens Backes authored
      The fuzzers were calling the compiled function without passing explicit
      arguments. Thus all arguments were converted from the "undefined" value,
      which typically results in a zero value, as expected.
      For BigInt though, it's not allowed to pass "undefined". We have to pass
      a proper BigInt.
      This CL implements this by passing explicit parameter values for all
      parameters.
      
      This effectively unlocks testing BigInt parameters in all fuzzers, thus
      may increase coverage and find new bugs.
      
      R=ahaas@chromium.org
      
      Bug: chromium:1120355
      Change-Id: I4e451d2418eb73d460fa937d1cf95a1ab6c99cf5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2377945
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69570}
      2d78b3a7
  19. 18 Aug, 2020 1 commit
    • Clemens Backes's avatar
      Reland "[wasm][fuzzer] Fix exception detection" · f7d169c6
      Clemens Backes authored
      This is a reland of 899cb348.
      The new fuzzer regression test is skipped in jitless.
      
      Original change's description:
      > [wasm][fuzzer] Fix exception detection
      >
      > Exceptions were detected by checking for a pending exception on the
      > isolate, but {CallWasmFunctionForTesting} was clearing any pending
      > exception before returning.
      > This CL fixes that by explicitly passing back a boolean which is set if
      > an exception occurred during execution.
      >
      > R=ahaas@chromium.org
      >
      > Bug: chromium:1115280
      > Change-Id: Ife71ceef0751d18e0870335b9520c2bf77e351cc
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352787
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#69404}
      
      Bug: chromium:1115280
      Change-Id: I9bb7300d423c53214e51e61233b0a6b09a21fd97
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2361464Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69446}
      f7d169c6
  20. 14 Aug, 2020 3 commits
  21. 13 Aug, 2020 2 commits
  22. 11 Aug, 2020 3 commits
  23. 10 Aug, 2020 3 commits
  24. 06 Aug, 2020 1 commit
    • Clemens Backes's avatar
      [wasm] Remove ExecutionTier::kInterpreter · 0c918bd8
      Clemens Backes authored
      The interpreter is not an execution tier in production any more. It's
      only used in tests.
      Thus, remove {ExecutionTier::kInterpreter} and instead add a
      {TestExecutionTier} that still has {kInterpreter}.
      
      If needed (in {TestingModuleBuilder::execution_tier()}), we translate
      back from {TestExecutionTier} to {ExecutionTier} (for {kLiftoff} and
      {kTurboFan} only).
      
      The {TraceMemoryOperation} method, which is shared between interpreter
      and production code, now receives a {base::Optional<ExecutionTier>}, and
      we will just pass en empty optional if called from the interpreter.
      
      R=thibaudm@chromium.org
      
      Bug: v8:10389
      Change-Id: Ibe133b91e8dca6d6edbfaee5ffa0d7fe72ed6d64
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335186Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69260}
      0c918bd8
  25. 04 Aug, 2020 1 commit
  26. 28 Jul, 2020 1 commit
  27. 24 Jul, 2020 1 commit
  28. 22 Jul, 2020 1 commit