1. 16 Mar, 2021 1 commit
  2. 09 Nov, 2020 1 commit
  3. 19 Mar, 2020 1 commit
  4. 24 May, 2019 1 commit
  5. 26 Feb, 2019 1 commit
  6. 13 Feb, 2019 1 commit
  7. 01 Feb, 2019 1 commit
    • Clemens Hammacher's avatar
      [wasm] Revise compile error messages · 327fd140
      Clemens Hammacher authored
      This CL revises some of our error messages, and removes unneeded parts
      (like "AsyncCompilation: " or "(null): "). It also extends existing
      tests to check for the precise error message more thoroughly to detect
      changes or nondeterminism earlier.
      
      R=titzer@chromium.org, ahaas@chromium.org
      
      Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
      Bug: chromium:926311
      Change-Id: I1ccfb307d4a61291f4582330152a53fbadd0848f
      Reviewed-on: https://chromium-review.googlesource.com/c/1445897
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59296}
      327fd140
  8. 15 Jan, 2019 1 commit
  9. 11 Dec, 2018 1 commit
  10. 05 Nov, 2018 1 commit
  11. 30 Oct, 2018 1 commit
    • Clemens Hammacher's avatar
      Reland "[wasm] Store compile errors in CompilationState" · 1ff80455
      Clemens Hammacher authored
      This is a reland of bf3d7b9a
      
      Original change's description:
      > [wasm] Store compile errors in CompilationState
      > 
      > We are currently storing compilation errors in the individual
      > compilation units and pass it to the ErrorThrower during finishing.
      > This CL changes that to store errors on the CompilationState directly.
      > From there, it is propagated to the ErrorThrower in the compilation
      > state callback.
      > This removes more work from the finisher task and slims down the
      > WasmCompilationUnits.
      > 
      > R=mstarzinger@chromium.org
      > 
      > Bug: v8:8343, v8:7921
      > Change-Id: Id332add43d4219d2a30fee653ed4e53a9b2698d9
      > Reviewed-on: https://chromium-review.googlesource.com/c/1303720
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57091}
      
      Bug: v8:8343, v8:7921
      Change-Id: Iaa5c89d224cb2bcfca2d12eba305413a9ad95618
      Reviewed-on: https://chromium-review.googlesource.com/c/1304547
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57126}
      1ff80455
  12. 29 Oct, 2018 2 commits
    • Maya Lekova's avatar
      Revert "[wasm] Store compile errors in CompilationState" · dd5c3631
      Maya Lekova authored
      This reverts commit bf3d7b9a.
      
      Reason for revert: Breaks TSAN build, see
      https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux64%20TSAN/23248
      
      Original change's description:
      > [wasm] Store compile errors in CompilationState
      > 
      > We are currently storing compilation errors in the individual
      > compilation units and pass it to the ErrorThrower during finishing.
      > This CL changes that to store errors on the CompilationState directly.
      > From there, it is propagated to the ErrorThrower in the compilation
      > state callback.
      > This removes more work from the finisher task and slims down the
      > WasmCompilationUnits.
      > 
      > R=​mstarzinger@chromium.org
      > 
      > Bug: v8:8343, v8:7921
      > Change-Id: Id332add43d4219d2a30fee653ed4e53a9b2698d9
      > Reviewed-on: https://chromium-review.googlesource.com/c/1303720
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57091}
      
      TBR=mstarzinger@chromium.org,clemensh@chromium.org
      
      Change-Id: Id32c7337494a4749485adbcfcaae7b2331afea66
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8343, v8:7921
      Reviewed-on: https://chromium-review.googlesource.com/c/1304544Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57094}
      dd5c3631
    • Clemens Hammacher's avatar
      [wasm] Store compile errors in CompilationState · bf3d7b9a
      Clemens Hammacher authored
      We are currently storing compilation errors in the individual
      compilation units and pass it to the ErrorThrower during finishing.
      This CL changes that to store errors on the CompilationState directly.
      From there, it is propagated to the ErrorThrower in the compilation
      state callback.
      This removes more work from the finisher task and slims down the
      WasmCompilationUnits.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:8343, v8:7921
      Change-Id: Id332add43d4219d2a30fee653ed4e53a9b2698d9
      Reviewed-on: https://chromium-review.googlesource.com/c/1303720Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57091}
      bf3d7b9a
  13. 23 Oct, 2018 1 commit
  14. 22 Oct, 2018 1 commit
    • Clemens Hammacher's avatar
      [wasm] Turn Result methods into named constructors · 5edf567a
      Clemens Hammacher authored
      This removes the {error} and {verror} methods of {ResultBase} and
      introduces a named constructor {Error} instead. This allows to
      construct an error result in a single expression, and moves {Result}
      closer to a container that is initialized once and is immutable
      afterwards (just the {MoveErrorFrom} method is still violating this
      pattern).
      
      R=titzer@chromium.org
      
      Bug: v8:8238
      Change-Id: Iec16c8c6d66300ee82a48e8a9e941c72ae26e202
      Reviewed-on: https://chromium-review.googlesource.com/c/1293370
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56857}
      5edf567a
  15. 19 Oct, 2018 2 commits
  16. 07 Aug, 2018 1 commit
  17. 02 Aug, 2018 1 commit
  18. 01 Aug, 2018 2 commits
  19. 09 Apr, 2018 1 commit
  20. 02 Feb, 2018 1 commit
  21. 15 Sep, 2017 1 commit
    • Andreas Haas's avatar
      [wasm] Streaming compilation for WebAssembly. · 549692cb
      Andreas Haas authored
      In this CL I implement streaming compilation for WebAssembly,
      as described in the design doc I have sent out already.
      
      In this implementation the decoding of sections other than the
      code section is done immediately on the foreground thread.
      Eventually all decoding should happen in the background. I
      think it is acceptable to do the decoding on the foreground
      thread for now because I have finished it already, and
      decoding in the background would add even more complexity to
      this CL.
      
      Bug:v8:6785
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I285e1e5e1a5a243113c92571b25ee9bae551d0ed
      Reviewed-on: https://chromium-review.googlesource.com/631721Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#48022}
      549692cb
  22. 29 Jun, 2017 1 commit
    • Clemens Hammacher's avatar
      [wasm] Use pending exceptions consistently · d6aed443
      Clemens Hammacher authored
      In our internal code, we should only use pending exceptions. They will
      be converted to scheduled exceptions on the API boundary.
      Hence, the ErrorThrower just sets a pending exception; it should never
      have to think about scheduled exceptions. The new
      ScheduledErrorThrower inherits from ErrorThrower and reschedules any
      pending exceptions in its destructor (turning them into scheduled
      exceptions).
      In some situations, there might already be a scheduled exception, e.g.
      when calling other API methods (v8::Value::Get). In this case, the
      ErrorThrower should also not set another pending exception. For the
      reasons mentioned above, this can only be handled in the
      ScheduledErrorThrower, which is used the API methods.
      
      This fixes one DCHECK failure and one TODO about scheduled exceptions
      if no instance can be created, because the start function throws.
      
      R=mtrofin@chromium.org, mstarzinger@chromium.org
      BUG=v8:6232,chromium:736256
      
      Change-Id: I4905be04c565df9495de18fb26adbb5c05d193d2
      Reviewed-on: https://chromium-review.googlesource.com/548641
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46314}
      d6aed443
  23. 08 May, 2017 1 commit
  24. 03 May, 2017 2 commits
    • Jochen Eisinger's avatar
      Reland "Make unittest link correctly again" · 668246a1
      Jochen Eisinger authored
      This reverts commit 5db25a09.
      
      Original change's description:
      > Make unittest link correctly again
      >
      > Remains to port these fixes over to gyp.
      >
      > R=machenbach@chromium.org, jkummerow@chromium.org, mstarzinger@chromium.org
      > BUG=v8:6325
      >
      > Change-Id: I3bebbc6d0ec52fcb60e3d51acd27e616f51d3dbb
      > Reviewed-on: https://chromium-review.googlesource.com/490108
      > Commit-Queue: Jochen Eisinger <jochen@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#45026}
      
      R=jkummerow@chromium.org
      TBR=mstarzinger@chromium.org,clemensh@chromium.org
      BUG=v8:6325
      
      Change-Id: Ic3c0ffdf1f13045ea5a3929b720908e0b27a11c3
      Reviewed-on: https://chromium-review.googlesource.com/494566Reviewed-by: 's avatarJochen Eisinger <jochen@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Jochen Eisinger <jochen@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45056}
      668246a1
    • Michael Achenbach's avatar
      Revert "Make unittest link correctly again" · 5db25a09
      Michael Achenbach authored
      This reverts commit 0f5ebcca.
      
      Reason for revert: Still blocks rolling:
      https://codereview.chromium.org/2857903002/
      
      Original change's description:
      > Make unittest link correctly again
      > 
      > Remains to port these fixes over to gyp.
      > 
      > R=​machenbach@chromium.org, jkummerow@chromium.org, mstarzinger@chromium.org
      > BUG=v8:6325
      > 
      > Change-Id: I3bebbc6d0ec52fcb60e3d51acd27e616f51d3dbb
      > Reviewed-on: https://chromium-review.googlesource.com/490108
      > Commit-Queue: Jochen Eisinger <jochen@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#45026}
      
      TBR=jkummerow@chromium.org,machenbach@chromium.org,mstarzinger@chromium.org,jochen@chromium.org,clemensh@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:6325
      
      Change-Id: Icb11e6e12cb6c7bd6c68677359596fee740b6531
      Reviewed-on: https://chromium-review.googlesource.com/494467Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45049}
      5db25a09
  25. 02 May, 2017 3 commits
  26. 30 Apr, 2017 1 commit
    • Clemens Hammacher's avatar
      [wasm] Refactor and fix ErrorThrower · e3207836
      Clemens Hammacher authored
      The error thrower did allocate the exception at the moment the error was
      detected. For async compilation, this meant in another step than when
      it was actually thrown. Since the HandleScope of the exception already
      died at that point, this would have lead to memory errors.
      
      With this refactoring, we only store the information needed to generate
      the exception in the ErrorThrower, and only generate the exception
      object once it is actually needed.
      
      With regression test.
      
      R=ahaas@chromium.org, mtrofin@chromium.org
      Also-by: ahaas@chromium.org
      
      Change-Id: Iffcab1f8d1cf5925e3643fcf0729ba9a84c7d277
      Reviewed-on: https://chromium-review.googlesource.com/490085
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45000}
      e3207836
  27. 28 Apr, 2017 1 commit
  28. 11 Apr, 2017 2 commits
    • kmackay's avatar
      Add some missing stdarg includes · f7e76cde
      kmackay authored
      One of our internal Chromecast builds was failing due to undefined
      va_list in wasm-result.h. I also searched for other files where va_list
      was used without including stdarg.h and added it as necessary (since
      include-what-you-use is a thing).
      
      BUG=chromium:706443
      
      Review-Url: https://codereview.chromium.org/2780913002
      Cr-Commit-Position: refs/heads/master@{#44588}
      f7e76cde
    • Clemens Hammacher's avatar
      [wasm] Fix tests and improve error message · b3ff3903
      Clemens Hammacher authored
      The test "assertThrows(builder.instantiate)" threw a TypeError before,
      which made the test pass, but not because of the feature we wanted to
      test.
      This CL fixes the test to call builder.instantiate correctly, and also
      tests for the correct error message.
      
      Drive-by fix: Fix {expected} and {found} parameters in assertThrows.
      
      R=ahaas@chromium.org
      
      Change-Id: I11c0f63885cc14a36559e637aea60a9da6f1bb8f
      Reviewed-on: https://chromium-review.googlesource.com/472886Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44584}
      b3ff3903
  29. 10 Apr, 2017 2 commits
    • Clemens Hammacher's avatar
      [wasm] Refactor wasm::Result type · d50ebde7
      Clemens Hammacher authored
      - Store std::string instead of std::unique_ptr<char[]> for the error
        message.
      - Remove ErrorCode, which was just kSuccess and kError anyway. Error is
        now detected on whether error_msg_ is empty or not.
      - Refactor constructors for perfect forwarding; this will allow us to
        implement Result<std::unique_ptr<X*>>.
      - Refactor Decoder::toResult for perfect forwarding.
      - Remove output operators (operator<<) for Result; it was only used in
        the error case anyway. Print error message directly instead.
        The operator was problematic since it assumed the existence of an
        output operator for every T which is used in Result<T>.
      - Remove ModuleError and FunctionError, introduce general static
        Result<T>::Error method instead.
      
      R=ahaas@chromium.org
      
      Change-Id: I1e0f602a61ee9780fee2a3ed33147d431fb092ba
      Reviewed-on: https://chromium-review.googlesource.com/472748
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44518}
      d50ebde7
    • Andreas Haas's avatar
      [wasm] Refactor the Result object · e313bc17
      Andreas Haas authored
      Instead of storing {start} and {error_pc} we now store the
      {error_offset}, which is anyways the only value we use.
      
      R=clemensh@chromium.org
      
      Change-Id: Ifd9791eff5c9efce2e7e2a1989bf3b5eaa464a02
      Reviewed-on: https://chromium-review.googlesource.com/471527
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44510}
      e313bc17
  30. 05 Apr, 2017 1 commit
    • Clemens Hammacher's avatar
      [wasm] [decoder] Merge checked_read_leb and consume_leb · 02b4d0e6
      Clemens Hammacher authored
      Both methods decoded a LEB128 encoded integer, but only consume_leb
      incremented the pc pointer accordingly.
      This CL implements consume_leb by using checked_read_leb.
      
      It also refactors a few things:
      1) It removes error_pt, which was only avaible in checked_read_leb.
      2) It renames the error method to errorf, since it receives a format
         string. This also avoids a name clash.
      3) It implements sign extension directly in checked_read_leb instead of
         doing this in the caller.
      
      R=ahaas@chromium.org
      BUG=v8:5822
      
      Change-Id: I8058f57418493861e5df26d4949041f6766d5138
      Reviewed-on: https://chromium-review.googlesource.com/467150
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44405}
      02b4d0e6
  31. 20 Jan, 2017 1 commit
  32. 16 Dec, 2016 1 commit