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. 30 Apr, 2021 1 commit
  4. 27 Apr, 2020 1 commit
  5. 24 Apr, 2019 1 commit
  6. 23 Apr, 2019 2 commits
  7. 18 Mar, 2019 1 commit
  8. 25 Feb, 2019 1 commit
  9. 12 Dec, 2018 1 commit
  10. 17 Oct, 2018 1 commit
    • Hans Wennborg's avatar
      Remove PersistentContainerCallbackType::kWeak · 63ca293d
      Hans Wennborg authored
      From what I understand, it's been slated for removal for a long time, and
      more accutely, Clang recently started warning about it being shadowed by
      another kWeak enum:
      
      ../../v8/include/v8-profiler.h:369:5: warning: declaration shadows a variable
      in namespace 'v8' [-Wshadow]
          kWeak = 6              // A weak reference (ignored by the GC).
          ^
      ../../v8/include/v8-util.h:29:3: note: previous declaration is here
        kWeak = kWeakWithParameter  // For backwards compatibility.  Deprecate.
        ^
      
      Bug: chromium:895475
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
      Change-Id: I07de1418aea2d68ef5641ece4ab13f71b6d5ec7f
      Reviewed-on: https://chromium-review.googlesource.com/c/1285189Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Hans Wennborg <hans@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56743}
      63ca293d
  11. 16 Oct, 2018 1 commit
  12. 14 Sep, 2018 1 commit
  13. 19 Jan, 2018 1 commit
  14. 13 Oct, 2017 1 commit
  15. 27 Feb, 2017 1 commit
  16. 04 Nov, 2016 1 commit
  17. 28 Sep, 2016 1 commit
  18. 06 May, 2016 1 commit
    • ulan's avatar
      [API] Remove deprecated WeakCallbackData and related functions. · 82dcb2be
      ulan authored
      This removes:
      - PersistentBase::SetWeak that takes WeakCallbackData.
        The embedders should use the version that takes WeakCallbackInfo.
      - PersistentBase::SetPhantom.
        The embedders should SetWeak that takes WeakCallbackInfo.
      
      Functions in DefaultPersistentValueMapTraits are changed to accept
      WeakCallbackInfo instead of WeakCallbackData.
      
      BUG=chromium:609808
      LOG=NO
      
      Review-Url: https://codereview.chromium.org/1953263002
      Cr-Commit-Position: refs/heads/master@{#36079}
      82dcb2be
  19. 15 Apr, 2016 1 commit
  20. 03 Sep, 2015 1 commit
  21. 15 Jul, 2015 1 commit
  22. 22 Apr, 2015 1 commit
  23. 10 Apr, 2015 1 commit
  24. 26 Mar, 2015 1 commit
  25. 24 Mar, 2015 1 commit
  26. 09 Mar, 2015 1 commit
    • dcarney's avatar
      remove phantom naming from the api · 60c1ad02
      dcarney authored
      since the old style weakness is slated for removal, we might as well reuse the name to limit confusion.  additionally I simplified the callback type to a enum to either get internal field values or not
      
      this should be a non-breaking change with the exception of PhantomPersistentValueMap, which is unused.
      
      R=jochen@chromium.org, erikcorry@chromium.org
      
      BUG=
      
      Review URL: https://codereview.chromium.org/989153003
      
      Cr-Commit-Position: refs/heads/master@{#27084}
      60c1ad02
  27. 23 Jan, 2015 1 commit
  28. 10 Jun, 2014 1 commit
  29. 27 May, 2014 1 commit
  30. 09 May, 2014 1 commit
  31. 29 Apr, 2014 1 commit
  32. 02 Apr, 2014 1 commit
  33. 01 Apr, 2014 1 commit
  34. 31 Mar, 2014 1 commit
  35. 28 Mar, 2014 1 commit
    • marja@chromium.org's avatar
      Amend PersistentValueMap: · 6730ec84
      marja@chromium.org authored
      - Use the surrounding map (instead of Traits::Impl) for weak callback.
      - Provide for a fast reference to a mapped value.
      - Restructure Traits to accomondate for the first point above.
      
      [Why?] As discussed, I proceeded to replace Impl with the map.
      The problem I encountered with that version is that now the
      Traits class depends on itself: The weak-related methods require the
      map type in their signature. But the map type includes the Traits class
      and hence the Traits class method signatures depend on the specific Traits class. That
      makes them practically un-derivable: While you can derive a Traits class
      from another one, since the compiler now expects methods with a different
      signature. To accommodate, I pulled the dispose traits into the weak traits
      class. I also removed the Impl*/MapType* parameter from the Dispose call,
      since no implementation seems to need it.
      
      R=dcarney@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/212893007
      
      Patch from Daniel Vogelheim <vogelheim@chromium.org>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      6730ec84
  36. 19 Mar, 2014 1 commit
  37. 18 Mar, 2014 2 commits