1. 23 Jan, 2019 2 commits
  2. 22 Jan, 2019 1 commit
  3. 17 Jan, 2019 5 commits
    • tzik's avatar
      Use local MicrotaskQueue in unittests · eebdb0f5
      tzik authored
      MicrotaskQueueTest uses Isolate's default_microtask_queue for testing,
      however the instance is shared between test cases, and causes flaky
      failure of MicrotaskQueueTest.BufferGrowth.
      
      This CL adds a MicrotaskQueue instance for each test fixture, so that
      each test cases use separate ones.
      
      Also, this CL removes the DCHECK that denies non-default MicrotaskQueue
      to run, which is unneeded after https://crrev.com/c/1369906.
      
      Bug: v8:8124
      Change-Id: I4ff236c327bf0be14f582b3ca8c802fd72661b42
      Reviewed-on: https://chromium-review.googlesource.com/c/1417315Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58901}
      eebdb0f5
    • Andreas Haas's avatar
      [wasm] Reschedule compilation tasks · 62fa0487
      Andreas Haas authored
      At the moment, the whole WebAssembly compilation may run in a single
      background task. On a low-end device, this can mean that the background
      thread is busy for seconds and thereby blocks other tasks, see e.g.
      https://crbug.com/914757.
      
      With this CL we re-schedule compilation tasks after every 50ms. These
      50ms are an arbitrary number. I don't want to introduce too much
      overhead, but since this is in the background we also don't have to
      make tasks super short.
      
      Tasks which are going to compile with TurboFan will be posted with
      lower priority.
      
      This change requires changes in the CancelableTaskManager. At the
      moment it is not possible that a background task posts a new task
      which is managed by the same task manager as itself. The problem is
      about how to deal with another thread which calls CancelAndWait
      concurrently. At the moment, if a new task gets posted after the call
      to CancelAndWait, then `CHECK(!canceled_)` in
      CancelableTaskManager::Register will fail. If we used a lock to
      synchronize the calls to CancelAndWait and Register, then there would
      be a deadlock, where the thread which calls CancelAndWait waits for
      the task which wants to call Register, but at the same time blocks that
      task by holding the lock.
      
      With the change here, posting a task after the call to CancelAndWait
      will just immediately cancel the new task. This matches the behavior
      you would get if CancelAndWait is called right after calling Register.
      
      Bug: chromium:914757
      Change-Id: I6d57aba161db8a915ec0d745658e0c28d25219a8
      Reviewed-on: https://chromium-review.googlesource.com/c/1411884
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58898}
      62fa0487
    • Junliang Yan's avatar
      PPC/s390: [test] Refactor AllocateAssemblerBuffer · 3ed8675b
      Junliang Yan authored
      Port 1a1f4e1e
      
      Original Commit Message:
      
          Refactor the AllocateAssemblerBuffer helper for the new Assembler API.
          This is the only non-mechanical part, all other callsites that create
          Assembler instances can be trivially changed to the new API. This will
          be done in a separate CL.
      
      R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I8e22f8c2b6c2b1b9158969d28d4edf291a84bcf0
      Reviewed-on: https://chromium-review.googlesource.com/c/1416952
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#58897}
      3ed8675b
    • Ben L. Titzer's avatar
      [utils] Add IsInBounds(index, size, max) helper · e254ec91
      Ben L. Titzer authored
      This CL adds a helper function that simplifies a bounds check pattern
      that appears repeatedly in the code.
      
      R=clemensh@chromium.org
      
      Change-Id: I8c617515b34eb2d262d58a239a29c1515de2d92d
      Reviewed-on: https://chromium-review.googlesource.com/c/1417611
      Commit-Queue: Ben Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58892}
      e254ec91
    • Clemens Hammacher's avatar
      [test] Refactor AllocateAssemblerBuffer · 1a1f4e1e
      Clemens Hammacher authored
      Refactor the AllocateAssemblerBuffer helper for the new Assembler API.
      This is the only non-mechanical part, all other callsites that create
      Assembler instances can be trivially changed to the new API. This will
      be done in a separate CL.
      
      R=mstarzinger@chromium.org
      
      Bug: v8:8689, v8:8562
      Change-Id: I6c150748eeea778d9b70f41fd66fbb1221035a1b
      Reviewed-on: https://chromium-review.googlesource.com/c/1415490
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58881}
      1a1f4e1e
  4. 15 Jan, 2019 2 commits
  5. 14 Jan, 2019 2 commits
  6. 11 Jan, 2019 1 commit
  7. 10 Jan, 2019 5 commits
  8. 09 Jan, 2019 1 commit
  9. 08 Jan, 2019 1 commit
  10. 07 Jan, 2019 2 commits
  11. 26 Dec, 2018 1 commit
  12. 20 Dec, 2018 1 commit
  13. 19 Dec, 2018 2 commits
  14. 17 Dec, 2018 3 commits
  15. 14 Dec, 2018 1 commit
  16. 13 Dec, 2018 1 commit
  17. 12 Dec, 2018 2 commits
  18. 11 Dec, 2018 1 commit
  19. 10 Dec, 2018 1 commit
  20. 07 Dec, 2018 1 commit
  21. 05 Dec, 2018 3 commits
    • Clemens Hammacher's avatar
      [api][wasm] Rename WasmCompiledModule to WasmModuleObject · 16afa0a2
      Clemens Hammacher authored
      A WasmModuleObject represents an instance of WebAssembly.Module. It is
      called WasmModuleObject internally, so also use that name externally.
      
      We still have a typedef for WasmCompiledModule which will be deprecated
      once chromium has been updated to use WasmModuleObject.
      
      R=titzer@chromium.org, adamk@chromium.org
      
      Bug: v8:8238, chromium:912031
      Change-Id: I2d7708d4dc183cb4f4714f741b1ea0c153014430
      Reviewed-on: https://chromium-review.googlesource.com/c/1362048Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58055}
      16afa0a2
    • Andreas Haas's avatar
      [wasm] Load thread-in-wasm flag from the isolate · 148ef606
      Andreas Haas authored
      The existing implementation embedded an isolate-specific pointer to the
      thread-in-wasm flag in the wrapper code. However, when the module code
      is shared among multiple workers, this can mean that the workers
      share the same thread-in-wasm flag.
      
      With this change we load the pointer to the flag at runtime from the
      current isolate. Thereby the correct flag is used even when the same
      code is executed on different workers.
      
      Note that we could access the right flag address by going through the
      root register. However, changing the code generation to use the root
      register requires some inconvenient steps:
      * Pass the isolate to the pipeline again, which we don't want.
      * Change the WasmCallDescriptor to allow the use of the root register
        for wrappers but not for other code.
      To avoid these issues, and allow the CL to be easy to merge back, we
      got for the changes proposed here.
      
      R=mstarzinger@chromium.org, ishell@chromium.org
      
      Bug: v8:8533
      Change-Id: If15565a7ad7cba835cfc1628e7a4d3fdef90a5c0
      Reviewed-on: https://chromium-review.googlesource.com/c/1358518
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58044}
      148ef606
    • Yang Guo's avatar
      Gracefully fail in ValueDeserializer. · cccaa27e
      Yang Guo authored
      Bug: chromium:905940, chromium:907343
      
      R=verwaest@chromium.org
      
      Change-Id: Ibe8f06782f8a0bf9a09832d443e1c66c3bda8399
      Reviewed-on: https://chromium-review.googlesource.com/c/1362046Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#58040}
      cccaa27e
  22. 04 Dec, 2018 1 commit