1. 01 Oct, 2018 3 commits
  2. 27 Sep, 2018 1 commit
  3. 26 Sep, 2018 3 commits
  4. 25 Sep, 2018 2 commits
  5. 21 Sep, 2018 2 commits
  6. 18 Sep, 2018 1 commit
  7. 17 Sep, 2018 1 commit
  8. 07 Sep, 2018 1 commit
  9. 22 Aug, 2018 1 commit
  10. 17 Aug, 2018 1 commit
  11. 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
  12. 07 Aug, 2018 1 commit
    • Michael Starzinger's avatar
      [wasm] Support concurrent patching of jump table. · 7579b1e3
      Michael Starzinger authored
      This adds initial support for concurrently patching jump table slots. It
      is needed once different Isolates share code (for the --wasm-shared-code
      feature). We need to ensure that instructions holding the target address
      within a jump table slot do not cross cache-line boundaries. To do this,
      the jump table has been split into consecutive pages.
      
      Note that this also adds a stress test for multiple threads hammering at
      a single slot concurrently. The test is currently limited to the ia32
      and the x64 architecture, but will be extended to cover others. The test
      reliably triggers tearing of the target address on almost every run of
      the test and hence serves to prevent regressions.
      
      R=clemensh@chromium.org
      TEST=cctest/test-jump-table-assembler
      BUG=v8:8018
      
      Change-Id: Ife56bbb61ffcae5d8906ca7b8c604b195603707c
      Reviewed-on: https://chromium-review.googlesource.com/1163664
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54942}
      7579b1e3
  13. 01 Aug, 2018 1 commit
  14. 31 Jul, 2018 1 commit
  15. 25 Jul, 2018 1 commit
  16. 20 Jul, 2018 1 commit
    • Michael Starzinger's avatar
      Reland "[wasm] Improve module code size sampling approach." · 35f674cc
      Michael Starzinger authored
      This is a reland of 0f2d22dd
      
      Original change's description:
      > [wasm] Improve module code size sampling approach.
      > 
      > This samples module code sizes at GC time instead of during destruction.
      > It hence makes sure that we also receive samples for long-lived modules
      > which would otherwise die with the Isolate and never be finalized. Note
      > that this approach is still biased and just a stop-gap until we have a
      > sampling tick based on actual wall-clock time.
      > 
      > R=clemensh@chromium.org
      > 
      > Change-Id: I9558d383a5aada8876bc9cbf63baca771dbe5c28
      > Reviewed-on: https://chromium-review.googlesource.com/1141866
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54554}
      
      Change-Id: I1863e94bbe91c89c248ddf8fc700ff91bc3593b2
      Reviewed-on: https://chromium-review.googlesource.com/1143344Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54572}
      35f674cc
  17. 19 Jul, 2018 2 commits
    • Michael Starzinger's avatar
      Revert "[wasm] Improve module code size sampling approach." · 9665e4ce
      Michael Starzinger authored
      This reverts commit 0f2d22dd.
      
      Reason for revert: Caused a race discovered by TSAN.
      
      Original change's description:
      > [wasm] Improve module code size sampling approach.
      > 
      > This samples module code sizes at GC time instead of during destruction.
      > It hence makes sure that we also receive samples for long-lived modules
      > which would otherwise die with the Isolate and never be finalized. Note
      > that this approach is still biased and just a stop-gap until we have a
      > sampling tick based on actual wall-clock time.
      > 
      > R=​clemensh@chromium.org
      > 
      > Change-Id: I9558d383a5aada8876bc9cbf63baca771dbe5c28
      > Reviewed-on: https://chromium-review.googlesource.com/1141866
      > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
      > Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
      > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54554}
      
      TBR=ulan@chromium.org,mstarzinger@chromium.org,clemensh@chromium.org
      
      Change-Id: Ie1fc99ad0ef36b30a73cc464808ce7679a0f15df
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/1143284Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54557}
      9665e4ce
    • Michael Starzinger's avatar
      [wasm] Improve module code size sampling approach. · 0f2d22dd
      Michael Starzinger authored
      This samples module code sizes at GC time instead of during destruction.
      It hence makes sure that we also receive samples for long-lived modules
      which would otherwise die with the Isolate and never be finalized. Note
      that this approach is still biased and just a stop-gap until we have a
      sampling tick based on actual wall-clock time.
      
      R=clemensh@chromium.org
      
      Change-Id: I9558d383a5aada8876bc9cbf63baca771dbe5c28
      Reviewed-on: https://chromium-review.googlesource.com/1141866Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54554}
      0f2d22dd
  18. 13 Jul, 2018 1 commit
  19. 10 Jul, 2018 1 commit
  20. 09 Jul, 2018 3 commits
  21. 06 Jul, 2018 1 commit
    • Clemens Hammacher's avatar
      [wasm] Share code of js-to-wasm wrappers · 81548524
      Clemens Hammacher authored
      Instead of creating a separate code object per exported function, we
      can share the code per signature, and load the function index from the
      {WasmExportedFunction} object which is being passed as an argument
      anyway.
      This greatly reduces instantiation time for modules with a lot of
      exports.
      As a next step, we could even share the code across instances, or (with
      more work) across isolates.
      
      R=mstarzinger@chromium.org
      
      Bug: chromium:860491
      Change-Id: I6438065b2de0df59dce980fb52408a0f475144b3
      Reviewed-on: https://chromium-review.googlesource.com/1127660
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54299}
      81548524
  22. 05 Jul, 2018 1 commit
  23. 02 Jul, 2018 1 commit
  24. 29 Jun, 2018 1 commit
  25. 28 Jun, 2018 3 commits
  26. 27 Jun, 2018 4 commits