- 08 Oct, 2021 1 commit
-
-
Benedikt Meurer authored
The V8Debugger maintains a list of async stack traces that were captured so far, two mappings pointing weakly to async stack traces in this (one mapping for tasks and one mapping for stored async stack traces). The V8Debugger regularly prunes the list (and cleans up the stale weak pointers afterwards) by going through the list in insertion order and removing items until the number is below half the limit of 128k entries. This approach wastes a lot of memory, since the list grows very big before this manual collection starts, and it doesn't pay any attention to whether the stack traces are still in active use or not. Also the limit of 128k seems incredibly high (and arbitrary). This leads to crashes observed in applications with lots of async task activity (i.e. huge Angular applications) as soon as the debugger is attached. This CL performs a quickfix by reducing the limit for async stack traces to a more reasonable number of 8k. We will need to follow up with a proper fix that ensures that we only hold on strongly to async stack traces that are still in need. Also-By: jarin@chromium.org Fixed: chromium:1258000 Bug: chromium:1257637, chromium:1254279, chromium:1203218 Change-Id: I2c482a688df4c6df575a0045d443db89d89b3d73 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211709 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77301}
-
- 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}
-
- 27 Sep, 2021 1 commit
-
-
Ng Zhi An authored
Bug: v8:12244 Change-Id: I57a54b43c1821b57ef45de38c4d7782534f74d2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3183521Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77098}
-
- 16 Sep, 2021 1 commit
-
-
Jaroslav Sevcik authored
EphemeronHashTable does not trigger interrupts when accessed (as opposed to calling the WeakMapGet builtin), so it avoids the use-after-free problem when reading exception metadata triggers session disconnect while holding a reference to the session. Bug: chromium:1241860 Change-Id: I29264b04b8daf682e7c33a97faedf50e323d57c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3158326 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#76864}
-
- 13 Sep, 2021 1 commit
-
-
Benedikt Meurer authored
This unblocks https://crrev.com/c/3099011 by speeding up the case for the DebugPropertyIterator where only non-indexed properties (for large arrays or typed arrays) are requested. Previously we'd walk through all properties - including all indexed properties - and only filter out the indexed properties in the end in `ValueMirror::getProperties()`. Bug: chromium:1199701, chromium:1162229 Change-Id: I2555e3129fef29da347314eee400ea97ebf5e5b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3114135 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/main@{#76796}
-
- 09 Sep, 2021 1 commit
-
-
Philip Pfaffe authored
Bug: chromium:1241860 Change-Id: Ieee7d5c67f1a42c0c9855148a7d497586d6c5555 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3149456Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/main@{#76753}
-
- 24 Aug, 2021 1 commit
-
-
Dan Elphick authored
This is a reland of d1b27019 Fixes include: Adding missing file to bazel build Forward-declaring classing before friend-classing them to fix win/gcc Add missing v8-isolate.h include for vtune builds Original change's description: > [include] Split out v8.h > > This moves every single class/function out of include/v8.h into a > separate header in include/, which v8.h then includes so that > externally nothing appears to have changed. > > Every include of v8.h from inside v8 has been changed to a more > fine-grained include. > > Previously inline functions defined at the bottom of v8.h would call > private non-inline functions in the V8 class. Since that class is now > in v8-initialization.h and is rarely included (as that would create > dependency cycles), this is not possible and so those methods have been > moved out of the V8 class into the namespace v8::api_internal. > > None of the previous files in include/ now #include v8.h, which means > if embedders were relying on this transitive dependency then it will > give compile failures. > > v8-inspector.h does depend on v8-scripts.h for the time being to ensure > that Chrome continue to compile but that change will be reverted once > those transitive #includes in chrome are changed to include it directly. > > Full design: > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing > > Bug: v8:11965 > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76424} Cq-Include-Trybots: luci.v8.try:v8_linux_vtunejit Bug: v8:11965 Change-Id: I99f5d3a73bf8fe25b650adfaf9567dc4e44a09e6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113629Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/main@{#76460}
-
- 23 Aug, 2021 3 commits
-
-
Benedikt Meurer authored
When eagerly evaluating native accessors in the inspector, treat rejected promises the same way that we treat exceptions, and also make sure to mark them as handled, so they are not logged as unhandled promise rejections by Chromium. Also-By: jarin@chromium.org Bug: chromium:1076820, chromium:1199247 Change-Id: I3cef1e7c04ecbf9e734db946d669a3b5186eca5b Fixed: chromium:1241298 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3110610 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/main@{#76432}
-
Dan Elphick authored
This reverts commit d1b27019. Reason for revert: Broke vtune build, tsan build and possibly others Original change's description: > [include] Split out v8.h > > This moves every single class/function out of include/v8.h into a > separate header in include/, which v8.h then includes so that > externally nothing appears to have changed. > > Every include of v8.h from inside v8 has been changed to a more > fine-grained include. > > Previously inline functions defined at the bottom of v8.h would call > private non-inline functions in the V8 class. Since that class is now > in v8-initialization.h and is rarely included (as that would create > dependency cycles), this is not possible and so those methods have been > moved out of the V8 class into the namespace v8::api_internal. > > None of the previous files in include/ now #include v8.h, which means > if embedders were relying on this transitive dependency then it will > give compile failures. > > v8-inspector.h does depend on v8-scripts.h for the time being to ensure > that Chrome continue to compile but that change will be reverted once > those transitive #includes in chrome are changed to include it directly. > > Full design: > https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing > > Bug: v8:11965 > Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/main@{#76424} Bug: v8:11965 Change-Id: Id57313ae992e720c8b19abc975cd69729e1344aa No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3113627 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#76428}
-
Dan Elphick authored
This moves every single class/function out of include/v8.h into a separate header in include/, which v8.h then includes so that externally nothing appears to have changed. Every include of v8.h from inside v8 has been changed to a more fine-grained include. Previously inline functions defined at the bottom of v8.h would call private non-inline functions in the V8 class. Since that class is now in v8-initialization.h and is rarely included (as that would create dependency cycles), this is not possible and so those methods have been moved out of the V8 class into the namespace v8::api_internal. None of the previous files in include/ now #include v8.h, which means if embedders were relying on this transitive dependency then it will give compile failures. v8-inspector.h does depend on v8-scripts.h for the time being to ensure that Chrome continue to compile but that change will be reverted once those transitive #includes in chrome are changed to include it directly. Full design: https://docs.google.com/document/d/1rTD--I8hCAr-Rho1WTumZzFKaDpEp0IJ8ejZtk4nJdA/edit?usp=sharing Bug: v8:11965 Change-Id: I53b84b29581632710edc80eb11f819c2097a2877 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097448Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/main@{#76424}
-
- 18 Aug, 2021 1 commit
-
-
Benedikt Meurer authored
This introduces a new, optional `nonIndexedPropertiesOnly` flag to the `Runtime.getProperties` inspector request, which tells the inspector to only report properties whose name is not an (typed) array index. This is to support retrieving all properties except for the indexed ones when the DevTools front-end decides to use the array bucketing mechanism. Previously the DevTools front-end had some quite complicated logic in place to simulate this via injected JavaScript, but that logic didn't pick up internal properties and was also interfering with the inherited accessor mechanism. With this new flag, it's straight-forward to implement the correct behavior in the DevTools front-end. The corresponding devtools-frontend CL is https://crrev.com/c/3099011. Before: https://imgur.com/hMX6vaV.png After: https://imgur.com/MGgiuJQ.png Bug: chromium:1199701 Change-Id: Iacbe9756ed8a2e6982efaebe1e7c606d37c05379 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3099686 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#76360}
-
- 16 Aug, 2021 2 commits
-
-
Santiago Aboy Solanes authored
This reverts commit a4a152ec. Reason for revert: We haven't seen the flakes in a while, we can re-enable functionality Original change's description: > Reland "[debugger] Try to trigger pause-on-oom flakes with an extra printf" > > This is a reland of 8f7e9158 > > Original change's description: > > [debugger] Try to trigger pause-on-oom flakes with an extra printf > > > > We have an issue that we can't repro locally. Enable back the > > pause-on-oom tests with an extra printf with DEBUG. We will be able to > > better assess the failures when they appear on the bot. > > > > Bug: v8:10876 > > Change-Id: I066539c4b5865ecb6f2e589e9543e8c9ebd4830b > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2474782 > > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#70558} > > Bug: v8:10876 > Change-Id: Ice31c9455830da320ab057293c341f69e1f0c510 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2484799 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70643} Bug: v8:10876 Change-Id: I901d31e1e92bfef0b2917ea611354618e5cda585 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3071404Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#76302}
-
Camillo Bruni authored
This reverts commit 91c8be95. RCS should not be exposed through the API or the inspector protocol as they are meant as an internal debugging feature. The only regularly tested and supported way is through chrome-tracing. Given that this was used mostly for an experiment to analyse chrome's performance, we can use pprof support as a replacement. Original change's description: > [DevTools] Implemented DevTools protocol API to retrieve V8 RunTime Call Stats. > > The new APIs are: > enableRuntimeCallStats > disableRuntimeCallStats > getRuntimeCallStats > > The RunTime Call Stats are collected per isolate. > > Change-Id: I7e520e2c866288aa9f9dc74f12572abedf0d3ac8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1881601 > Commit-Queue: Peter Kvitek <kvitekp@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64784} Change-Id: Ia7575436e97d3420dd7e68414d89477e6a86bb05 Bug: v8:11395 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2998585Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#76297}
-
- 13 Aug, 2021 1 commit
-
-
Benedikt Meurer authored
Previously the V8 inspector would report native accessors, whose getter evaluates to a value without causing a side effect, as own data properties. But then the DevTools front-end will not be able to tell whether that accessor was actually an own property or just an inherited accessor. The reason for reporting them as own properties in the first place was to ensure that these properties show up in the object's preview. But that we can handle differently by just marking these properties as synthetic internally and including them in the preview. Bug: chromium:1076820 Change-Id: I223299af7954e7b1a4a16bb5180d4ceff50f170f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094005 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#76276}
-
- 04 Aug, 2021 2 commits
-
-
Benedikt Meurer authored
This is a reland of ce8cef36 Original change's description: > [inspector] Consistently format all native accessors as own properties. > > Previously the V8 inspector would only turn embedder accessors on the > prototype chain into data properties, but would not do the same for > ECMAScript builtins, which is kind of inconsistent and weird behavior. > > This leaves in the hack that the inspector reports native accessor > properties as (own) data properties, but now at least the very least > does so consistently. In the absence of a better solution, we'll go > with this for now. > > Bug: chromium:1076820, chromium:1199247 > Change-Id: I593f909a46cb714dbec629a2944eeb892881ba6f > Before: https://imgur.com/kPuSldj.png > After: https://imgur.com/eFau45m.png > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3067319 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#76059} Bug: chromium:1076820, chromium:1199247 Change-Id: I11987194b0d0b8b250eda4f8ce0ae5fc743eb27c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3070701 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#76084}
-
Sathya Gunasekaran authored
This reverts commit ce8cef36. Reason for revert: broke blink tests: https://ci.chromium.org/ui/p/chromium/builders/try/mac-rel/751822/overview Original change's description: > [inspector] Consistently format all native accessors as own properties. > > Previously the V8 inspector would only turn embedder accessors on the > prototype chain into data properties, but would not do the same for > ECMAScript builtins, which is kind of inconsistent and weird behavior. > > This leaves in the hack that the inspector reports native accessor > properties as (own) data properties, but now at least the very least > does so consistently. In the absence of a better solution, we'll go > with this for now. > > Bug: chromium:1076820, chromium:1199247 > Change-Id: I593f909a46cb714dbec629a2944eeb892881ba6f > Before: https://imgur.com/kPuSldj.png > After: https://imgur.com/eFau45m.png > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3067319 > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#76059} Bug: chromium:1076820, chromium:1199247 Change-Id: Ib090e0a1dad26f5c9684d906b775555b6a07cca0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3069012Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#76071}
-
- 03 Aug, 2021 1 commit
-
-
Benedikt Meurer authored
Previously the V8 inspector would only turn embedder accessors on the prototype chain into data properties, but would not do the same for ECMAScript builtins, which is kind of inconsistent and weird behavior. This leaves in the hack that the inspector reports native accessor properties as (own) data properties, but now at least the very least does so consistently. In the absence of a better solution, we'll go with this for now. Bug: chromium:1076820, chromium:1199247 Change-Id: I593f909a46cb714dbec629a2944eeb892881ba6f Before: https://imgur.com/kPuSldj.png After: https://imgur.com/eFau45m.png Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3067319 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#76059}
-
- 30 Jul, 2021 1 commit
-
-
Benedikt Meurer authored
Replace the hard-coded blocklist ("Response.body" and "Request.body") in the V8 inspector with proper side-effect free debug evaluate. This is otherwise a non-functional change and in particular preserves the behavior of reporting accessors as (own) data properties. That will be tackled in a follow-up CL. This CL is possible because with https://crrev.com/c/3056879 Blink now properly marks accessors as side-effect free consistently with what the V8 inspector had done before. Doc: http://doc/1gLyyOlssS5zyCSEyybVC-5sp0UnNJj2hBoFyf6ryrTc Bug: chromium:829571, chromium:1076820, chromium:1119900 Change-Id: Idb256accaf4cfb5db5982b3eb06ddcef588be635 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3062573 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#76019}
-
- 23 Jul, 2021 2 commits
-
-
Benedikt Meurer authored
The AsyncStackTrace had some magical self-healing where it'd try to not stitch together async stack traces when the instrumentation seemed to be broken. This silent self-healing however seems to be broken itself, and instead of papering over the problem we should fix instrumentation bugs when they are observed. Fixed: chromium:1231064 Change-Id: I2bcc85679abdbe6f4df4866cb951c5f6cefb4f67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3048181 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@{#75885}
-
Benedikt Meurer authored
This properly threads through the `executionContextId` to the request reported to the DevTools front-end, similarly to how we already report the `executionContextId` as part of `Runtime.bindingCalled`. Bug: chromium:1231521 Change-Id: I0a003041aedd8ec661d1b07cdddbcd1f2866a99f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3046187 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#75875}
-
- 09 Jul, 2021 1 commit
-
-
Benedikt Meurer authored
This is a bit odd, since `V8DebuggerScript::setBreakpoint()` is declared as pure virtual in the header file, and the actual implementation is inside the source file, in `ActualScript::setBreakpoint()`. So this is dead code that was somehow not detected as such by the C++ compiler. Bug: chromium:700516, chromium:1162229 Change-Id: Ifc7aa6926c21edbb0b6a5176a35711186c4958cb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3017801 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/master@{#75654}
-
- 06 Jul, 2021 1 commit
-
-
Sigurd Schneider authored
Associating exception meta-data may throw an exception if the browser is under memory pressure. This CL adds a try-catch scope to prevent surfacing of said exceptions in Chrome. Bug: chromium:1226360 Change-Id: Ide969273b2ac6dc109370ba2adcb20586ef30bff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008214Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#75580}
-
- 05 Jul, 2021 1 commit
-
-
Benedikt Meurer authored
In order to implement eager (side effect free) evaluation of arbitrary accessor properties correctly, we need the ability to call getters while guaranteeing that we don't trigger side effects. This is accomplished by adding a `throwOnSideEffect` flag to the `Runtime.callFunctionOn` API, similar to what's already available with the `Runtime.evaluate` and the `Debugger.evaluateOnCallFrame` APIs. Bug: chromium:1076820, chromium:1119900, chromium:1222114 Change-Id: If2d6c51376669cbc71a9dd3c79403d24d62aee43 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3001360 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@{#75556}
-
- 02 Jul, 2021 3 commits
-
-
Zhi An Ng authored
This reverts commit 92bfb63c. Reason for revert: Broke build https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20shared/43249/overview Original change's description: > [build] Separate out inspector as a shared library > > This makes src/inspector:inspector into a v8_component producing a > shared library in component builds. To enable this, all of its exported > are now marked with V8_INSPECTOR_EXPORT. > > This also inverts the dependency between src/inspector:inspector and > :v8_base_without_compiler, and instead makes d8 and some tests depend on > inspector rather than getting it via v8. > > As a result, the no_check_targets exclusions list in .gn is reduced. > > Ultimately embedders like chromium should depend on :v8 and optionally > src/inspector:inspector, but to allow that transition to occur, this > renames :v8 to :v8_lib and introduces a new :v8 which depends on v8 and > inspector. Once all embedders have changed to reflect the new structure, > this part can be reverted. > > Bug: v8:11917 > Change-Id: Ia8b15f07fb15acc5e1f111b1a80248def4285fd0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999088 > Reviewed-by: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Dan Elphick <delphick@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75532} Bug: v8:11917 Change-Id: I0ed27ed95211d13b8b3438a8c0a42d577806c475 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3003452 Auto-Submit: Zhi An Ng <zhin@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75533}
-
Dan Elphick authored
This makes src/inspector:inspector into a v8_component producing a shared library in component builds. To enable this, all of its exported are now marked with V8_INSPECTOR_EXPORT. This also inverts the dependency between src/inspector:inspector and :v8_base_without_compiler, and instead makes d8 and some tests depend on inspector rather than getting it via v8. As a result, the no_check_targets exclusions list in .gn is reduced. Ultimately embedders like chromium should depend on :v8 and optionally src/inspector:inspector, but to allow that transition to occur, this renames :v8 to :v8_lib and introduces a new :v8 which depends on v8 and inspector. Once all embedders have changed to reflect the new structure, this part can be reverted. Bug: v8:11917 Change-Id: Ia8b15f07fb15acc5e1f111b1a80248def4285fd0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2999088Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75532}
-
Alex Rudenko authored
Without flushing the messages, the timing of the notifications is unpredictable making it hard to build features on top. Bug: chromium:1224371 Change-Id: Ice09ef82231186d1a93ca82508c49e26585ce260 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2991237Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Alex Rudenko <alexrudenko@chromium.org> Cr-Commit-Position: refs/heads/master@{#75525}
-
- 01 Jul, 2021 1 commit
-
-
Peter Kasting authored
There are still a few cases remaining that seem more controversial; I'll upload those separately. Bug: chromium:1066980 Change-Id: Iabbaf23f9bbe97781857c0c589f2b3db685dfdc2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2994804 Commit-Queue: Peter Kasting <pkasting@chromium.org> Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#75494}
-
- 29 Jun, 2021 1 commit
-
-
Benedikt Meurer authored
The accessor flattening code checks for the "description" property of Symbols. But the incoming object is a JSReceiver (expressed as v8::Object on the public API) and thus can never be a Symbol (which is a primitive value). So this check is always false. Bug: chromium:1076820 Change-Id: I5190d515cabcfcf052530c251a5ebfe946ae1742 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2991245 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#75440}
-
- 28 Jun, 2021 1 commit
-
-
Sigurd Schneider authored
Bug: chromium:1213393 Change-Id: I6c7d334cc2c3e6d9f6bdc5ca119a71c2fc013e88 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992710 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#75411}
-
- 25 Jun, 2021 1 commit
-
-
John Xu authored
These changes are found after Cobalt rebased to V8 v8.8. Most changes are grouped into their own CLs and here are the rest. - Replace raw printf with PrintF - Include Starboard as a platform for some implementations - Add some missing headers. This is probably because Cobalt does not compile all of V8 sources so some missing headers are only exposed when compiling Cobalt. Change-Id: Idf1512f57c37c8a63f79b1cf4ffc1da5d08421e2 Bug: v8:10927 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2966197 Auto-Submit: John Xu <johnx@google.com> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: John Xu <johnx@google.com> Cr-Commit-Position: refs/heads/master@{#75376}
-
- 24 Jun, 2021 1 commit
-
-
Sigurd Schneider authored
Bug: chromium:1213393 Change-Id: I56817237424bb83aa9e5d06a47187f245c3cae0e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983200 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#75349}
-
- 21 Jun, 2021 1 commit
-
-
Sigurd Schneider authored
The exception meta-data API created several objects in the wrong context, resulting in the exception context being kept alive for too long. Bug: chromium:1221089 Change-Id: I02aece4e10d9bd559d49f98fe1c3e44a09e27eef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2975301Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#75269}
-
- 18 Jun, 2021 1 commit
-
-
Dan Elphick authored
The adding of base:: was mostly prepared using git grep and sed: git grep -l <pattern> | grep -v base/vector.h | \ xargs sed -i 's/\b<pattern>\b/base::<pattern>/ with lots of manual clean-ups due to the resulting v8::internal::base::Vectors. #includes were fixed using: git grep -l "src/utils/vector.h" | \ axargs sed -i 's!src/utils/vector.h!src/base/vector.h!' Bug: v8:11879 Change-Id: I3e6d622987fee4478089c40539724c19735bd625 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2968412Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75243}
-
- 17 Jun, 2021 2 commits
-
-
Dan Elphick authored
Replace all uses of NewArray/DeleteArray with new[]/delete[] in utils/vector.h which allows removing the dependency on utils/allocation.h. As a result allocation failures here will not call FatalProcessOutOfMemory any more, but it's likely it wouldn't have been called anyway. Also adds some missing includes that were being previously being brought in via vector.h depending on allocation.h. Bug: v8:11879 Change-Id: I5055b49fad0d06642a9bd3eebb93a6a0e4acca60 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2968405Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75216}
-
Sigurd Schneider authored
Bug: chromium:1213393, chromium:1218340 Change-Id: Icde33c97d39a3504ca2ab8290ec2f0b0d923060d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2953194 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#75201}
-
- 11 Jun, 2021 1 commit
-
-
Sigurd Schneider authored
We previously enumberated properties and then restricted them to real named properties. This CL changes it to only enumerate own properties in the first place. Bug: chromium:1213393 Change-Id: I8665a19a9beccae3bef99106924b65fb219d48ca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2953284Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#75094}
-
- 02 Jun, 2021 1 commit
-
-
Sigurd Schneider authored
This interface allows associating meta information to exceptions. This meta information can be used by debugging tools, like DevTools, to learn about e.g. a network request or a DevTools issue that is associated with the exception. To do so the inspector client (i.e. embedder) has to provide the data. Bug: chromium:1213393 Change-Id: Ia86221f4f04b21024d592bafb2f74886ead8a6a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928496 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#74909}
-
- 01 Jun, 2021 1 commit
-
-
Benedikt Meurer authored
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/+/2928510Reviewed-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}
-
- 31 May, 2021 1 commit
-
-
Mathias Bynens authored
Prior to this patch, regular expression objects with a monkeypatched `toString` were printed using the `toString` result value, rather than actually representing the regular expression’s contents. const re = /./; re.toString = () => 'whoops!'; console.log(re); // → logs 'whoops!' Now that `v8::RegExp::GetSource` properly escapes special characters in the source pattern [1], just like `RegExp#toString`, there is no longer any reason to avoid it. [1]: https://chromium-review.googlesource.com/c/v8/v8/+/2900737 Bug: v8:11693 Change-Id: I9a69cdb6813f76b669bdc24e4823c6d261f2ae73 Fixed: v8:11836 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928188Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#74862}
-
- 28 May, 2021 1 commit
-
-
Sigurd Schneider authored
The refactoring makes it explicit that a v8::Array results in a protocol::ListValue, and a v8::Object in a protocol::DictionaryValue, which will be useful in a follow-up. Bug: chromium:1213393 Change-Id: I0d6e5b013a828e12cb3200672d4fd9b14a14a807 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2919831Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#74839}
-