1. 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
  2. 23 Jul, 2021 1 commit
  3. 20 Jan, 2021 1 commit
    • Simon Zünd's avatar
      Forward exceptions while using DebugPropertyIterator · af7e6893
      Simon Zünd authored
      The V8 inspector is using the DebugPropertyIterator (a debug only
      interface) while building RemoteObjects. The DebugPropertyIterator
      uses the `KeyAccumulator::GetKeys` for this, which can potentially
      throw, but the DebugPropertyIterator ignores exceptions and keeps
      iterating. If multiple iteration steps throw an exception
      (e.g. due to a pending stack overflow), we run into a CHECK in
      Isolate::Throw, as we can't throw exceptions while another
      exception is still pending.
      
      This CL fixes the CHECK crash by properly propagating exceptions
      after the iterator is created or advanced and returning early
      in the inspector if an exception happens.
      
      Please note that the regression test that showcases this behavior
      is still disabled, as fixing the crash causes currently an
      endless loop. While the exception in `ValueMirror::getProperties`
      is handled by early returing, we still need to forward it as
      the result of the `Runtime::evaluate` all the way up the stack.
      
      R=bmeurer@chromium.org, yangguo@chromium.org
      
      Bug: chromium:1080638
      Change-Id: I1d55e0d70490a06a6bc1b0a3525236411da7f64b
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639954Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Simon Zünd <szuend@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72203}
      af7e6893
  4. 18 Nov, 2020 1 commit
  5. 10 Jan, 2020 1 commit
  6. 23 May, 2019 1 commit
  7. 22 May, 2019 1 commit
  8. 20 May, 2019 1 commit
  9. 31 Oct, 2018 2 commits
    • Alexey Kozyatinskiy's avatar
      reland: inspector: move injected script source to native · ebd070ec
      Alexey Kozyatinskiy authored
      - introduced ValueMirror interface, this interface contains methods to generate
        different protocol entities,
      - introduced DebugPropertyIterator, this iterator iterates through object properties
        in the following order: exotic indices, enumerable strings, all other properties,
      - removed all injected script infra, e.g. closure compiler,
      
      R=dgozman@chromium.org
      TBR=yangguo@chromium.org
      
      Bug: chromium:595206
      Change-Id: I030fdb3a80074ca6edd4749f86b39b590776ae6f
      Reviewed-on: https://chromium-review.googlesource.com/c/1310056Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57181}
      ebd070ec
    • Aleksey Kozyatinskiy's avatar
      Revert "inspector: move injected script source to native" · fc5c8d7f
      Aleksey Kozyatinskiy authored
      This reverts commit 7e079c66.
      
      Reason for revert: native implementation should be ready for navigation.
      
      Original change's description:
      > inspector: move injected script source to native
      > 
      > - introduced ValueMirror interface, this interface contains methods to generate
      >   different protocol entities,
      > - introduced DebugPropertyIterator, this iterator iterates through object properties
      >   in the following order: exotic indices, enumerable strings, all other properties,
      > - removed all injected script infra, e.g. closure compiler,
      > 
      > R=​dgozman@chromium.org
      > TBR=yangguo@chromium.org
      > 
      > Bug: chromium:595206
      > Change-Id: Idcfc04489ee52e015ad1d1d191c3474cc65e63f2
      > Reviewed-on: https://chromium-review.googlesource.com/c/1308353
      > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57150}
      
      TBR=dgozman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org
      
      Change-Id: I8c5c61f4cfe5a66cd33eadd02ab4acec539cc3bb
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:595206
      Reviewed-on: https://chromium-review.googlesource.com/c/1310055Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57176}
      fc5c8d7f
  10. 30 Oct, 2018 3 commits
    • Alexey Kozyatinskiy's avatar
      inspector: move injected script source to native · 7e079c66
      Alexey Kozyatinskiy authored
      - introduced ValueMirror interface, this interface contains methods to generate
        different protocol entities,
      - introduced DebugPropertyIterator, this iterator iterates through object properties
        in the following order: exotic indices, enumerable strings, all other properties,
      - removed all injected script infra, e.g. closure compiler,
      
      R=dgozman@chromium.org
      TBR=yangguo@chromium.org
      
      Bug: chromium:595206
      Change-Id: Idcfc04489ee52e015ad1d1d191c3474cc65e63f2
      Reviewed-on: https://chromium-review.googlesource.com/c/1308353Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57150}
      7e079c66
    • Clemens Hammacher's avatar
      Revert "inspector: move injected script source to native" · 192bee6b
      Clemens Hammacher authored
      This reverts commit 34686abe.
      
      Reason for revert: Compile errors on several bots, e.g. https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20debug%20builder/33299
      
      Original change's description:
      > inspector: move injected script source to native
      > 
      > - introduced ValueMirror interface, this interface contains methods to generate
      >   different protocol entities,
      > - introduced DebugPropertyIterator, this iterator iterates through object properties
      >   in the following order: exotic indices, enumerable strings, all other properties,
      > - removed all injected script infra, e.g. closure compiler,
      > 
      > R=​dgozman@chromium.org
      > TBR=yangguo@chromium.org
      > 
      > Bug: chromium:595206
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: I077c1879622aa0d9900d719b80d2ef5ba4221a22
      > Reviewed-on: https://chromium-review.googlesource.com/c/1295550
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57142}
      
      TBR=dgozman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org
      
      Change-Id: I6e4ccaf1d6b151fbc0ffe4f26daa584433321c77
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:595206
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/c/1307432Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57144}
      192bee6b
    • Alexey Kozyatinskiy's avatar
      inspector: move injected script source to native · 34686abe
      Alexey Kozyatinskiy authored
      - introduced ValueMirror interface, this interface contains methods to generate
        different protocol entities,
      - introduced DebugPropertyIterator, this iterator iterates through object properties
        in the following order: exotic indices, enumerable strings, all other properties,
      - removed all injected script infra, e.g. closure compiler,
      
      R=dgozman@chromium.org
      TBR=yangguo@chromium.org
      
      Bug: chromium:595206
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I077c1879622aa0d9900d719b80d2ef5ba4221a22
      Reviewed-on: https://chromium-review.googlesource.com/c/1295550
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57142}
      34686abe