- 28 Dec, 2020 1 commit
-
-
Benedikt Meurer authored
With https://crrev.com/c/2087396 we introduced a new CDP method `Debugger.executeWasmEvaluator()`, which we originally intended to use as the foundation for Debug-Evaluate on Wasm frames. However in the process of prototyping we learned that it is too costly and too inefficient to use WebAssembly modules here, and we switched to regular Debug-Evaluate with JavaScript instead (with a special debug proxy exposed that allows JavaScript to peak into the Wasm frame), since JavaScript is better suited for short-lived / short-running snippets and we don't need clang and wasm-ld then to generate these snippets. The JavaScript exposed debug proxy (as described in [1]) not only enables more powerful and flexible Debug-Evaluate for the DWARF C/C++ extension, but also serves as the basis for various aspects of the Basic Wasm Developer Experience. In order to pay down technical debt and to keep the maintenance overhead low, we should remove the initial prototype now, also to ensure that we don't accidentally attract other users of CDP to rely on this unsupported API (despite it being marked as "experimental"). [1]: https://docs.google.com/document/d/1VZOJrU2VsqOZe3IUzbwQWQQSZwgGySsm5119Ust1gUA Fixed: chromium:1162062 Bug: chromium:1020120, chromium:1068571, chromium:1127914 Change-Id: I6dba8c906a8675ce6c29a52e3c32bb6626a27247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2605186 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#71882}
-
- 18 Oct, 2020 1 commit
-
-
Dmitry Gozman authored
This changes remoteObjectId format from "{injectedScriptId:123,id:456}" to "<isolateId>.<contextId>.<id>". Prepending isolateId fixes the problem that remote object ids clash between processes. This is especially troubling during cross-process navigation in Chromium, see bug. We also stop producing and parsing unnecessary json for object ids. Drive-by: fixed some tests dumping object ids. Most tests avoid dumping unstable values like ids, but there were few that still did. BUG=chromium:1137143 Change-Id: Ia019757fb95704ccb718d3ea6cc54bde1a133382 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2461731 Commit-Queue: Dmitry Gozman <dgozman@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#70592}
-
- 13 Aug, 2020 1 commit
-
-
Kim-Anh Tran authored
This extends the skip list feature from step over to step into. On a step into we can pass a skipList, which contains locations that we do not want to stop at. Bug: chromium:1105765 Change-Id: I70a4ded3f6a7eada14f54ae9c2f994c155c7305b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2345224Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#69376}
-
- 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}
-
- 04 Aug, 2020 1 commit
-
-
Kim-Anh Tran authored
This adds CDP methods to support skipping locations on stepOver and stepInto. Bug: chromium:1105765 Change-Id: I8b902009883807082cf5fda0411b992e90dee81d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335181Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#69223}
-
- 27 Jul, 2020 1 commit
-
-
Sigurd Schneider authored
Currently, only a scriptURL is reported, which can be over-written by sourceURL comments of the script. This means a script can basically claim to come from anywhere. This means that DevTools doesn't know the resource name the embedder provided if there is a sourceURL comment. This CL adds a `embedderName` field to the scriptParsed and scriptFailedToParse events that reports the name the embedder associated with the script. Bug: chromium:974543 Change-Id: I9863f878f57638174847890d9a3818952b1efc27 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2317310 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#69078}
-
- 16 Jul, 2020 1 commit
-
-
Kim-Anh Tran authored
This prevents v8 to send too many breakpoints and thus exceed the maximum length for a message in mojo. Bug: chromium:1105172 Change-Id: I2af21f117d24c52d2f0df6294f15f091b84b1a75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2300542Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#68890}
-
- 02 Jul, 2020 1 commit
-
-
Andrey Kosyakov authored
Note that changes in test expectation come from a more verbose error diagnostics for expected errors around input parameter validation. Original change: https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/2270757 Bug: chromium:1099809 Change-Id: I4fc2efc9c89d0af645dad937d719fa36e1d33489 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2277142Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Andrey Kosyakov <caseq@chromium.org> Cr-Commit-Position: refs/heads/master@{#68657}
-
- 26 Jun, 2020 1 commit
-
-
Benedikt Meurer authored
The `Debugger.getScriptSource()` and `Debugger.getWasmBytecode()` methods in the CDP return Wasm wire bytes as protocol::Binary, which is send as Base64-encoded JSON string in the communication to the DevTools front-end, and hence leads to either crashing the renderer that is being debugged or the renderer that's running the front-end if we allow arbitrarily huge Wasm byte sequences here. This CL introduces a limit, based on the maximum allowed string length, to avoid the crash and instead signal a proper error to the DevTools front-end. Bug: chromium:1099680 Change-Id: I356d617301d17a4012f7f845773cf14e6ad1e4a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2270174 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#68560}
-
- 19 Jun, 2020 1 commit
-
-
Kim-Anh Tran authored
Until now the breakpointIdToDebuggerBreakpointIds was cleared on page reload. It keeps a map from breakpointIds to debuggerBreakpointIds, with the latter being necessary for removing breakpoints. If a breakpoint is set and we trigger a page reload, the information about that breakpoint will be removed from the map, even if it still exists. If we later want to remove the breakpoint we look into the map, but the meta data is no longer existing. Thus, reloading the page again will lead to hitting the breakpoint, even if we removed it in the front-end. This change keeps the map alive on page reset, so that we still keep track of set breakpoints after a page reload. Bug: chromium:1073071 Change-Id: I82192777bac7afc406245a5a1cff0620e8174499 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2253842Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#68433}
-
- 27 May, 2020 1 commit
-
-
Benedikt Meurer authored
Previously both the length and the endColumn for Wasm scripts were reported as 0, and that was sort of okayish, since the front-end was ignoring both of these fields in case of Wasm, and was applying special cases. But these special casing lead to some subtle bugs, and this is the first step towards a more uniform treatment. Source positions for Wasm are in terms of the bytecode, and the column field contains the bytecode offset here, while the line number field is always 0. Hence we send 0 for both startLine and endLine as before, but endColumn now corresponds to the bytecode size. Bug: chromium:1056632 Change-Id: Ia8a9cfe454ed250b87a524f5cbcbbbe242205db6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2215817 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#67997}
-
- 05 May, 2020 2 commits
-
-
Philip Pfaffe authored
Wasm modules generated by emscripten today have two ways to point to debug symbol files, the source mapping url and external debug info custom sections. To support both, this CL extends CDP to appropriately report the symbol type and location. Bug: chromium:1064248 Change-Id: I9076034f6d73901d8a9c5cfd7c2988fb30bb14c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2116208Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#67571}
-
Philip Pfaffe authored
Allow the DevTools frontend to evaluate variables in a wasm frame context by reusing the existing Debugger expression evaluation API. Where previously the API expected JavaScript expressions, which would in general just fail, now the expression is expected to be base64 encoded Wasm that creates a JSON string in linear memory. Bug: chromium:1020120 chromium:1068571 Change-Id: I4b31fdb9d3b21b4e08c4995ec2f07880923959e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2087396Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#67568}
-
- 31 Mar, 2020 1 commit
-
-
Clemens Backes authored
If we want external people to stop shouting WASM, we should start by avoiding that in our own code base. This CL replaces almost all occurrences of "WASM" by "Wasm". The last remaining ones (in frames.cc) are in capitalized contexts where WASM fits. TBR=ecmziegler@chromium.org Bug: v8:10155 Change-Id: I905b92220768b99bb5e1165255691ffe4498dba3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2126917 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Emanuel Ziegler <ecmziegler@chromium.org> Cr-Commit-Position: refs/heads/master@{#66917}
-
- 26 Mar, 2020 1 commit
-
-
Kim-Anh Tran authored
This change adds a stack scope for wasm debugging. Currently the local scope contains both local variables as well as the expression stack. For now, this change duplicates the information available on stacks into the stack scope, until we have added support for the stack scope in the DevTools front-end. Bug: chromium:1043034 Change-Id: Ib0a07e07be7c53003526a7b1e1dbfaa1116b41ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2093510 Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#66867}
-
- 20 Mar, 2020 1 commit
-
-
Johannes Henkel authored
Upstream PR: "Introduce a crdtp/dispatch.{h,cc} library." https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/1974680 "For the shallow parse of a DevTools message, allow "params": null." https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/2109466 New Revision: c69cdc36200992d21a17bf4e5c2f3a95b8860ddf Change-Id: Icc447ff9ce408b24f5245c643dd2f1843da9255f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2076215 Commit-Queue: Johannes Henkel <johannes@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#66813}
-
- 17 Mar, 2020 1 commit
-
-
Philip Pfaffe authored
Add a scriptLanguage enum to the new scripts events. This overhauls crrev.com/c/2011083 that was related. Report the code section offset as well as the script language on the Debugger.scriptParsed and Debugger.scriptFailedToParse events. Bug: chromium:1057569 Change-Id: I40b43f28f0b3e094720db4fc1f07db1a0c293ee0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2083025Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#66749}
-
- 04 Feb, 2020 1 commit
-
-
Johannes Henkel authored
"Remove the JSON parser and revamp Value::parseBinary." Upstream review: https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/2026351 In addition to the upstream changes, this PR includes the necessary tweaks to the V8 inspector (now taking the detour via CBOR to parse Javascript). New Revision: 0e0a1995497511008864546c094e885f3f1e13a3 Change-Id: I5ccfea5a3e1bab3e183b45c87726747d17d06944 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2020518Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Johannes Henkel <johannes@chromium.org> Cr-Commit-Position: refs/heads/master@{#66116}
-
- 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}
-
- 30 Jan, 2020 1 commit
-
-
Peter Marshall authored
'resumed' events are sent to the renderer from V8 and stored in a queue. We didn't flush this queue previously, meaning these events would sit in the queue until another message coincidentally flushed the queue. Under some circumstances, the resumed event would not get flushed and the UI would still be in a paused state, even when JS had resumed. Bug: chromium:1044989 Change-Id: I5d92fcc0a40d4e3816501da98f6be8a46f227e0f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2023563Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#66041}
-
- 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}
-
- 18 Dec, 2019 1 commit
-
-
Z Nguyen-Huu authored
In setting breakpoint in wasm, we can find wasm script from location but in removing a breakpoint, only breakpoint id is provided. For wasm, we have a list of all BreakPointInfo objects attached to the Script. From breakpoint id, we iterates all scripts to find the targeted breakpoint and remove it. Bug: chromium:837572 Change-Id: Ia5d0fb7d804fb98270b2103232bc10eb5d4f93a3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1959749 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> 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@{#65505}
-
- 15 Nov, 2019 1 commit
-
-
Eric Leese authored
Currently the inspector reports Wasm in one of two ways: - If there is a source map, report one script per Wasm script, with bytecode but no source. - If there is no source map, report one script per Wasm function, with source (Wasm disassembly) but no bytecode. With this change, behavior with source map is same, but without source map it will report both ways. This will allow us to change the frontend to do its own disassembly, allowing us to remove the per-function scripts in a future change. Bug: chromium:1013527 Change-Id: I0c559ad08896e8d0da419e3c6ad8d1edff3976fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899782Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Eric Leese <leese@chromium.org> Cr-Commit-Position: refs/heads/master@{#64980}
-
- 08 Oct, 2019 1 commit
-
-
Ingvar Stepanyan authored
Unfortunately, codebase contains lots of places that use one of the two formats as an internal representation for Wasm locations: 1) {line: 0, column: byte offset within entire module} 2) {line: function index, column: byte offset within function} These places choose these formats interchangeably and convert from one to another depending on the presence of source map URL in Wasm. This is not very convenient and makes it hard to add support for DWARF which should behave just like Wasm with source maps - that is, report a raw Wasm script instead of fake scripts per each disassembled function, and use representation (1) instead of (2) internally. I tried to refactor these locations and avoid checking for source map URLs in the previous CL - https://crrev.com/c/v8/v8/+/1833688. However, it quickly got out of hand, and updating code in one place just kept revealing yet another that gets broken by the changes, so I made a decision to abandon it and leave to someone who knows the codebase better. Instead, this CL is based on https://crrev.com/c/v8/v8/+/1809375, but, rather than trying to integrate DWARF separately and only for supported agents, it pretends that encountering DWARF section is the same as encountering a `sourceMappingURL` section with fake URL "wasm://dwarf". This ensures that Wasm with DWARF behaves exactly in the same way as Wasm with source maps, just like we want, with minimal changes to the codebase. The only downside is that frontends without DWARF support won't get even a disassembled version of Wasm that contains DWARF info. This is unfortunate, but, as per previous discussions, should be fine given current state of Wasm debugging. Change-Id: Ia7256075e4bfd2f407d001d02b96883d7267436e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1834341 Commit-Queue: Ingvar Stepanyan <rreverser@google.com> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64157}
-
- 25 Sep, 2019 1 commit
-
-
Ingvar Stepanyan authored
This addition will allow to experiment with parsing DWARF information from WebAssembly on the frontend side for improved debugging. The frontend must explicitly opt-in to this experiment by setting `supportsWasmDwarf: true` in `Debugger.enable` params. When this option is present, and Wasm appears to contain DWARF information (heuristic: `.debug_info` custom section is present), V8 will not try to disassemble and report each WebAssembly function as a separate fake script, but instead will report Wasm module as a whole. Note that V8 already does this when Wasm is associated with a source map. Additionally, this CL adds a dedicated `Debugger.getWasmBytecode` command that accepts scriptId and returns raw wire bytes of the chosen WebAssembly module. Change-Id: I7a6e80daf8d91ffaaba04fa15688f2ba9552870f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1809375 Commit-Queue: Ingvar Stepanyan <rreverser@google.com> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63969}
-
- 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 1 commit
-
-
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}
-
- 10 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
Since we switched to C++14 now, we can use {std::make_unique} instead of our own {base::make_unique} from {template-utils.h}. R=mstarzinger@chromium.org, yangguo@chromium.org Bug: v8:9687 No-Try: true Change-Id: I660eb30038bbb079cee93c7861cd87ccd134f01b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1789300 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#63642}
-
- 15 Jun, 2019 1 commit
-
-
Johannes Henkel authored
New revision: 83b1154a9661d22bba9a368d368214cc20880419 This updates the usages of the protocol types to the new definitions, using std::vector-based implementations of protocol::Array. Change-Id: Ibb095862fed7db23f1a0b4b5b726bddbe1e2585e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1654091 Commit-Queue: Johannes Henkel <johannes@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#62194}
-
- 10 May, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Everything after UNREACHABLE is dead code, so it makes sense to remove them. Bug: v8:9183 Change-Id: If76468a73b926d74717cc2348fd5b36d30f680c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605727Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61411}
-
- 08 May, 2019 1 commit
-
-
Aleksei Koziatinskii authored
There are two possible type: - scriptParsed - breakpoint for any script, - scriptWithSourceMapParsed - breakpoint for script with sourceMappingURL. When one of the breakpoints is set then for each matched script we add breakpoint on call to top level function of that script. Node: https://github.com/nodejs/node/issues/24687 R=dgozman@chromium.org Bug: chromium:887384,chromium:724793,chromium:882909 Change-Id: I9c08b2a2a5ba7006adfedd85fc92ae191517af00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1354245Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Reviewed-by:
Alexei Filippov <alph@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61353}
-
- 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}
-
- 25 Feb, 2019 1 commit
-
-
Anna Henningsen authored
Do not leak handles to the outer scopes from inspector methods. Add `SealHandleScope`s to the tests and the d8 binding, and `HandleScope`s in the places in the inspector source where handles are actually used. Change-Id: I80b1bb0ccc4778b32e9198513f63d5c0652c8f59 Reviewed-on: https://chromium-review.googlesource.com/c/1484304Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#59812}
-
- 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 1 commit
-
-
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}
-