1. 06 Nov, 2018 2 commits
  2. 02 Nov, 2018 2 commits
    • Ross McIlroy's avatar
      Reland "Get BytecodeArray via current frame where possible." · 3530998c
      Ross McIlroy authored
      This is a reland of 7350e7b2
      
      Disabled LayoutTest that was causing issues and will rebaseline once this has rolled.
      
      Original change's description:
      > Get BytecodeArray via current frame where possible.
      >
      > With BytecodeArray flushing the SFI->BytecodeArray pointer will become pseudo weak.
      > Instead of getting the bytecode array from the SFI, get it from the frame instead
      > (which is a strong pointer). Note: This won't actually change behaviour since the
      > fact that the bytecode array was on the frame will retain it strongly, however it
      > makes the contract that the BytecodeArray must exist at these points more explicit.
      >
      > Updates code in runtime-profiler.cc, frames.cc and runtime-test.cc to do this.
      >
      > BUG=v8:8395
      >
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: Id7a3e6857abd0e89bf238e9b0b01de4461df54e1
      > Reviewed-on: https://chromium-review.googlesource.com/c/1310193
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Mythri Alle <mythria@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57198}
      
      TBR=mythria@chromium.org
      
      Bug: v8:8395
      Change-Id: I63044138f876a1cdfb8bb71499732a257f30d29a
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/c/1314336Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57219}
      3530998c
    • Maya Lekova's avatar
      Revert "Get BytecodeArray via current frame where possible." · ea27a244
      Maya Lekova authored
      This reverts commit 7350e7b2.
      
      Reason for revert: Braking layout test, blocking the roll, see
      https://bugs.chromium.org/p/v8/issues/detail?id=8405
      
      Original change's description:
      > Get BytecodeArray via current frame where possible.
      > 
      > With BytecodeArray flushing the SFI->BytecodeArray pointer will become pseudo weak.
      > Instead of getting the bytecode array from the SFI, get it from the frame instead
      > (which is a strong pointer). Note: This won't actually change behaviour since the
      > fact that the bytecode array was on the frame will retain it strongly, however it
      > makes the contract that the BytecodeArray must exist at these points more explicit.
      > 
      > Updates code in runtime-profiler.cc, frames.cc and runtime-test.cc to do this.
      > 
      > BUG=v8:8395
      > 
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: Id7a3e6857abd0e89bf238e9b0b01de4461df54e1
      > Reviewed-on: https://chromium-review.googlesource.com/c/1310193
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Reviewed-by: Mythri Alle <mythria@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57198}
      
      TBR=rmcilroy@chromium.org,mythria@chromium.org
      
      Change-Id: Ie5db0ec1d68ca01d62e9880a4476704ad4d013b5
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8395
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/c/1314330Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57205}
      ea27a244
  3. 01 Nov, 2018 1 commit
    • Ross McIlroy's avatar
      Get BytecodeArray via current frame where possible. · 7350e7b2
      Ross McIlroy authored
      With BytecodeArray flushing the SFI->BytecodeArray pointer will become pseudo weak.
      Instead of getting the bytecode array from the SFI, get it from the frame instead
      (which is a strong pointer). Note: This won't actually change behaviour since the
      fact that the bytecode array was on the frame will retain it strongly, however it
      makes the contract that the BytecodeArray must exist at these points more explicit.
      
      Updates code in runtime-profiler.cc, frames.cc and runtime-test.cc to do this.
      
      BUG=v8:8395
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: Id7a3e6857abd0e89bf238e9b0b01de4461df54e1
      Reviewed-on: https://chromium-review.googlesource.com/c/1310193
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57198}
      7350e7b2
  4. 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
  5. 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
  6. 18 Oct, 2018 1 commit
  7. 12 Oct, 2018 1 commit
    • Sathya Gunasekaran's avatar
      [Class] Fix debug scope iteration for class fields · 230dd86c
      Sathya Gunasekaran authored
      When trying to print the scope information for the class fields
      initializer function, the debugger asks the parser to parse the class
      literal as a function literal (to get the scope info) ... which
      doesn't quite work.
      
      Instead of adding support for parsing the class literal, we just short
      cicruit this parsing step by just returning an empty context.
      
      This works fine because initializer function doesn't have any
      variables in it's local scope.
      
      The one caveat is that the objects in the scope above this function
      (like the global) are now missing. This trade off is possibly fine
      for now, as adding parsing support for class literal to only produce
      would be a lot of code for not enough use.
      
      As a follow up to this change, the devtools UI needs to be updated to
      handle this empty context cleanly. Currently, it doesn't show the
      `this` object if no context exists even if the `this` object is
      correctly passed to the UI from the backend.
      
      Bug: v8:5367, v8:8122
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I52965f26241bbf6abdc988783aa0fc44bb36901f
      Reviewed-on: https://chromium-review.googlesource.com/c/1274268
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56611}
      230dd86c
  8. 10 Oct, 2018 2 commits
    • Clemens Hammacher's avatar
      [wasm][test] Refactor breakpoint inspector test · 7074113d
      Clemens Hammacher authored
      Before adding another test for removing breakpoint, this CL modernizes
      the existing test for setting breakpoints.
      
      R=kozy@chromium.org
      CC=ahaas@chromium.org
      
      Bug: chromium:837572
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I642f9673f327f4ec569a4f67a61b5e264cf25b8f
      Reviewed-on: https://chromium-review.googlesource.com/c/1264636Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56514}
      7074113d
    • Benedikt Meurer's avatar
      [async] Improve async function handling. · 0038e5f0
      Benedikt Meurer authored
      This change introduces new intrinsics used to desugar async functions
      in the Parser and the BytecodeGenerator, namely we introduce a new
      %_AsyncFunctionEnter intrinsic that constructs the generator object
      for the async function (and in the future will also create the outer
      promise for the async function). This generator object is internal
      and never escapes to user code, plus since async functions don't have
      a "prototype" property, we can just a single map here instead of tracking
      the prototype/initial_map on every async function. This saves one word
      per async function plus one initial_map per async function that was
      invoked at least once.
      
      We also introduce two new intrinsics %_AsyncFunctionReject, which
      rejects the outer promise with the caught exception, and another
      %_AsyncFunctionResolve, which resolves the outer promise with the
      right hand side of the `return` statement. These functions also perform
      the DevTools part of the job (aka popping from the promise stack and
      sending the debug event). This allows us to get rid of the implicit
      try-finally from async functions completely; because the finally
      block only called to the %AsyncFunctionPromiseRelease builtin, which
      was used to inform DevTools.
      
      In essence we now turn an async function like
      
      ```js
      async function f(x) { return await bar(x); }
      ```
      
      into something like this (in Parser and BytecodeGenerator respectively):
      
      ```
      function f(x) {
        .generator_object = %_AsyncFunctionEnter(.closure, this);
        .promise = %AsyncFunctionCreatePromise();
        try {
          .tmp = await bar(x);
          return %_AsyncFunctionResolve(.promise, .tmp);
        } catch (e) {
          return %_AsyncFunctionReject(.promise, e);
        }
      }
      ```
      
      Overall the bytecode for async functions gets significantly shorter
      already (and will get even shorter once we put the outer promise into
      the async function generator object). For example the bytecode for a
      simple async function
      
      ```js
      async function f(x) { return await x; }
      ```
      
      goes from 175 bytes to 110 bytes (a ~38% reduction in size), which
      is in particular due to the simplification around the try-finally
      removal.
      
      Overall this seems to improve the doxbee-async-es2017-native test by
      around 2-3%. On the test case mentioned in v8:8276 we go from
      1124ms to 441ms, which corresponds to a 60% reduction in total
      execution time!
      
      Tbr: marja@chromium.org
      Bug: v8:7253, v8:7522, v8:8276
      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: Id29dc92de7490b387ff697860c900cee44c9a7a4
      Reviewed-on: https://chromium-review.googlesource.com/c/1269041
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#56502}
      0038e5f0
  9. 01 Oct, 2018 2 commits
  10. 28 Sep, 2018 1 commit
  11. 25 Sep, 2018 1 commit
  12. 21 Sep, 2018 1 commit
  13. 20 Sep, 2018 1 commit
  14. 17 Sep, 2018 1 commit
  15. 13 Sep, 2018 1 commit
  16. 03 Sep, 2018 1 commit
    • Yang Guo's avatar
      Revert "inspector: find magic comment using V8 scanner" · 4a96850a
      Yang Guo authored
      This reverts commit 1b3b808a.
      
      Reason for revert: crbug/879988
      
      TBR=kozy@chromium.org
      
      Original change's description:
      > inspector: find magic comment using V8 scanner
      >
      > Inspector tries to provide sourceURL and sourceMappingURL for scripts
      > with parser errors. Without this CL we convert source of each script
      > to inspector string and search for magic comment there. Some web sites
      > use pattern when they get some data from network and constantly try to
      > parse this data as JSON, in this case we do a lot of useless work.
      >
      > So we can parse magic comments on V8 side only for compilation errors
      > (excluding parse JSON errors), to do it we can reuse scanner by running
      > it on each potential comment.
      >
      > R=​alph@chromium.org,verwaest@chromium.org,yangguo@chromium.org
      >
      > Bug: chromium:873865,v8:7731
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: I77c270fd0e95cd7b2c9ee4b7f72ef344bc1fa104
      > Reviewed-on: https://chromium-review.googlesource.com/1182446
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Alexei Filippov <alph@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55280}
      
      TBR=alph@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,verwaest@chromium.org
      
      # Not skipping CQ checks because original CL landed > 1 day ago.
      
      Bug: chromium:873865, v8:7731, chromium:879988
      Change-Id: Ia7ac766e19f9b58562d9430811f10b25c4556a46
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/1202583
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55594}
      4a96850a
  17. 31 Aug, 2018 2 commits
  18. 29 Aug, 2018 2 commits
    • Alexey Kozyatinskiy's avatar
      Reland "inspector: find magic comment using V8 scanner" · cd7f9c63
      Alexey Kozyatinskiy authored
      This is a reland of 1b3b808a
      
      Original change's description:
      > inspector: find magic comment using V8 scanner
      >
      > Inspector tries to provide sourceURL and sourceMappingURL for scripts
      > with parser errors. Without this CL we convert source of each script
      > to inspector string and search for magic comment there. Some web sites
      > use pattern when they get some data from network and constantly try to
      > parse this data as JSON, in this case we do a lot of useless work.
      >
      > So we can parse magic comments on V8 side only for compilation errors
      > (excluding parse JSON errors), to do it we can reuse scanner by running
      > it on each potential comment.
      >
      > R=alph@chromium.org,verwaest@chromium.org,yangguo@chromium.org
      >
      > Bug: chromium:873865,v8:7731
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: I77c270fd0e95cd7b2c9ee4b7f72ef344bc1fa104
      > Reviewed-on: https://chromium-review.googlesource.com/1182446
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Alexei Filippov <alph@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55280}
      
      TBR=alph@chromium.org,verwaest@chromium.org,yangguo@chromium.org
      
      Bug: chromium:873865, v8:7731
      Change-Id: I097678fda0ebdcbd35a85be0bb6cf0fcb052bcbd
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/1195533
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55507}
      cd7f9c63
    • Toon Verwaest's avatar
      [scanner] Don't muck with positions of EOS in Next · e5cf8e37
      Toon Verwaest authored
      They are properly initialized upon creation.
      
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I10ac441580bf957e97ce663c9c3ad268ddeae935
      Reviewed-on: https://chromium-review.googlesource.com/1188573
      Commit-Queue: Toon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55492}
      e5cf8e37
  19. 22 Aug, 2018 1 commit
    • Maya Lekova's avatar
      Revert "inspector: find magic comment using V8 scanner" · 4a54b184
      Maya Lekova authored
      This reverts commit 1b3b808a.
      
      Reason for revert: Speculatively reverting because of https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064%20(dbg)/13264
      
      Original change's description:
      > inspector: find magic comment using V8 scanner
      > 
      > Inspector tries to provide sourceURL and sourceMappingURL for scripts
      > with parser errors. Without this CL we convert source of each script
      > to inspector string and search for magic comment there. Some web sites
      > use pattern when they get some data from network and constantly try to
      > parse this data as JSON, in this case we do a lot of useless work.
      > 
      > So we can parse magic comments on V8 side only for compilation errors
      > (excluding parse JSON errors), to do it we can reuse scanner by running
      > it on each potential comment.
      > 
      > R=​alph@chromium.org,verwaest@chromium.org,yangguo@chromium.org
      > 
      > Bug: chromium:873865,v8:7731
      > Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: I77c270fd0e95cd7b2c9ee4b7f72ef344bc1fa104
      > Reviewed-on: https://chromium-review.googlesource.com/1182446
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Alexei Filippov <alph@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#55280}
      
      TBR=alph@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,verwaest@chromium.org
      
      Change-Id: I60ab243107d5fcce100064232d0e278a51f38db9
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: chromium:873865, v8:7731
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/1184921Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Commit-Queue: Maya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55300}
      4a54b184
  20. 21 Aug, 2018 1 commit
    • Alexey Kozyatinskiy's avatar
      inspector: find magic comment using V8 scanner · 1b3b808a
      Alexey Kozyatinskiy authored
      Inspector tries to provide sourceURL and sourceMappingURL for scripts
      with parser errors. Without this CL we convert source of each script
      to inspector string and search for magic comment there. Some web sites
      use pattern when they get some data from network and constantly try to
      parse this data as JSON, in this case we do a lot of useless work.
      
      So we can parse magic comments on V8 side only for compilation errors
      (excluding parse JSON errors), to do it we can reuse scanner by running
      it on each potential comment.
      
      R=alph@chromium.org,verwaest@chromium.org,yangguo@chromium.org
      
      Bug: chromium:873865,v8:7731
      Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I77c270fd0e95cd7b2c9ee4b7f72ef344bc1fa104
      Reviewed-on: https://chromium-review.googlesource.com/1182446Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarAlexei Filippov <alph@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55280}
      1b3b808a
  21. 09 Aug, 2018 1 commit
    • Alexey Kozyatinskiy's avatar
      [inspector] added V8InspectorClient::resourceNameToUrl · dbfcc487
      Alexey Kozyatinskiy authored
      Some clients (see Node.js) use platform path as ScriptOrigin.
      Reporting platform path in protocol makes using protocol much harder.
      This CL introduced V8InspectorClient::resourceNameToUrl method that
      is called for any reported using protocol url.
      V8Inspector uses url internally as well so protocol client may generate
      pattern for blackboxing with file urls only and does not need to build
      complicated regexp that covers files urls and platform paths on
      different platforms.
      
      R=lushnikov@chromium.org
      TBR=yangguo@chromium.org
      
      Bug: none
      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: Iff302e7441df922fa5d689fe510f5a9bfd470b9b
      Reviewed-on: https://chromium-review.googlesource.com/1164624
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarAlexei Filippov <alph@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55029}
      dbfcc487
  22. 25 Jul, 2018 1 commit
  23. 05 Jul, 2018 1 commit
  24. 03 Jul, 2018 3 commits
    • Alexey Kozyatinskiy's avatar
      Reland "[debug] liveedit in native" · 5505c664
      Alexey Kozyatinskiy authored
      This is a reland of 3dfaf826
      
      Original change's description:
      > [debug] liveedit in native
      >
      > Liveedit step-by-step:
      > 1. calculate diff between old source and new source,
      > 2. map function literals from old source to new source,
      > 3. create new script for new_source,
      > 4. mark literals with changed code as changed, all others as unchanged,
      > 5. check that for changed literals there are no:
      >   - running generators in the heap,
      >   - non droppable frames (e.g. running generator) above them on stack.
      > 6. mark the bottom most frame with changed function as scheduled for
      >    restart if any.
      > 7. for unchanged functions:
      >   - deoptimize,
      >   - remove from cache,
      >   - update source positions,
      >   - move to new script,
      >   - reset feedback information and preparsed scope information if any,
      >   - replace any sfi in constant pool with changed one if any.
      > 8. for changed functions:
      >   - deoptimize
      >   - remove from cache,
      >   - reset feedback information,
      >   - update all links from js functions to old shared with new one.
      > 9. swap scripts.
      >
      > TBR=ulan@chromium.org
      >
      > Bug: v8:7862,v8:5713
      > 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: I8f6f6156318cc82d6f36d7ebc1c9f7d5f3aa1461
      > Reviewed-on: https://chromium-review.googlesource.com/1105493
      > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54146}
      
      TBR=dgozman@chromium.org
      
      Bug: v8:7862, v8:5713
      Change-Id: I163ed2fd2ca3115ba0de74cb35a6fac9e40fdd94
      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/1124879
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54187}
      5505c664
    • Yang Guo's avatar
      Revert "[debug] liveedit in native" · 22594d10
      Yang Guo authored
      This reverts commit 3dfaf826.
      
      Reason for revert: Failures - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20gcc%204.8/20394
      
      Original change's description:
      > [debug] liveedit in native
      > 
      > Liveedit step-by-step:
      > 1. calculate diff between old source and new source,
      > 2. map function literals from old source to new source,
      > 3. create new script for new_source,
      > 4. mark literals with changed code as changed, all others as unchanged,
      > 5. check that for changed literals there are no:
      >   - running generators in the heap,
      >   - non droppable frames (e.g. running generator) above them on stack.
      > 6. mark the bottom most frame with changed function as scheduled for
      >    restart if any.
      > 7. for unchanged functions:
      >   - deoptimize,
      >   - remove from cache,
      >   - update source positions,
      >   - move to new script,
      >   - reset feedback information and preparsed scope information if any,
      >   - replace any sfi in constant pool with changed one if any.
      > 8. for changed functions:
      >   - deoptimize
      >   - remove from cache,
      >   - reset feedback information,
      >   - update all links from js functions to old shared with new one.
      > 9. swap scripts.
      > 
      > TBR=ulan@chromium.org
      > 
      > Bug: v8:7862,v8:5713
      > 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: I8f6f6156318cc82d6f36d7ebc1c9f7d5f3aa1461
      > Reviewed-on: https://chromium-review.googlesource.com/1105493
      > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#54146}
      
      TBR=dgozman@chromium.org,ulan@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org
      
      Change-Id: I45df5b6f3abaf29e593c6ac11edefbd0177d0109
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7862, v8:5713
      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/1124159Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54151}
      22594d10
    • Alexey Kozyatinskiy's avatar
      [debug] liveedit in native · 3dfaf826
      Alexey Kozyatinskiy authored
      Liveedit step-by-step:
      1. calculate diff between old source and new source,
      2. map function literals from old source to new source,
      3. create new script for new_source,
      4. mark literals with changed code as changed, all others as unchanged,
      5. check that for changed literals there are no:
        - running generators in the heap,
        - non droppable frames (e.g. running generator) above them on stack.
      6. mark the bottom most frame with changed function as scheduled for
         restart if any.
      7. for unchanged functions:
        - deoptimize,
        - remove from cache,
        - update source positions,
        - move to new script,
        - reset feedback information and preparsed scope information if any,
        - replace any sfi in constant pool with changed one if any.
      8. for changed functions:
        - deoptimize
        - remove from cache,
        - reset feedback information,
        - update all links from js functions to old shared with new one.
      9. swap scripts.
      
      TBR=ulan@chromium.org
      
      Bug: v8:7862,v8:5713
      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: I8f6f6156318cc82d6f36d7ebc1c9f7d5f3aa1461
      Reviewed-on: https://chromium-review.googlesource.com/1105493Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54146}
      3dfaf826
  25. 21 Jun, 2018 3 commits
  26. 20 Jun, 2018 2 commits