1. 24 Aug, 2021 1 commit
    • Dan Elphick's avatar
      Reland "[include] Split out v8.h" · ec06bb6c
      Dan Elphick authored
      This is a reland of d1b27019
      
      Fixes include:
      Adding missing file to bazel build
      Forward-declaring classing before friend-classing them to fix win/gcc
      Add missing v8-isolate.h include for vtune builds
      
      Original change's description:
      > [include] Split out v8.h
      >
      > This moves every single class/function out of include/v8.h into a
      > separate header in include/, which v8.h then includes so that
      > externally nothing appears to have changed.
      >
      > Every include of v8.h from inside v8 has been changed to a more
      > fine-grained include.
      >
      > Previously inline functions defined at the bottom of v8.h would call
      > private non-inline functions in the V8 class. Since that class is now
      > in v8-initialization.h and is rarely included (as that would create
      > dependency cycles), this is not possible and so those methods have been
      > moved out of the V8 class into the namespace v8::api_internal.
      >
      > None of the previous files in include/ now #include v8.h, which means
      > if embedders were relying on this transitive dependency then it will
      > give compile failures.
      >
      > v8-inspector.h does depend on v8-scripts.h for the time being to ensure
      > that Chrome continue to compile but that change will be reverted once
      > those transitive #includes in chrome are changed to include it directly.
      >
      > Full design:
      > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing
      >
      > Bug: v8:11965
      > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#76424}
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_vtunejit
      Bug: v8:11965
      Change-Id: I99f5d3a73bf8fe25b650adfaf9567dc4e44a09e6
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113629Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76460}
      ec06bb6c
  2. 23 Aug, 2021 2 commits
    • Dan Elphick's avatar
      Revert "[include] Split out v8.h" · 44fe02ce
      Dan Elphick authored
      This reverts commit d1b27019.
      
      Reason for revert: Broke vtune build, tsan build and possibly others
      
      Original change's description:
      > [include] Split out v8.h
      >
      > This moves every single class/function out of include/v8.h into a
      > separate header in include/, which v8.h then includes so that
      > externally nothing appears to have changed.
      >
      > Every include of v8.h from inside v8 has been changed to a more
      > fine-grained include.
      >
      > Previously inline functions defined at the bottom of v8.h would call
      > private non-inline functions in the V8 class. Since that class is now
      > in v8-initialization.h and is rarely included (as that would create
      > dependency cycles), this is not possible and so those methods have been
      > moved out of the V8 class into the namespace v8::api_internal.
      >
      > None of the previous files in include/ now #include v8.h, which means
      > if embedders were relying on this transitive dependency then it will
      > give compile failures.
      >
      > v8-inspector.h does depend on v8-scripts.h for the time being to ensure
      > that Chrome continue to compile but that change will be reverted once
      > those transitive #includes in chrome are changed to include it directly.
      >
      > Full design:
      > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing
      >
      > Bug: v8:11965
      > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Commit-Queue: Dan Elphick <delphick@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#76424}
      
      Bug: v8:11965
      Change-Id: Id57313ae992e720c8b19abc975cd69729e1344aa
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113627
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Owners-Override: Leszek Swirski <leszeks@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76428}
      44fe02ce
    • Dan Elphick's avatar
      [include] Split out v8.h · d1b27019
      Dan Elphick authored
      This moves every single class/function out of include/v8.h into a
      separate header in include/, which v8.h then includes so that
      externally nothing appears to have changed.
      
      Every include of v8.h from inside v8 has been changed to a more
      fine-grained include.
      
      Previously inline functions defined at the bottom of v8.h would call
      private non-inline functions in the V8 class. Since that class is now
      in v8-initialization.h and is rarely included (as that would create
      dependency cycles), this is not possible and so those methods have been
      moved out of the V8 class into the namespace v8::api_internal.
      
      None of the previous files in include/ now #include v8.h, which means
      if embedders were relying on this transitive dependency then it will
      give compile failures.
      
      v8-inspector.h does depend on v8-scripts.h for the time being to ensure
      that Chrome continue to compile but that change will be reverted once
      those transitive #includes in chrome are changed to include it directly.
      
      Full design:
      https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing
      
      Bug: v8:11965
      Change-Id: I53b84b29581632710edc80eb11f819c2097a2877
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Dan Elphick <delphick@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#76424}
      d1b27019
  3. 16 Aug, 2021 1 commit
  4. 20 Jul, 2021 2 commits
    • Clemens Backes's avatar
      Reland "[traphandler] Add simulator support" · 180a8ca8
      Clemens Backes authored
      This is a reland of 431fff66.
      The fix is in BUILD.gn: We need to also include chromeos, which is a
      linux target which is not covered by "is_linux" in gn.
      
      R=ahaas@chromium.org
      
      Original change's description:
      > [traphandler] Add simulator support
      >
      > This prepares the trap handler to support being used from simulators.
      > Modifications to the arm64 simulator will be done in a follow-up CL. For
      > now, the trap handler will be registered but not used in Wasm (we emit
      > explicit bounds checks instead, as before).
      >
      > The implementation uses inline assembly, so it is only available on x64
      > POSIX systems for now. This is the main platform we use for testing and
      > for fuzzing, so it should give us the test coverage we need. If needed,
      > inline assembly for other platforms can be added later.
      > The new code will be executed by the existing arm64 simulator bots, e.g.
      > "V8 Linux - arm64 - sim".
      >
      > R=ahaas@chromium.org, mseaborn@chromium.org
      >
      > Bug: v8:11955
      > Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#75780}
      
      Bug: v8:11955
      Change-Id: I8af39dea5b2cd3fa5418170a458832b3d6075107
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3040844
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Auto-Submit: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75809}
      180a8ca8
    • Clemens Backes's avatar
      Revert "[traphandler] Add simulator support" · 08581343
      Clemens Backes authored
      This reverts commit 431fff66.
      
      Reason for revert: Causes link error in chrome: https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Builder/24667/overview
      
      Original change's description:
      > [traphandler] Add simulator support
      >
      > This prepares the trap handler to support being used from simulators.
      > Modifications to the arm64 simulator will be done in a follow-up CL. For
      > now, the trap handler will be registered but not used in Wasm (we emit
      > explicit bounds checks instead, as before).
      >
      > The implementation uses inline assembly, so it is only available on x64
      > POSIX systems for now. This is the main platform we use for testing and
      > for fuzzing, so it should give us the test coverage we need. If needed,
      > inline assembly for other platforms can be added later.
      > The new code will be executed by the existing arm64 simulator bots, e.g.
      > "V8 Linux - arm64 - sim".
      >
      > R=​ahaas@chromium.org, mseaborn@chromium.org
      >
      > Bug: v8:11955
      > Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Andreas Haas <ahaas@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#75780}
      
      Bug: v8:11955
      Change-Id: I74d2e41864fc515bd9727898f12ec1498b97ee62
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3040839
      Auto-Submit: Clemens Backes <clemensb@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#75798}
      08581343
  5. 19 Jul, 2021 1 commit
    • Clemens Backes's avatar
      [traphandler] Add simulator support · 431fff66
      Clemens Backes authored
      This prepares the trap handler to support being used from simulators.
      Modifications to the arm64 simulator will be done in a follow-up CL. For
      now, the trap handler will be registered but not used in Wasm (we emit
      explicit bounds checks instead, as before).
      
      The implementation uses inline assembly, so it is only available on x64
      POSIX systems for now. This is the main platform we use for testing and
      for fuzzing, so it should give us the test coverage we need. If needed,
      inline assembly for other platforms can be added later.
      The new code will be executed by the existing arm64 simulator bots, e.g.
      "V8 Linux - arm64 - sim".
      
      R=ahaas@chromium.org, mseaborn@chromium.org
      
      Bug: v8:11955
      Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75780}
      431fff66
  6. 27 Apr, 2021 1 commit
  7. 09 Feb, 2021 1 commit
  8. 26 Sep, 2019 1 commit
  9. 24 May, 2019 1 commit
  10. 03 May, 2019 1 commit
  11. 19 Feb, 2019 1 commit
  12. 30 Oct, 2018 1 commit
  13. 29 Oct, 2018 11 commits
  14. 21 Sep, 2018 1 commit
  15. 08 Aug, 2018 1 commit
  16. 03 Aug, 2018 3 commits
  17. 02 Aug, 2018 3 commits
  18. 01 Aug, 2018 1 commit
  19. 31 Jul, 2018 2 commits
  20. 30 Jul, 2018 4 commits