1. 13 Aug, 2020 1 commit
  2. 30 Jul, 2020 1 commit
    • Dan Elphick's avatar
      [platform] Add SharedMemory allocation and mapping · c1c38e19
      Dan Elphick authored
      This adds new methods AllocateSharedPages, ReserveForSharedMemoryMapping
      and CanAllocateSharedPages to v8::PageAllocator, which if overridden
      allows the platform to declare that it supports allocation and remapping
      of shared memory.
      
      This interface is currently a work in progress so the new methods are
      marked "INTERNAL ONLY" and they may change without being first
      deprecated.
      
      An implementation of PageAllocator is provided that can allocate and map
      shared memory on Linux and Android, but no other platforms are yet
      supported. While Windows is not supported the interface has been
      designed to make this possible as AllocateSharedPages returns a
      SharedMemory object that wraps the shared memory and provides its own
      remap function. This should allow the SharedMemory object on windows to
      contain a mapping a to hFileMappingObject as required by
      MapViewOfFileEx.
      
      Bug: v8:10454
      Change-Id: I2e601d49ea14da44867a102c823fa4e341cf0dab
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306789Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#69154}
      c1c38e19
  3. 23 Jul, 2020 1 commit
  4. 20 Jul, 2020 1 commit
  5. 23 Jun, 2020 1 commit
  6. 27 Apr, 2020 1 commit
  7. 24 Apr, 2020 1 commit
  8. 17 Apr, 2020 1 commit
  9. 24 Jan, 2020 1 commit
  10. 08 Jan, 2020 1 commit
  11. 21 Oct, 2019 1 commit
  12. 14 Oct, 2019 1 commit
  13. 09 Oct, 2019 1 commit
    • Clemens Backes's avatar
      [api] Use C++14 [[deprecated]] attribute · 739bee71
      Clemens Backes authored
      Since C++14, there is a spec'ed attribute for deprecation of methods,
      functions, types, aliases or anything else.
      This CL switches from the GCC __attribute__ to this standard attribute.
      This allows to use the V8_DEPRECATED and V8_DEPRECATE_SOON macros on
      anything where the standard attribute can be used (including {using}
      statements that were not working before). It also avoids the need to
      nest the whole declaration in the macro, making the code more readable.
      
      R=adamk@chromium.org
      
      Bug: v8:9810
      Change-Id: I7adab7694af75423fb31ade2fc982dbf9c9bc699
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847361Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#64174}
      739bee71
  14. 13 Aug, 2019 1 commit
  15. 08 Jul, 2019 1 commit
  16. 13 May, 2019 1 commit
  17. 19 Feb, 2019 1 commit
  18. 08 Feb, 2019 1 commit
  19. 14 Jan, 2019 1 commit
  20. 22 Oct, 2018 2 commits
  21. 10 Oct, 2018 1 commit
  22. 05 Oct, 2018 1 commit
    • Andreas Haas's avatar
      [api][cleanup] Mark Call*OnForegroundThread as V8_DEPRECATE_SOON · 3f8c6e01
      Andreas Haas authored
      These functions got replaced the the taskrunner API. The new way to
      post tasks is as follows:
      
      v8::Platform* platform = ...; // e.g. V8::GetCurrentPlatform();
      v8::Isolate* = ...;
      
      std::shared_ptr<v8::TaskRunner> taskrunner = platform->GetForegroundTaskRunner(isolate);
      std::unique_ptr<v8::Task> task = ...;
      
      taskrunner->PostTask(std::move(task));
      
      R=ulan@chromium.org
      
      Bug: v8:8238
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: I44a70fc530daae581ee31e54fd09e776ba648406
      Reviewed-on: https://chromium-review.googlesource.com/c/1261936Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56400}
      3f8c6e01
  23. 16 May, 2018 1 commit
  24. 03 May, 2018 1 commit
  25. 30 Apr, 2018 2 commits
  26. 17 Apr, 2018 1 commit
  27. 26 Mar, 2018 1 commit
  28. 01 Mar, 2018 4 commits
  29. 24 Jan, 2018 1 commit
    • Michael Starzinger's avatar
      Revert "[platform] Remove {PageAllocator::kReadWriteExecute}." · db7bdf48
      Michael Starzinger authored
      This reverts commit bf19e60c.
      
      Reason for revert: Two issues discovered with W^X in V8's 6.5 branch (see v8:7272 and chromium:793428). Still need a way to disable the feature.
      
      Original change's description:
      > [platform] Remove {PageAllocator::kReadWriteExecute}.
      > 
      > Now that write-protection of code memory is enabled everywhere and V8 is
      > fully W^X compliant, we can remove the permission mode in question.
      > 
      > R=​hpayer@chromium.org
      > BUG=v8:6792
      > 
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I80fe95ac6bb0e2d1ad6d993154ce45d492d941be
      > Reviewed-on: https://chromium-review.googlesource.com/866855
      > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Hannes Payer <hpayer@chromium.org>
      > Reviewed-by: Bill Budge <bbudge@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#50770}
      
      TBR=bbudge@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: v8:6792
      Change-Id: If4a205497ac83084a4092560363affb13b391462
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/883461Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#50834}
      db7bdf48
  30. 22 Jan, 2018 1 commit
  31. 12 Jan, 2018 1 commit
  32. 22 Dec, 2017 1 commit
  33. 21 Dec, 2017 1 commit
  34. 14 Nov, 2017 1 commit
    • Andreas Haas's avatar
      [platform] Return task runners as shared_ptr · 98c40a4b
      Andreas Haas authored
      At the moment, task runners are returned as unique_ptr. This is
      inconvenient, however. In all implementations I did, the platform holds
      a shared pointer of the task runner and wraps it in a wrapper class just
      to return it as a unique_ptr. With this CL the platform API is changed
      to return a shared_ptr directly.
      
      R=rmcilroy@chromium.org
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: Ide278db855199ea239ad0ae14d97fd17349dac8c
      Reviewed-on: https://chromium-review.googlesource.com/768867
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49366}
      98c40a4b
  35. 30 Oct, 2017 1 commit
    • Andreas Haas's avatar
      [platform] Add TaskRunner to the platform API · c690f54d
      Andreas Haas authored
      With the existing platform API it is not possible to post foreground
      tasks from background tasks. This is, however, required to implement
      asynchronous compilation for WebAssembly. With this CL we add the
      concept of a TaskRunner to the platform API. The TaskRunner contains
      all data needed to post a foreground task and can be used both from a
      foreground task and a background task. Eventually the TaskRunner should
      replace the existing API.
      
      In addition, this CL contains a default implementation of the
      TaskRunner. This implementation has tempory workaround for platforms
      which do not provide a TaskRunner implementation yet. This default
      implementation should be deleted again when all platforms provide a
      TaskRunner implementation.
      
      R=rmcilroy@chromium.org
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I6ea4a1c9da1eb9a19e8ce8f2163000dbc2598802
      Reviewed-on: https://chromium-review.googlesource.com/741588
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49041}
      c690f54d