1. 21 Jun, 2019 1 commit
  2. 08 Jun, 2019 1 commit
  3. 28 May, 2019 1 commit
  4. 24 May, 2019 3 commits
  5. 23 May, 2019 3 commits
  6. 22 May, 2019 1 commit
  7. 21 May, 2019 1 commit
  8. 14 May, 2019 1 commit
  9. 13 May, 2019 3 commits
  10. 09 May, 2019 1 commit
  11. 07 May, 2019 2 commits
  12. 03 May, 2019 2 commits
  13. 29 Apr, 2019 1 commit
    • Clemens Hammacher's avatar
      [cleanup] Use Vector::begin instead of Vector::start · 4b0f9c85
      Clemens Hammacher authored
      Our {Vector} template provides both {start} and {begin} methods. They
      return exactly the same value. Since the {begin} method is needed for
      iteration, and is also what standard containers provide, this CL
      switches all uses of the {start} method to use {begin} instead.
      
      Patchset 1 was auto-generated by using this clang AST matcher:
          callExpr(
              callee(
                cxxMethodDecl(
                  hasName("start"),
                  ofClass(hasName("v8::internal::Vector")))
              ),
              argumentCountIs(0))
      
      Patchset 2 was created by running clang-format. Patchset 3 then
      removes the now unused {Vector::start} method.
      
      R=jkummerow@chromium.org
      TBR=mstarzinger@chromium.org,yangguo@chromium.org,verwaest@chromium.org
      
      Bug: v8:9183
      Change-Id: Id9f01c92870872556e2bb3f6d5667463b0e3e5c6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587381Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61081}
      4b0f9c85
  14. 25 Apr, 2019 1 commit
  15. 15 Apr, 2019 1 commit
  16. 09 Apr, 2019 1 commit
  17. 05 Apr, 2019 1 commit
  18. 03 Apr, 2019 3 commits
  19. 02 Apr, 2019 2 commits
  20. 01 Apr, 2019 2 commits
  21. 29 Mar, 2019 1 commit
  22. 21 Mar, 2019 1 commit
    • Andreas Haas's avatar
      Reland: [wasm][anyref] Add support of call-indirect for multiple tables · 2d9ec0a4
      Andreas Haas authored
      The reason for the revert was that Liftoff did not bail out on indirect
      calls to tables other than table 0. Whenever the Liftoff code got
      executed, the test would fail.
      
      Original message:
      With this CL it is possible to use any anyfunc table in call-indirect,
      not just the first table.
      
      The current implementation is based on runtime calls. This is just an
      initial implementation which should be replaced by a
      dispatch-table-based eventually. However, this implementation allows
      us to move forward with the anyref proposal implementation.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:7581
      Change-Id: Iedd56ee7acb281441bca32ffd3dc7157203ee1ac
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532072
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Auto-Submit: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60382}
      2d9ec0a4
  23. 20 Mar, 2019 4 commits
    • Clemens Hammacher's avatar
      [wasm] Split adding code from publishing it · 25d8a157
      Clemens Hammacher authored
      This prepares a refactoring to add and publish compilation results in
      batches. For this, we need to separate the two phases, so that we can
      lock the module, allocate all the code space, release the lock, copy
      the code, lock the module, publish the code, and release the lock
      again.
      In particular, this CL does the following:
      1) It removes the {AddOwnedCode} method. The functionality of creating
         the {WasmCode} and memcpy'ing the instruction into that is done in
         the other {Add*Code} methods. Adding to {owned_code_} is done in
         {PublishCode}.
      2) {PublishInterpreterEntry} is now functionally equivalent to
         {PublishCode}, so it's removed.
      3) After {AddCode}, the caller has to call {PublishCode}. In a
         follow-up CL, this will be called in batches (first {AddCode} them
         all, then {PublishCode} them all).
      4) {AddCompiledCode} now assumes that the {WasmCompilationResult}
         succeeded. Otherwise, the caller should directly call {SetError} on
         the {CompilationState}.
      5) {PublishCode} is now the chokepoint for installing code to the code
         table, the owned code vector, the jump table, and setting interpreter
         redirections. It replaces previous direct calls to {InstallCode} or
         explicitly adding to {owned_code_}.
      6) Increasing the {generated_code_size_} counter is now done in
         {AllocateForCode}, which is the chokepoint for allocating space for
         generated code. This way, we will only increase this counter once
         once we allocate in batches.
      
      R=titzer@chromium.org
      
      Bug: v8:8916
      Change-Id: I71e02e3a838f21797915cee3ebd373804fb12237
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1530817
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60369}
      25d8a157
    • Andreas Haas's avatar
      Revert "[wasm][anyref] Add support of call-indirect for multiple tables" · c808b934
      Andreas Haas authored
      This reverts commit 9d167f57.
      
      Reason for revert: There is a crash on https://ci.chromium.org/p/v8/builders/ci/V8%20Win32/20026
      
      Original change's description:
      > [wasm][anyref] Add support of call-indirect for multiple tables
      > 
      > With this CL it is possible to use any anyfunc table in call-indirect,
      > not just the first table.
      > 
      > The current implementation is based on runtime calls. This is just an
      > initial implementation which should be replaced by a
      > dispatch-table-based eventually. However, this implementation allows
      > us to move forward with the anyref proposal implementation.
      > 
      > R=​mstarzinger@chromium.org
      > 
      > Bug: v8:7581
      > Change-Id: I57d09b18add7f525555bf7c949aef17a64b0e7c5
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1530801
      > Commit-Queue: Andreas Haas <ahaas@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#60360}
      
      TBR=mstarzinger@chromium.org,ahaas@chromium.org
      
      Change-Id: Iba4b84078aa070498be7e79212970b94595f5757
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7581
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532069Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60362}
      c808b934
    • Andreas Haas's avatar
      [wasm][anyref] Add support of call-indirect for multiple tables · 9d167f57
      Andreas Haas authored
      With this CL it is possible to use any anyfunc table in call-indirect,
      not just the first table.
      
      The current implementation is based on runtime calls. This is just an
      initial implementation which should be replaced by a
      dispatch-table-based eventually. However, this implementation allows
      us to move forward with the anyref proposal implementation.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:7581
      Change-Id: I57d09b18add7f525555bf7c949aef17a64b0e7c5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1530801
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60360}
      9d167f57
    • Frederik Gossen's avatar
      [wasm-hint] Unit Test for Wasm Compilation Hints Decoder · af70a503
      Frederik Gossen authored
      This is just one small unit test for now. As we expect to adapt the
      encoding this is more of an exercise than exhaustive testing.
      
      Bug: v8:9003
      
      Change-Id: I8f59043c3f7acbb6169254ec6d6ae13251d1054f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526010
      Commit-Queue: Frederik Gossen <frgossen@google.com>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60358}
      af70a503
  24. 18 Mar, 2019 1 commit
  25. 13 Mar, 2019 1 commit
    • Clemens Hammacher's avatar
      [wasm] Keep NativeModule alive in BackgroundCompileScope · 3df442d7
      Clemens Hammacher authored
      We need to ensure that the NativeModule stays alive while any
      {BackgroundCompileScope} exists, because during that time we hold
      shared ownership of the mutex in the {BackgroundCompileToken}. If the
      {NativeModule} dies during that period, we would need to get exclusive
      ownership of the mutex and deadlock.
      
      This change requires holding a {std::weak_ptr<NativeModule>} in the
      BackgroundCompileToken instead of a raw pointer, hence it can only be
      initialized after the NativeModule was created. This is done via a
      separate {InitCompilationState} method.
      
      R=ahaas@chromium.org
      
      Bug: v8:8979
      Change-Id: Ia14bd272ea0bc47aec547024da6020608418c9d2
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518178
      Auto-Submit: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60203}
      3df442d7