| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[baseline] Ensure sparkplug is in a consistent state when deopting. When we call from sparkplug into any code that could enable the debugger, then we must expect that the sparkplug code is deoptimized and execution continues at the next bytecode. In other words there can't be any effectful code between such a deopt point and the next bytecode boundary. This CL fixes 3 bytecode implementations, where this was violated. And, it adds some verification that this does not happen again. * ToName: Changed bytecode to return result in accumulator. * JumpLoop: Changed bytecode to allow clobbering of accumulator. * VisitCallRuntimeForPair: Changed baseline implementation such that storing the result into the register file is part of the runtime function. Bug: chromium:14190 Change-Id: I0e036d2650207ff3f56fc9299beaaa1ad672fb08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4705323 Reviewed-by: Jakob Linke <jgruber@chromium.org> Auto-Submit: Olivier Flückiger <olivf@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Commit-Queue: Olivier Flückiger <olivf@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#89176} | 2 年前 | |
[debugger] Throw exception if var x fails in debug eval There are cases where DeclareEvalVar can fail to create a variable, in particular when the declaration scope is not extensible. Throw an error in such cases. Fixed: chromium:1145119 Change-Id: I6260f570570c4d7801231bdb5f6724f3734444fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3295348 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/main@{#78017} | 4 年前 | |
[tests] Fix assertFalse(exception) anti-pattern Some debugging tests relied on the following anti-pattern: let exception = false; try { /* ... some code that may throw on test failure ... */ } catch (e) { exception = e; } assertFalse(exception); This may be problematic if a falseish value is thrown. Change-Id: I02eace4cc656fc9581928a90ac53cda4dc72b30c Reviewed-on: https://chromium-review.googlesource.com/972822 Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52105} | 8 年前 | |
[inspector] gracefully handle stack overflows in the inspector. Hopefully we can avoid going through JS at all, so we can avoid this issue. R=jgruber@chromium.org, kozyatinskiy@chromium.org BUG=v8:5654 Review-Url: https://codereview.chromium.org/2510093002 Cr-Original-Commit-Position: refs/heads/master@{#41802} Committed: https://chromium.googlesource.com/v8/v8/+/3ab3b6261a4299d14bdc109f0abc914961735b1e Review-Url: https://codereview.chromium.org/2510093002 Cr-Commit-Position: refs/heads/master@{#41807} | 9 年前 | |
[osr] Ensure trying to osr does not skip loop interrupts Fixed: 374013413 Change-Id: I52d7b4e165e0abd0bd517a81d2e8ef3f1f802bfb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5946288 Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Auto-Submit: Olivier Flückiger <olivf@chromium.org> Reviewed-by: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#96708} | 1 年前 | |
[debugger,compiler] do not recompile already compiled inner functions. GetSharedFunctionInfo will compile inner functions if we get the compile-eager hint, even if the shared function info already exists, and the function already has been compiled. This breaks suspended generator objects. R=mstarzinger@chromium.org, neis@chromium.org BUG=v8:5575 Review-Url: https://codereview.chromium.org/2494043002 Cr-Commit-Position: refs/heads/master@{#40936} | 9 年前 | |
[debugger,compiler] do not recompile already compiled inner functions. GetSharedFunctionInfo will compile inner functions if we get the compile-eager hint, even if the shared function info already exists, and the function already has been compiled. This breaks suspended generator objects. R=mstarzinger@chromium.org, neis@chromium.org BUG=v8:5575 Review-Url: https://codereview.chromium.org/2494043002 Cr-Commit-Position: refs/heads/master@{#40936} | 9 年前 | |
[debugger,compiler] do not recompile already compiled inner functions. GetSharedFunctionInfo will compile inner functions if we get the compile-eager hint, even if the shared function info already exists, and the function already has been compiled. This breaks suspended generator objects. R=mstarzinger@chromium.org, neis@chromium.org BUG=v8:5575 Review-Url: https://codereview.chromium.org/2494043002 Cr-Commit-Position: refs/heads/master@{#40936} | 9 年前 | |
[debug][cleanup] Use consistent StepInto and StepOver naming. In the Chrome DevTools Protocol, the step actions are named StepOut, StepOver, and StepInto, but internally we used StepOut, StepNext, and StepIn instead. This change adjusts the naming to be consistent. Bug: chromium:901814, chromium:1162229 Change-Id: Id3502a1b0a4aadd94734ec3d1fef73c1782fa220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928510 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74877} | 5 年前 | |
[debug][cleanup] Use consistent StepInto and StepOver naming. In the Chrome DevTools Protocol, the step actions are named StepOut, StepOver, and StepInto, but internally we used StepOut, StepNext, and StepIn instead. This change adjusts the naming to be consistent. Bug: chromium:901814, chromium:1162229 Change-Id: Id3502a1b0a4aadd94734ec3d1fef73c1782fa220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928510 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74877} | 5 年前 | |
[Test] Add PrepareForOptimization to debugger/ tests. BUG=v8:8801 Change-Id: Id5ef6219ba2dca2be0603dd0d45e7b27136836e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587391 Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61085} | 7 年前 | |
[Test] Add PrepareForOptimization to debugger/ tests. BUG=v8:8801 Change-Id: Id5ef6219ba2dca2be0603dd0d45e7b27136836e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587391 Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61085} | 7 年前 | |
[interpreter] Elide more TDZ hole checks Add an analysis to the BytecodeGenerator that elides subsequent hole checks after the first one in basic blocks. Guarded by --ignition-elide-redundant-tdz-checks. For more details, see https://docs.google.com/document/d/1klT7-tQpxtYbwhssRDKfUMEgm-NS3iUeMuApuRgZnAw/edit?usp=sharing Bug: v8:13723 Change-Id: Id0e728fb8baa5d3aeb3afc2927d39a7a11a8e9a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4405039 Reviewed-by: Adam Klein <adamk@chromium.org> Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#87053} | 3 年前 | |
[Test] Add PrepareForOptimization to debugger/ tests. BUG=v8:8801 Change-Id: Id5ef6219ba2dca2be0603dd0d45e7b27136836e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587391 Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61085} | 7 年前 | |
Revert "[turbofan] Making OSR concurrent" This reverts commit 9f902b74832b05ab4df055d28035d8f9ed46e624. Reason for revert: Reverting due to various fuzzing issues (numfuzz issues listed in original CL comments, ochang fuzzer in https://bugs.chromium.org/p/chromium/issues/detail?id=1299418) Original change's description: > [turbofan] Making OSR concurrent > > ... to reduce compilation overhead on the main thread for OSR > > Bug: v8:12161 > Change-Id: I54ca5fa6201405daf92dac9cf51d5de4b46577b3 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3369361 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Fanchen Kong <fanchen.kong@intel.com> > Cr-Commit-Position: refs/heads/main@{#79188} Bug: v8:12161 Change-Id: Id6f6086517cd77fb1aa60b20fd03528b8e2ca686 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3477104 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#79194} | 4 年前 | |
Add test for debug evaluating a previously non-whitelisted variable This CL adds a test where we evaluate a variable that is context allocated (through the use of 'eval'), but not used by the closure. This did not work with the previous whitelist approach, but works now with the new blacklist approach (see https://crrev.com/c/1795354) Bug: v8:9482 Change-Id: I1e453dec0b624bf7e0312100e119d86c9c481ba9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796543 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#63671} | 6 年前 | |
[debug] Collect source positions Debug::PrintBreakLocation Force source position collection when using --print-break-location. Bug: v8:10132 Change-Id: I4706d9f1e09c52ca7bfb2410485bc3ef26c2128a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2011821 Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#65885} | 6 年前 | |
[d8][mjsunit][tools] Improve d8 file API - Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883} | 5 年前 | |
[debug] Include Token::CLASS in class scopes and ContainsPosition While evaluating a class literal the containing function points to Token::CLASS. It may have pushed a context for that class that uses the range of the class scope. So far the class scope had a range that started after the class name or class token in case of anonymous classes. That means the source position of the function frame doesn't point to a position that is included in the active context range. This breaks the debugger because it relies on being able to find the matching parser scope for the active context by looking at the source position. The fix is two-fold: - extend the class scope source range to include Token::CLASS - update ScopeChainRetriever::ContainsPosition to include the start position of class scopes as a valid source position. We can't always include start due to arrow functions that don't have braces. Bug: chromium:1156498 Change-Id: I9ec640c6326289dadcb154bb0a329ca6f8188f8b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2857957 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#74268} | 5 年前 | |
[sparkplug][debugger] Fix deopt of inlined function in debugger We could end up in a baseline entry trampoline without having baseline code, because of an unhandled interaction in the debugger (discarding baseline code) and the deoptimizer. Bug: chromium:1199681 Change-Id: Ia33bb4d64903dd989728465b3d83a88b84597a8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843820 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#74153} | 5 年前 | |
[bytecode-generator] Move source code position for classes Move the source code position for classes to the point where the block context has already been created. Previously, there would be a mismatch between the context and the scope when using the ScopeIterator. We paused at a point where, according to the source position, we already are in a class scope, but according to the bytecode (context), we would not yet have created the block context for the class. Also-by: leszeks@chromium.org, jarin@chromium.org Fixed: chromium:1259878 Change-Id: I58b84f4dcfa8c4f51e16812c7a8caa21da99f262 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3284887 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Patrick Thier <pthier@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/main@{#77940} | 4 年前 | |
[debug] Fix source position around class literals This CL builds upon https://crrev.com/c/3284887 (and partly reverts it). Class literals are a bit iffy when it comes to source position and debugging. Mainly the debugger assumes the following invariant: When we are paused inside a class scope, then we expect the class's BlockContext to be pushed already. On the other hand, when we are paused outside a class scope in a function, we don't expect to find the class's BlockContext. The problem is that there are cases where we can either pause "inside" or "outside" the class scope. E.g.: * var x = class {}; will break on class which is inside the class scope, so we expect the BlockContext to be pushed * new class x {}; will break on new which is outside the class scope, so we expect the BlockContext to not be pushed yet. The issue with the fix in https://crrev.com/c/3284887 is that it adjusted the break position for the bytecode of class literals to ALWAYS be after the BlockContext is pushed. This breaks the second example above. We need to tighten the fix a bit and only defer the break position if the "current source position" is inside the class's scope. This way we always guarantee that the BlockContext is pushed or not, depending if the source position that corresponds to the break position is inside or outside the class's scope. Note 1: The CL updates a lot of the bytecode expectations. This is because the class literals are often the first statement in the snippet so we don't need to defer the break position. Note 2: We add a mirrored debugger test to the inspector test so the fuzzer can have some more fun. Fixed: chromim:1350842 Change-Id: I9b5a409f77be80db674217a685a3fc9f8a0a71cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3827871 Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#82473} | 3 年前 | |
[debug] remove legacy implementation for break points. R=herhut@chromium.org, jgruber@chromium.org Bug: v8:7310, v8:5510 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Icefd10b6cc210e5bb2684d18b091179ead387326 Reviewed-on: https://chromium-review.googlesource.com/934445 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51552} | 8 年前 | |
[debug][cleanup] Use consistent StepInto and StepOver naming. In the Chrome DevTools Protocol, the step actions are named StepOut, StepOver, and StepInto, but internally we used StepOut, StepNext, and StepIn instead. This change adjusts the naming to be consistent. Bug: chromium:901814, chromium:1162229 Change-Id: Id3502a1b0a4aadd94734ec3d1fef73c1782fa220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928510 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74877} | 5 年前 | |
[Test] Add PrepareForOptimization to debugger/ tests. BUG=v8:8801 Change-Id: Id5ef6219ba2dca2be0603dd0d45e7b27136836e9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587391 Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#61085} | 7 年前 | |
[debugger] Fix debug-evaluate for context-allocated this. When this is context allocated inside a class constructor (strict mode function), due to an arrow function, debug evaluate was unable to locate the value. This is quick fix for the issue, which probably deserves a more general rewrite at some later point in time (with more domain expertise). Bug: chromium:760225 Change-Id: I5208d8a202ad69439f60ada480599d0efcdc4ce4 Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687412 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#62532} | 6 年前 | |
[d8] Exit with error code upon unhandled promise rejection With this CL d8 exits with an error code if there is an unhandled promise rejection, e.g. due tue a failed assertion in a promise. Up until now these assertions were just ignored. Bug: v8:10556 Change-Id: I25f20e4be45a2de130562deb15f6a144f0ac976f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2238569 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#68503} | 5 年前 | |
[debug][cleanup] Use consistent StepInto and StepOver naming. In the Chrome DevTools Protocol, the step actions are named StepOut, StepOver, and StepInto, but internally we used StepOut, StepNext, and StepIn instead. This change adjusts the naming to be consistent. Bug: chromium:901814, chromium:1162229 Change-Id: Id3502a1b0a4aadd94734ec3d1fef73c1782fa220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928510 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74877} | 5 年前 | |
[d8][mjsunit][tools] Improve d8 file API - Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883} | 5 年前 | |
[debug] fix scaling prefix patching for debug evaluate R=jgruber@chromium.org Bug: chromium:882664 Change-Id: I12248de9a01839433daa40e8273a18a15a9867bb Reviewed-on: https://chromium-review.googlesource.com/1221547 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#55910} | 7 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 9 年前 | ||
| 1 年前 | ||
| 9 年前 | ||
| 9 年前 | ||
| 9 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 3 年前 | ||
| 7 年前 | ||
| 4 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 8 年前 | ||
| 5 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 7 年前 |