1. 26 Nov, 2018 2 commits
  2. 20 Nov, 2018 2 commits
  3. 16 Nov, 2018 1 commit
  4. 12 Nov, 2018 2 commits
  5. 29 Oct, 2018 1 commit
  6. 25 Oct, 2018 1 commit
  7. 23 Oct, 2018 1 commit
    • Clemens Hammacher's avatar
      [wasm] Do not store ModuleEnv · 9716f689
      Clemens Hammacher authored
      Instead, create it when needed and pass it down to the actual
      compilation.
      This saves memory by making the WasmCompilationUnit smaller and will
      eventually allow us to implement the trap handler fallback correctly by
      using an updated ModuleEnv in background compilation and tier up.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:5277, v8:8343
      Change-Id: I0dc3a37fb88e54eb4822dc99d58ff024f4b2a367
      Reviewed-on: https://chromium-review.googlesource.com/c/1293953
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56896}
      9716f689
  8. 19 Oct, 2018 1 commit
  9. 16 Oct, 2018 1 commit
  10. 05 Oct, 2018 1 commit
  11. 02 Oct, 2018 1 commit
  12. 21 Sep, 2018 1 commit
  13. 14 Sep, 2018 1 commit
  14. 14 Aug, 2018 1 commit
    • Andreas Haas's avatar
      Reland "[wasm] Implement the new API for WebAssembly.instantiateStreaming" · 3e545e40
      Andreas Haas authored
      The problem was that in AsyncCompileJob::FinishModule we allocate a
      handle, but when this function is called from streaming compilation, then
      there was no HandleScope around AsyncCompileJob::FinishModule. This issue
      was fixed in another CL, https://crrev.com/c/1172357. This CL is just a
      rebase of the original CL.
      
      Original change's description:
      > [wasm] Implement the new API for WebAssembly.instantiateStreaming
      
      > This is the second V8 CL to refactor WebAssembly.instantiateStreaming to
      > make it spec compliant again. The design doc where the whole change is
      > discussed is available in the tracking bug. The tracking bug also
      > references prototype implementations of the whole change, which includes
      > the changes in this CL.
      
      R=starzinger@chromium.org
      
      Bug: chromium:860637
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: Ib0cb25488654d2b325b4f529d33b76b846c64436
      Reviewed-on: https://chromium-review.googlesource.com/1172429Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55106}
      3e545e40
  15. 09 Aug, 2018 1 commit
    • Ben L. Titzer's avatar
      [wasm] Add WasmFeatures to enable/detect features · 6aa2a253
      Ben L. Titzer authored
      This CL introduces a set of configuration options implemented as
      a struct of booleans that together comprise the set of enabled
      or detected features. The configuration options replace command-line
      flags that were checked deep in the implementation. As such, it is
      necessary to plumb them through multiple levels of abstraction.
      
      R=ahaas@chromium.org
      CC=mstarzinger@chromium.org
      BUG=chromium:868844
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: I1b82f5826e4fd263f68e8cafcd923bac5818a637
      Reviewed-on: https://chromium-review.googlesource.com/1163670Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55018}
      6aa2a253
  16. 06 Aug, 2018 1 commit
  17. 02 Aug, 2018 2 commits
    • Andreas Haas's avatar
      Revert "[wasm] Implement the new API for WebAssembly.instantiateStreaming" · fea9300d
      Andreas Haas authored
      This reverts commit b556c9ea.
      
      Reason for revert: Flakes in layout tests: https://crbug.com/870187
      
      Original change's description:
      > [wasm] Implement the new API for WebAssembly.instantiateStreaming
      > 
      > This is the second V8 CL to refactor WebAssembly.instantiateStreaming to
      > make it spec compliant again. The design doc where the whole change is
      > discussed is available in the tracking bug. The tracking bug also
      > references prototype implementations of the whole change, which includes
      > the changes in this CL.
      > 
      > R=​mstarzinger@chromium.org
      > 
      > Bug: chromium:860637
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      > Change-Id: I776c0f24959ab5663727d3dfee0248a9b0642a42
      > Reviewed-on: https://chromium-review.googlesource.com/1143187
      > Commit-Queue: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54834}
      
      TBR=mstarzinger@chromium.org,ahaas@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:860637
      Change-Id: Icbf2603143068a49c61de162aa7185a753703e5d
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/1160261Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54872}
      fea9300d
    • Florian Sattler's avatar
      Reland "Applied noexcept to all mctors and massigns" · e2201a44
      Florian Sattler authored
      This is a reland of baa055c7
      
      Original change's description:
      > Applied noexcept to all mctors and massigns
      > 
      > Refactoring the code base to use noexcept for their move constructors and move
      > assignment operators.
      > 
      > Bug: v8:7999
      > 
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: I13d24eddba3bfa601cff26fd680a040cf4e71426
      > Reviewed-on: https://chromium-review.googlesource.com/1152817
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Commit-Queue: Florian Sattler <sattlerf@google.com>
      > Cr-Commit-Position: refs/heads/master@{#54841}
      
      Bug: v8:7999
      Change-Id: I72394e326a4f8da462ee6285511d721440ceb21d
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/1158646Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Florian Sattler <sattlerf@google.com>
      Cr-Commit-Position: refs/heads/master@{#54863}
      e2201a44
  18. 01 Aug, 2018 3 commits
  19. 26 Jul, 2018 1 commit
  20. 25 Jul, 2018 3 commits
  21. 24 Jul, 2018 1 commit
  22. 23 Jul, 2018 1 commit
  23. 19 Jul, 2018 1 commit
    • Andreas Haas's avatar
      [wasm][fuzzer] Do not execute code with potential non-determinism · 8f07a87d
      Andreas Haas authored
      The WebAssembly spec is not fully deterministic: the sign bit of NaN
      can be arbitrary. This sign bit can be observed by several WebAssembly
      opcodes. In the testcase the sign bit of NaN makes the difference
      between terminating code and an infinite loop.
      
      In the libfuzzer fuzzer we have to prevent infinite loops ourselves.
      At the moment we do this by only execute generated code of WebAssembly
      modules for which the interpretation of the code ends in a limited
      number of steps. With the non-determinism described above we cannot
      guarantee the absence of infinite loops with this method. Therefore
      we stop now to execute generated code of WebAssembly modules for which
      we observe possible non-determinism in the interpreter.
      
      R=clemensh@chromium.org
      
      Bug: chromium:863829
      Change-Id: I461d67df87d672bed25d6c915ba7ea5134cb5890
      Reviewed-on: https://chromium-review.googlesource.com/1141945Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54541}
      8f07a87d
  24. 17 Jul, 2018 1 commit
  25. 16 Jul, 2018 1 commit
  26. 13 Jul, 2018 2 commits
  27. 12 Jul, 2018 2 commits
  28. 06 Jul, 2018 1 commit
  29. 05 Jul, 2018 1 commit
    • Andreas Haas's avatar
      [wasm][fuzzer] Do not execute modules with start function · df41fa7a
      Andreas Haas authored
      In the WebAssembly fuzzers we detect infinite loops with the
      interpreter: if the interpreter does not finish after a finite number
      of steps, we do not execute the compiled code. However, we cannot
      redirect the start function to the interpreter in the fuzzer, and
      therefore we cannot detect infinite loops in the start function. With
      this CL we avoid the problem completely by not instantiating a module
      in the fuzzer which has a start function. Note that the module still
      gets compiled.
      
      R=clemensh@chromium.org
      
      Bug: chromium:858914
      Change-Id: Icbbe9a003544918d5267cdd1d9405b21bb681133
      Reviewed-on: https://chromium-review.googlesource.com/1126766
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54246}
      df41fa7a
  30. 03 Jul, 2018 1 commit