1. 22 Mar, 2021 1 commit
  2. 17 Dec, 2020 2 commits
  3. 27 Oct, 2020 3 commits
  4. 20 Oct, 2020 1 commit
  5. 15 Oct, 2020 1 commit
  6. 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
  7. 12 Mar, 2020 1 commit
  8. 09 Dec, 2019 1 commit
  9. 08 Oct, 2019 1 commit
  10. 30 Jul, 2019 1 commit
    • Andreas Haas's avatar
      [wasm][ia32] Fix i64tof32 conversion on Windows · 4df3db7b
      Andreas Haas authored
      On Windows, the FP stack registers are used with less precision.
      This causes rounding errors in the uint64 to float32 conversion.
      
      This CL replaces the implementation based on FP stack registers
      with an implementation based on bit operations. This implementation
      is 2x slower than the original implementation.
      
      An alternative would be to change the precision of the FP stack
      registers just for the uint64 to float32 conversion. However, in a
      micro-benchmark this is 5-6x slower than the original implementation.
      It is also not clear if changing the precision could cause side
      effects.
      
      R=clemensh@chromium.org
      
      Change-Id: Iaab6b6f258ff01e0c6e93f3632daf516fae3e74b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1708486
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#62986}
      4df3db7b
  11. 23 May, 2019 1 commit
  12. 21 May, 2019 1 commit
  13. 01 Feb, 2019 1 commit
    • Clemens Hammacher's avatar
      [test] Modernize value helpers · f0d69fc9
      Clemens Hammacher authored
      This CL changes the usage pattern from
      FOR_XXX_VALUES(i) { Use(*i); }
      to
      FOR_XXX_VALUES(i) { Use(i); }
      which is way more intuitive.
      
      Note that the replacement in the uses was done via regular expression,
      so it's purely mechanical. In two locations I removed unneeded braces
      around the macro, because they confused clang-format.
      I plan to do more cleanups (remove redundant assignments within the
      FOR_XXX_VALUES body) in a follow-up CL.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:8562
      Change-Id: I4329bfcf34e5b077d19b50f4204ceb3b4340fe61
      Reviewed-on: https://chromium-review.googlesource.com/c/1449615
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59287}
      f0d69fc9
  14. 28 Jan, 2019 1 commit
  15. 10 Jan, 2019 1 commit
  16. 21 Aug, 2018 1 commit
  17. 13 Aug, 2018 1 commit
  18. 27 Apr, 2018 2 commits
  19. 24 Apr, 2018 1 commit
  20. 16 Apr, 2018 1 commit
  21. 04 Apr, 2018 1 commit
    • Eric Holk's avatar
      [wasm] enable StoreMem_offset_oob_i64 test with trap handlers · f56e2a02
      Eric Holk authored
      The first part of this change updates StoreMem_offset_oob_i64 to use one page of
      Wasm memory, rather than just a few bytes. Using less than a page was out of
      spec for Wasm anyway, so this is better.
      
      This required a small change in the test runner to set and clear the
      thread_in_wasm flag around Wasm calls. This was accomplished by a
      ThreadInWasmScope convenience class.
      
      The majority of the changes are because the cctest environment does not support
      runtime exceptions. In the code generator, where we used to throw a
      WasmMemOutOfBounds exception, we now need to call out to the test hook instead
      if runtime exceptions are not supported. This involved plumbing the
      runtime_exception_support flag down to the code generator. Rather than adding
      and shuffling around extra parameters everywhere, this CL packages the previous
      protected instruction list in a new WasmCompilationData object that now includes
      the runtime_exception_support flag as well.
      
      Bug: v8:5277
      Change-Id: Ic9c9e5a53a07a7773b58c0aee7c26bbd2ddf82f3
      Reviewed-on: https://chromium-review.googlesource.com/989017
      Commit-Queue: Eric Holk <eholk@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52368}
      f56e2a02
  22. 16 Mar, 2018 1 commit
  23. 07 Feb, 2018 1 commit
  24. 05 Feb, 2018 1 commit
  25. 31 Jan, 2018 1 commit
    • Karl Schimpf's avatar
      [wasm] Implement i64.trunc_s:sat/f32 · ef98172d
      Karl Schimpf authored
      Implements the saturating opcode i64.trunc_s:sat/f32.
      
      Also does some refactoring of the i32 saturating opcodes use a simplier
      solution (calling a single method to handle all i32 values).
      
      Also refactors code so that the remaining i64 saturating conversions
      should be easy to add to the wasm compiler.
      
      Bug: v8:7226
      Change-Id: I031aca1e059b4baa989a56ecbc16941f591ff9b3
      Reviewed-on: https://chromium-review.googlesource.com/887333
      Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51001}
      ef98172d
  26. 07 Dec, 2017 1 commit
    • Karl Schimpf's avatar
      [wasm] First step of refactoring trap handling to be per module. · 0d5de9ad
      Karl Schimpf authored
      The previous code assumed that trap handling was a global concept, defined
      by function trap_handler::UseTrapHandler(). This CL does the first step
      in changing the decision to be specifiable at a module level.
      
      Therefore trap_handler::UseTrapHandler() is replaced by
      trap_handler::IsTrapHandlerEnabled(), and communicates if compilation
      supports the use of trap handlers (but still allowing the use of
      bounds checking on memory accesses).
      
      It then refactors the classes ModuleEnv and WasmCompiledModule to have
      a field "use_trap_handler" that specifies if traps should be used for
      the memory accesses in the module being compiled.
      
      Bug: v8:7143
      Change-Id: I9844842d5721c86c2dd55e911b42bf8b9922cf63
      Reviewed-on: https://chromium-review.googlesource.com/802322
      Commit-Queue: Eric Holk <eholk@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49915}
      0d5de9ad
  27. 06 Dec, 2017 1 commit
  28. 02 Dec, 2017 1 commit
    • Mathias Bynens's avatar
      Normalize casing of hexadecimal digits · 822be9b2
      Mathias Bynens authored
      This patch normalizes the casing of hexadecimal digits in escape
      sequences of the form `\xNN` and integer literals of the form
      `0xNNNN`.
      
      Previously, the V8 code base used an inconsistent mixture of uppercase
      and lowercase.
      
      Google’s C++ style guide uses uppercase in its examples:
      https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters
      
      Moreover, uppercase letters more clearly stand out from the lowercase
      `x` (or `u`) characters at the start, as well as lowercase letters
      elsewhere in strings.
      
      BUG=v8:7109
      TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
      NOPRESUBMIT=true
      
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6
      Reviewed-on: https://chromium-review.googlesource.com/804294
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49810}
      822be9b2
  29. 27 Oct, 2017 1 commit
  30. 25 Oct, 2017 1 commit
  31. 26 Sep, 2017 1 commit
  32. 21 Sep, 2017 1 commit
  33. 11 Sep, 2017 1 commit
  34. 01 Sep, 2017 1 commit
  35. 19 Aug, 2017 2 commits
    • Mircea Trofin's avatar
      Revert "Revert "[wasm] Rename TestingModule to TestingModuleBuilder."" · 5eb1aa48
      Mircea Trofin authored
      This reverts commit 3913bde1.
      
      Reason for revert: Reason for revert fixed.
      
      Original change's description:
      > Revert "[wasm] Rename TestingModule to TestingModuleBuilder."
      > 
      > This reverts commit ed06fc91.
      > 
      > Reason for revert: Need to revert previous CL
      > 
      > Original change's description:
      > > [wasm] Rename TestingModule to TestingModuleBuilder.
      > > 
      > > This is a followup to moving the ModuleEnv to the compiler directory and
      > > making it immutable.
      > > 
      > > R=​mtrofin@chromium.org, ahaas@chromium.org
      > > 
      > > Bug: 
      > > Change-Id: I0f5ec1b697bdcfad0b4dc2bca577cc0f40de8dc0
      > > Reviewed-on: https://chromium-review.googlesource.com/616762
      > > Commit-Queue: Ben Titzer <titzer@chromium.org>
      > > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#47419}
      > 
      > TBR=titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org
      > 
      > Change-Id: I9b3b379e89f523c2fcf205a1d268aa294bbc44ff
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Reviewed-on: https://chromium-review.googlesource.com/622567
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47448}
      
      TBR=machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org
      
      Change-Id: Idce6f1ca8ed0ea80edb50292e9b6e2d7712f29cf
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/622034Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47454}
      5eb1aa48
    • Michael Achenbach's avatar
      Revert "[wasm] Rename TestingModule to TestingModuleBuilder." · 3913bde1
      Michael Achenbach authored
      This reverts commit ed06fc91.
      
      Reason for revert: Need to revert previous CL
      
      Original change's description:
      > [wasm] Rename TestingModule to TestingModuleBuilder.
      > 
      > This is a followup to moving the ModuleEnv to the compiler directory and
      > making it immutable.
      > 
      > R=​mtrofin@chromium.org, ahaas@chromium.org
      > 
      > Bug: 
      > Change-Id: I0f5ec1b697bdcfad0b4dc2bca577cc0f40de8dc0
      > Reviewed-on: https://chromium-review.googlesource.com/616762
      > Commit-Queue: Ben Titzer <titzer@chromium.org>
      > Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47419}
      
      TBR=titzer@chromium.org,mtrofin@chromium.org,ahaas@chromium.org
      
      Change-Id: I9b3b379e89f523c2fcf205a1d268aa294bbc44ff
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/622567Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47448}
      3913bde1