- 11 Nov, 2021 1 commit
-
-
Benedikt Meurer authored
This introduces a stack frame cache on the V8Debugger level, which de-duplicates StackFrame instances based on their scriptId, line and column number. This greatly reduces the memory pressure when debugging huge Web applications that have a lot of async activity (and potentially have scripts with huge URLs). This is guided by the observation that even in huge applications, there are only a very limited number of call sites that initiate async activity and hence we only have a limited number of distinct StackFrames to worry about (despite having to maintain a large number of async stack traces overall). As a nice side effect, this CL also greatly reduces the negative performance impact of collecting async stack traces in these huge applications. Generally speaking this is mostly duct tape however, and we might want to follow up with changes to make capturing (and storing) stack frames even cheaper. Fixed: chromium:1268436 Change-Id: Ib212b3c97dce2bb7ca47d5875d45cf20b9b97afe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3272577 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#77835}
-
- 13 Oct, 2021 1 commit
-
-
Benedikt Meurer authored
There's no point in maintaining a separate counter for the size of a `std::list`. Also changing the type to `size_t` consistently. Bug: chromium:1257637 Change-Id: I4f938b9888bb09cd1223ae6b6ae1db0fa1181096 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3220332 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77376}
-
- 30 Sep, 2021 1 commit
-
-
Benedikt Meurer authored
The V8 Inspector was sending an additional frame as part of async stack traces for async functions, which pointed to the first executed `await` in the async function. This is leaking an implementation detail of how (and more precisely when) the inspector decides to collect this stack trace. From the users perspective the async part of the stack trace is supposed to capture what happened _prior to the task_ - meaning in case of async functions: What lead to the execution of the async function. This is reflected by the fact that the DevTools front-end (and the V8 Inspector itself) performs post-processing on these async call stacks, removing the misleading top frame from it. But this post-processing is not applied consistently to all async stack traces (i.e. the Console message stack traces don't get this), and potentially also not applied consistently across consumers of the Chromium debugger backend. Instead the V8 Inspector now removes the top frame itself and thus reports `await` consistently with how other async tasks are reported to debugger front-ends. Note: This preserves backwards compatibility with old versions of devtools-frontend, which do post-processing (for the Call Stack) only on async stack traces marked with "async function", while we now mark these async stack traces with "await" instead (aligned with what the front-end is using as user visibile string anyways in the Call Stack section, and this matching will be updated in a separate follow up CL to look for "await" instead of "async function"). Before: https://imgur.com/kIrWcIc.png After: https://imgur.com/HvZGqiP Fixed: chromium:1254259 Bug: chromium:1229662 Change-Id: I57ce051a28892177b6b96221f083ae957f967e52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3193535 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/main@{#77157}
-
- 23 Dec, 2020 1 commit
-
-
Andrey Kosyakov authored
This adds ExecutionContextDescription.uniqueId for a system-unique way to identify an execution context and supports it in Runtime.evaluate. This allows a client to avoid accidentally executing an expression in a context different from that originally intended if a navigation occurs while Runtime.evaluate is in flight. Design doc: https://docs.google.com/document/d/1vGVWvKP9FTTX6kimcUJR_PAfVgDeIzXXITFpl0SyghQ Bug: v8:11268, chromium:1101897 Change-Id: I4c6bec562ffc85312559316f639d641780144039 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2594538 Commit-Queue: Andrey Kosyakov <caseq@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#71869}
-
- 22 Dec, 2020 1 commit
-
-
Andrey Kosyakov authored
This lets embedder to produce an id with sufficient entropy to facilitate an id appropriate for a multi-process system and immune to regular RNG seed being overriden, while maintaining deterministic id allocation for tests. Design doc: https://docs.google.com/document/d/1vGVWvKP9FTTX6kimcUJR_PAfVgDeIzXXITFpl0SyghQ Related blink-side change: https://chromium-review.googlesource.com/c/chromium/src/+/2600273 Bug: v8:11268 Change-Id: I1a4d12463cf56d4378859dfa3ee4d717e176d468 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2600442Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Andrey Kosyakov <caseq@chromium.org> Cr-Commit-Position: refs/heads/master@{#71864}
-
- 18 Nov, 2020 1 commit
-
-
Zhi An Ng authored
Bug: v8:11074 Change-Id: I71fabf7628ec13440585c24381f5ba89e4df03d3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2543168Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71246}
-
- 11 Aug, 2020 1 commit
-
-
Kim-Anh Tran authored
This change adds support for skipping locations that are in a skipList on step over. This feature is useful for when we are debugging C++ applications that have DWARF information we only want to stop on every breakable location in C++, not non every breakable location on wasm level. Bug: chromium:1105765 Change-Id: Ie835b011a00cf31e0c5b2df1ac96ebd89f53d23a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339458Reviewed-by:
Eric Leese <leese@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#69329}
-
- 03 Feb, 2020 1 commit
-
-
Sigurd Schneider authored
This CL implements functionality to allow an embedder to mark a debug scope as terminate-on-resume. This results in a termination exception when that debug scope is left and execution is resumed. Execution of JavaScript remains possible after a debug scope is marked as terminate-on-resume (but before execution of the paused code resumes). This is used by blink to correctly prevent resuming JavaScript execution upon reload while being paused at a breakpoint. This is important for handling reloads while paused at a breakpoint in blink. The resume command terminates blink's nested message loop that is used while to keep the frame responsive while the debugger is paused. But if a reload is triggered while execution is paused on a breakpoint, but before execution is actually resumed from the breakpoint (that means before returning into the V8 JavaScript frames that are paused on the stack below the C++ frames that belong to the nested message loop), we re-enter V8 to do tear-down actions of the old frame. In this case Runtime.terminateExecution() cannot be used before Debugger.resume(), because the tear-down actions that re-enter V8 would trigger the termination exception and crash the browser (because the browser expected the tear-down to succeed). Hence we introduce this flag on V8 that says: It is OK if someone re-enters V8 (to execute JS), but upon resuming from the breakpoint (i.e. returning to the paused frames that are on the stack below), generate a termination exception. We deliberated adding a corresponding logic on the blink side (instead of V8) but we think this is the simplest solution. More details in the design doc: https://docs.google.com/document/d/1aO9v0YhoKNqKleqfACGUpwrBUayLFGqktz9ltdgKHMk Bug: chromium:1004038, chromium:1014415 Change-Id: I896692d4c21cb0acae89c1d783d37ce45b73c113 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1924366 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#66084}
-
- 13 Jan, 2020 1 commit
-
-
Simon Zünd authored
After the V8 internal stack frame cache was removed in https://crrev.com/c/1954392, the frames in stack traces will always have unique frame IDs. This renders the inspector side frame cache obsolete and this CL removes that cache. Change-Id: Icb72eec396e96b378ace09bc20fda03b09998c64 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1997127 Auto-Submit: Simon Zünd <szuend@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#65721}
-
- 09 Jan, 2020 1 commit
-
-
Eric Leese authored
Inspector will no longer report per-function wasm scripts or provide wasm disassembly. Locations in wasm are now consistently reported through the inspector API as lineNumber=0 columnNumber=byte offset in module. Bug: chromium:1013527, chromium:1003022 Change-Id: Ide85bbaa85ad75f29248ff82a3e7f3e40688d377 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991481 Commit-Queue: Eric Leese <leese@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#65660}
-
- 20 Sep, 2019 1 commit
-
-
Dmitry Gozman authored
This makes it possible to plumb string representation of stack trace id across various channels, e.g. for network requests. Drive-by: extracted class V8DebuggerId, which encapsulates operations with pair<int64_t, int64_t>. Bug: chromium:988842 Change-Id: I348c91390a85bf07c746d1b1c4a7775f44c7d769 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1725193 Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#63900}
-
- 13 Sep, 2019 2 commits
-
-
Clemens Hammacher authored
After https://crrev.com/c/1800575 and https://crrev.com/c/1803343, which tried to fix this on occuring compile errors, this CL systematically adds the <memory> include to each header that uses {std::unique_ptr}. R=sigurds@chromium.org TBR=mlippautz@chromium.org,alph@chromium.org,rmcilroy@chromium.org,verwaest@chromium.org Bug: v8:9396 Change-Id: If7f9c3140842f9543135dddd7344c0f357999da0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803349Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63767}
-
Dmitry Gozman authored
Currently, debugger pauses on async call schedule and then waits for Debugger.pauseOnAsyncCall with parentStackTraceId to actually schedule the pause. This CL combines these two steps: - For local async tasks, it just stores m_taskWithScheduledBreak at the time of schedule, to be able to pause once this task is run. - For external async tasks, it plumbs "should_pause" boolean in V8StackTraceId from the point of schedule to the point of execution, and schedules a pause once externalAsyncTaskStarted is called with "should_pause" set to true. This approach greatly simplifies the implementation, and reduced frontend to a single "breakOnAsyncCall: true" parameter in Debugger.stepInto. Drive-by: introduce hasScheduledBreakOnNextFunctionCall() to make SetBreakOnNextFunctionCall management more robust. Note: artificial pauses at async call schedule time are gone from test expectations - we now only pause when user actually wants to pause, which makes protocol much simpler. See also design doc linked in the bug. BUG=chromium:1000475 Change-Id: I2d16f79c599fe196b2aaeca8223c63437a2954a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1783724 Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#63737}
-
- 16 Mar, 2019 1 commit
-
-
Alexei Filippov authored
This is a reland of 5a61630d Original change's description: > [inspector] Allow limiting the total size of collected scripts. > > Introduces the setMaxCollectedScriptsSize Debugger protocol method. > If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects) > scripts up to the specified total size of their sources. > > BUG=v8:8988 > > Change-Id: I94d52866494102add91ca2d569a2044b08c9c593 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556 > Commit-Queue: Alexei Filippov <alph@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60227} TBR=dgozman@chromium.org Bug: v8:8988 Change-Id: I9b1db01856a43636c1eb8ad2ec36e3727353228d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524668 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by:
Pavel Feldman <pfeldman@chromium.org> Cr-Commit-Position: refs/heads/master@{#60271}
-
- 15 Mar, 2019 2 commits
-
-
Maya Lekova authored
This reverts commit ba00d8b7. Reason for revert: Breaks arm64 bots (native & simulator) - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim/17252 Original change's description: > Reland: [inspector] Allow limiting the total size of collected scripts. > > Introduces the setMaxCollectedScriptsSize Debugger protocol method. > If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects) > scripts up to the specified total size of their sources. > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556 > > Commit-Queue: Alexei Filippov <alph@chromium.org> > > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > > BUG=v8:8988 > TBR=dgozman@chromium.org > > Change-Id: I6f7da07c4c9ae35b5252aabddb98b693ec77b4e8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524662 > Reviewed-by: Alexei Filippov <alph@chromium.org> > Commit-Queue: Alexei Filippov <alph@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60255} TBR=dgozman@chromium.org,alph@chromium.org Change-Id: I04e3616d46620f33d0ec349fb7b0c393f276dc0c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8988 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524484Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#60257}
-
Alexei Filippov authored
Introduces the setMaxCollectedScriptsSize Debugger protocol method. If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects) scripts up to the specified total size of their sources. > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556 > Commit-Queue: Alexei Filippov <alph@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> BUG=v8:8988 TBR=dgozman@chromium.org Change-Id: I6f7da07c4c9ae35b5252aabddb98b693ec77b4e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524662Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#60255}
-
- 14 Mar, 2019 2 commits
-
-
Maya Lekova authored
This reverts commit 5a61630d. Reason for revert: Breaking gc stress bot - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/21477 Original change's description: > [inspector] Allow limiting the total size of collected scripts. > > Introduces the setMaxCollectedScriptsSize Debugger protocol method. > If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects) > scripts up to the specified total size of their sources. > > BUG=v8:8988 > > Change-Id: I94d52866494102add91ca2d569a2044b08c9c593 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556 > Commit-Queue: Alexei Filippov <alph@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60227} TBR=dgozman@chromium.org,alph@chromium.org,kozyatinskiy@chromium.org Change-Id: I26de645e425f0f7d5aa8212eeefda76dad695b78 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8988 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1522988Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#60229}
-
Alexei Filippov authored
Introduces the setMaxCollectedScriptsSize Debugger protocol method. If the max size is set, the debugger will hold collected (not referenced by other v8 heap objects) scripts up to the specified total size of their sources. BUG=v8:8988 Change-Id: I94d52866494102add91ca2d569a2044b08c9c593 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518556 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#60227}
-
- 06 Mar, 2019 1 commit
-
-
tzik authored
This adds overloads of v8::Isolate::{Add,Remove}MicrotaskCompletedCallback, that use MicrotasksCompletedCallbackWithData, and marks the original one as V8_DEPRECATE_SOON for transition. Bug: v8:8124 Change-Id: I124c3108545e1a2b29cd95620f36901431663c65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1493766Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#60045}
-
- 08 Dec, 2018 1 commit
-
-
Alexei Filippov authored
That should prevent leak of objects when page is reloaded. BUG=chromium:906847 Change-Id: I90928a5c4979c0ddc01c201bf60a693e2b03863a Reviewed-on: https://chromium-review.googlesource.com/c/1366449 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#58110}
-
- 06 Dec, 2018 1 commit
-
-
Dmitry Gozman authored
This reverts commit d9fbfeb8. Reason for revert: see bug. Bug: 906847 Original change's description: > inspector: return [[StableObjectId]] as internal property > > This property might be useful for fast '===' check. > > R=dgozman@chromium.org,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: Iabc3555ce1ec2c14cf0ccd40b7d964ae144e7352 > Reviewed-on: https://chromium-review.googlesource.com/1226411 > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56095} TBR=dgozman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,jgruber@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: none Change-Id: I68c700b7b8fd0a015f099460c15665d74e4da183 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/1363558Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#58077}
-
- 30 Nov, 2018 1 commit
-
-
Yang Guo authored
Termination exceptions tear down V8 to the bottom-most V8 call. If there is a v8::TryCatch scope around that call, it returns true for HasTerminated() and HasCaught(). However, Isolate::IsExecutionTerminating() returns false and we can call into V8 from still inside the v8::TryCatch scope. Changes that this patch introduces: - You need to leave the v8::TryCatch scope around the bottom-most call to reset the termination state, in order to resume. - Explicitly check for termination exception and reporting it through the DevTools protocol after Runtime.evaluate and Debugger.evaluateOnCallFrame. Bug: v8:8455 Change-Id: I1f36f7a365985469813c2619bf16f18ee69aa4b8 Reviewed-on: https://chromium-review.googlesource.com/c/1337582Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#57963}
-
- 29 Nov, 2018 1 commit
-
-
Aleksei Koziatinskii authored
This method was experimental and deprecated for a while. R=dgozman@chromium.org Bug: none Change-Id: I7d5a13a83f36ecc7a92300f690dff5c8bb26f8de Reviewed-on: https://chromium-review.googlesource.com/c/1354182Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57920}
-
- 31 Oct, 2018 2 commits
-
-
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:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57181}
-
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:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57176}
-
- 30 Oct, 2018 3 commits
-
-
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:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#57150}
-
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:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57144}
-
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:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#57142}
-
- 28 Sep, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
Sometimes we do not have promise on stack, e.g. Promise.reject call, but we need to attribute this pause with promise rejection. TBR=yangguo@chromium.org Bug: chromium:755728 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I03ca1e1cd6c21677f0a12ece626e2c8a1938437b Reviewed-on: https://chromium-review.googlesource.com/1249942Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#56293}
-
- 20 Sep, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
This property might be useful for fast '===' check. R=dgozman@chromium.org,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: Iabc3555ce1ec2c14cf0ccd40b7d964ae144e7352 Reviewed-on: https://chromium-review.googlesource.com/1226411Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#56095}
-
- 18 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I82a169545724fca7757b2fce6b64b56d1b6264ba Reviewed-on: https://chromium-review.googlesource.com/1225794Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55980}
-
- 13 Jul, 2018 1 commit
-
-
Johannes Henkel authored
This is in preparation of removing the using statements that are currently in third_party/inspector_protocol/lib/Collections_h.template. Once this is done I can update https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/1135832 some more and eventually roll it into v8 (and chromium's third party). R=dgozman Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I75a7b291715f241e3b58fb97ac91a0b0ff0ca70b Reviewed-on: https://chromium-review.googlesource.com/1135968 Commit-Queue: Johannes Henkel <johannes@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#54422}
-
- 05 Jun, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
Currently we enable instrumentation if debugger is active. With this approach we can not: - capture async stack when debugger is disabled, - avoid async instrumentation overhead when debugger is enabled and async stacks are disabled. R=dgozman@chromium.org,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: I19400c4c4e12b6c9b5a980fb6bd3293bac6e6a64 Reviewed-on: https://chromium-review.googlesource.com/1081494 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#53530}
-
- 03 Jun, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
Removed most of mirrors.js and debug.js. Further steps: - migrate liveedit.js to native, - remove debugger context. R=yangguo@chromium.org TBR=leszeks@chromium.org Bug: v8:5530 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I291ef20ef3c63a424d32e3e0c9d0962a6ca382d1 Reviewed-on: https://chromium-review.googlesource.com/1081176 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#53480}
-
- 31 May, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
If async function A awaited async function B, stepOut from function B should go to function A. Bug: v8:7753 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Iedc1d8b85a52aa60519e56b319325436fc2168c9 Reviewed-on: https://chromium-review.googlesource.com/1054618 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#53451}
-
- 30 May, 2018 2 commits
-
-
Alexey Kozyatinskiy authored
New intstrumentation consists of: - kAsyncFunctionSuspended when async function is suspended on await (called on each await), - kAsyncFunctionFinished when async function is finished. Old instrumentation was based on reusing async function promise. Using this promise produces couple side effects: - for any promise instrumentation we first need to check if it is special case for async function promise or not - it requires expensive reading from promise object. - we capture stack for async functions even if it does not contain awaits. - we do not properly cancel async task created for async function. New intsrumntation resolved all these problems as well as provide clear mapping between async task and generator which we can use later to fetch scope information for async functions on pause. R=dgozman@chromium.org,yangguo@chromium.org Bug: v8:7078 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ifdcec947d91e6e3d4d5f9029bc080a19b8e23d41 Reviewed-on: https://chromium-review.googlesource.com/1043096Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#53445}
-
Alexey Kozyatinskiy authored
With this CL we use interrupt for pause in two cases: - when we process Debugger.pause on interruption, - when we would like to break as soon as possible after OOM. In all other cases, e.g. for async step into we use break on function call by calling StepIn debugger action. In mentioned cases we should not actually use interrupt as well: - Debugger.pause in this case scheduled using interrupt and we may just break right now without requesting another interrupt, unfortunately blink side is not ready, - we should use more reliable way to break right after near OOM callback, otherwise we can get this callback, increase limit, request break on next interrupt, before interrupt get another huge memory allocation and crash. There are couple advantages: - we get much better break locations for async stepping (see inspector tests expectations), - we can remove DEBUG_BREAK interruption (it should speedup blackboxing with async tasks, see removed todo in debug.cc for details) - it is required preparation step for async step out, (see https://chromium-review.googlesource.com/c/v8/v8/+/1054618) Bug: v8:7753 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Iabd7627dbffa9a0eab1736064caf589d02591926 Reviewed-on: https://chromium-review.googlesource.com/1054155 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#53439}
-
- 27 Mar, 2018 1 commit
-
-
Ulan Degenbaev authored
The embedder can get notification when V8 heap size approaches the heap limit and can extend the heap limit if needed using - v8::Isolate::AddNearHeapLimitCallback - v8::Isolate::RemoveNearHeapLimitCallback This generalizes the exiting v8::debug::SetOutOfMemoryCallback API. Bug: chromium:824214 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ia444cb7efb6fe85c57fa3785e8fd1d8b654a5224 Reviewed-on: https://chromium-review.googlesource.com/979447 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#52238}
-
- 19 Mar, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
This is a reland of 14824520 Original change's description: > [inspector] added Runtime.terminateExecution > > Runtime.terminateExecution terminates current or next JavaScript > call. Termination flag is automatically reset as soon as v8 call > or microtasks are completed. > > R=pfeldman@chromium.org > > Bug: chromium:820640 > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel > Change-Id: Ie21c123be3a61fe25cf6e04c38a8b6c664622ed7 > Reviewed-on: https://chromium-review.googlesource.com/957386 > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#51912} Bug: chromium:820640 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I6dd30f65c06c2b7eefd1e7beb9a3cf50ea5bf8cd Reviewed-on: https://chromium-review.googlesource.com/967323 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#52004}
-
- 17 Mar, 2018 1 commit
-
-
Michael Achenbach authored
This reverts commit 14824520. Reason for revert: Breaks chromium tsan in roll: https://chromium-review.googlesource.com/c/chromium/src/+/967682 Original change's description: > Reland "[inspector] added Runtime.terminateExecution" > > This is a reland of 98dec8f2 > > Original change's description: > > [inspector] added Runtime.terminateExecution > > > > Runtime.terminateExecution terminates current or next JavaScript > > call. Termination flag is automatically reset as soon as v8 call > > or microtasks are completed. > > > > R=pfeldman@chromium.org > > > > Bug: chromium:820640 > > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel > > Change-Id: Ie21c123be3a61fe25cf6e04c38a8b6c664622ed7 > > Reviewed-on: https://chromium-review.googlesource.com/957386 > > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > > Reviewed-by: Dmitry Gozman <dgozman@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#51912} > > Bug: chromium:820640 > Change-Id: I8f270c2fdbe732f0c40bfb149d26a6e73d988253 > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel > Reviewed-on: https://chromium-review.googlesource.com/966681 > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52002} TBR=dgozman@chromium.org,pfeldman@chromium.org,kozyatinskiy@chromium.org Change-Id: I2f3d24b238f479082bfed349363240887b5ba751 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:820640 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/967781Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52003}
-