- 21 Jul, 2022 1 commit
-
-
ishell@chromium.org authored
... in various components. Bug: v8:11880 Change-Id: I1e4411ec38a4b15e505bda35a92987972e89d9d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3777718 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#81863}
-
- 18 Jul, 2022 1 commit
-
-
Manos Koukoutos authored
Mostly test/cctest/. Bug: v8:13006 Change-Id: I8853d38feb79bed6234a4354ab25a13255a1871b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3755149 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81777}
-
- 09 Jun, 2022 1 commit
-
-
Michael Lippautz authored
Users can just use std::vector<Global<T>>. Bug: v8:12915 Change-Id: I59fc8458e336df0dfaa3524f1197d4423482530e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3695578Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#81023}
-
- 30 May, 2022 1 commit
-
-
Nikolaos Papaspyrou authored
Mostly in comments, again, not much to be said... Bug: v8:12425 Change-Id: I75b4b244e6fa259a29f6cf28bd8258b035af4be6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3673536Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org> Cr-Commit-Position: refs/heads/main@{#80808}
-
- 03 May, 2022 1 commit
-
-
Camillo Bruni authored
To be consistent with the all the other tiers and avoid confusion, we rename --opt to ---turbofan, and --always-opt to --always-turbofan. Change-Id: Ie23dc8282b3fb4cf2fbf73b6c3d5264de5d09718 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3610431Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#80336}
-
- 02 May, 2022 1 commit
-
-
Benedikt Meurer authored
We weren't really translating between location (line and column number) and source position (character offset) consistently, especially when it came to inline <script>s. There were also inconsistencies between what Debugger.getPossibleBreakpoints and Debugger.setBreakpointByUrl would do. With this CL, we are now consistently operating under the following assumptions: (1) For inline <scripts>s with a //@ sourceURL annotation, we assume that the line and column number that comes in via the protocol is in terms of the source text of the script. (2) For inline <script>s without said annotation, we assume that the line and column numbers are in terms of the surrounding document. This is finally aligned with how the DevTools front-end operates. Fixed: chromium:1319828 Change-Id: I98c4ef04b34a97caf060ff4f32690b135edb6ee6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3610622Reviewed-by:
Kim-Anh Tran <kimanh@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/main@{#80292}
-
- 24 Mar, 2022 1 commit
-
-
Benedikt Meurer authored
The debugger maintains a stack of promises used for catch prediction with promise builtins and async functions. Previously this stack would hold on to the individual promises strongly, and subtle bugs that lead to not properly cleaning up the stack in some corner cases would often lead to significant memory issues (e.g. leaking whole iframes). This refactors the PromiseOnStack to be (a) on the V8 heap, rather than allocating C++ structs with global handles pointing to the promises, and (b) hold on to the promises only weakly. While this will not guarantee proper promise stack management, it will at least ensure that edge cases don't lead to catastrophic (debugger only) leaks. Bug: chromium:1292063 Change-Id: I9c293ca2032de3a59e1e9624f132d37187805567 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3545176 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#79594}
-
- 23 Mar, 2022 1 commit
-
-
Benedikt Meurer authored
Following up on https://crrev.com/c/3540145, this also changes local debug evaluate scripts to be marked as shared-cross-origin. Drive-by-fix: This also updates the test for global debug evaluate to use the official (debug) API instead of peaking into the V8 internals unnecessarily. Bug: chromium:1295750 Change-Id: Ief0bc76a4333671f8db761d1f6a5fb740aae698e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541780Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79568}
-
- 21 Mar, 2022 1 commit
-
-
Benedikt Meurer authored
This way Blink will not sanitize error events coming from JavaScript entered via the DevTools console, and instead forward the original error event as-is, which is more likely to match the developers' expectations. Bug: chromium:1295750 Change-Id: Id02c048e4af21d0c232d8e44d11115f6b61c0bf1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3540145 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/main@{#79549}
-
- 04 Mar, 2022 1 commit
-
-
Benedikt Meurer authored
This introduces a new (inspector-only) `v8::debug::ScriptSource`, which represents the source for a given `v8::debug::Script` (in case of JavaScript it's a `v8::internal::String` while in case of WebAssembly it's a `Managed<v8::internal::wasm::NativeModule>`). Every `v8_inspector::V8DebuggerScript` now holds on weakly to the `v8::debug::Script` and strongly to its `ScriptSource`, making it possible to access the source even after the `Script` dies. This is preliminary work to allow for the removal of the special GC feature that a `WeakCallbackType::kFinalizer` callback can resurrect the object (this change is split into a separate follow up CL https://crrev.com/c/3497324). Bug: chromium:1295659, chromium:1302195 Doc: https://bit.ly/v8-inspector-script-caching Change-Id: I503d0d9283e2da392023f06f79b8ff35953e7935 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3494242 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79363}
-
- 12 Jan, 2022 1 commit
-
-
Simon Zünd authored
CDP has a "ExceptionDetails" structure that is attached to various CDP commands, e.g. "Runtime#exceptionThrown" or "Runtime#evaluate". The stack trace in the "ExceptionDetails" structure is used in various places in DevTools. The information in the "ExceptionDetails" structure is extracted from a v8::Message object. Message objects are normally created at the exception throw site and may augment the error with manually inspecting the stack (both to capture a fresh stack trace in some cases, as well as to calculate location info). The problem is that in some cases we want to get an "ExceptionDetails" structure after the fact, e.g. when logging a JS "Error" object in a catch block. This means we can't reuse Isolate::CreateMessage as the JS stack at call time is unrelated to the time when an Error object was thrown. To re-use some of the code, this CL introduces a new "CreateMessageFromException" method that is only available from the debugging interface (not public V8 API!). The new method works similar to Isolate::CreateMessage, but: 1) Does not look at the current JS stack, neither for a fresh stack trace nor for location information. 2) Only uses the "detailed" stack trace for location info. This is because the "simple" stack trace could have already been serialized by accessing Error#stack. Bug: chromium:1278650 Doc: https://bit.ly/runtime-get-exception-details Change-Id: I0144516001c71786b9f76ae4dec4442fa1468c5b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3337257Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#78586}
-
- 16 Dec, 2021 1 commit
-
-
Igor Sheludko authored
This CL * removes Builtins::codet() and Builtins::codet_handle() returning builtins as CodeT objects in favor of code() and code_handle(), * removes BUILTIN_CODET macro in favor of BUILTIN_CODE, * removes CodeDataContainer table. Bug: v8:11880 Change-Id: Ic868549030744b0ff3ea5d5edbfcacf77c6de96d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3344650Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78399}
-
- 02 Dec, 2021 1 commit
-
-
Kim-Anh Tran authored
This CL makes sure to forward the information that we are pausing because of a debugger statement, and to encode it explicitly as an 'other' reason when reporting the pause to the front-end. Drive-by: refactoring the way break reasons are propagated by introducing a new enum for break reasons Bug: chromium:1229541, chromium:1133307 Change-Id: I9d2e8d8da54d96a231eff9d1f62b74507955b18f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306978Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/main@{#78202}
-
- 29 Nov, 2021 1 commit
-
-
Kim-Anh Tran authored
Previously, we would encode 'other' as a reason for pausing when stepping too, however, it would not show as such in case it would overlap with another reason. This CL makes sure that we always report 'other' as a reason if we are stepping. Drive-by: only encode 'other' as a reason once Bug: chromium:1229541 Change-Id: Id73822dff68d1d54a2f1fafdf2a097e1377ece75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3295346Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Kim-Anh Tran <kimanh@chromium.org> Cr-Commit-Position: refs/heads/main@{#78118}
-
- 09 Nov, 2021 1 commit
-
-
Simon Zünd authored
This CL fixes a memory leak where we would not properly pop all Promises from the Isolate-wide Promise stack. This can happen under the following conditions: - `await`ing a Promise in an async function - Debugger is active - AsyncEventDelegate is not set. In the case above, the promise of the surrounding async function is pushed onto the global Promise stack, but not poped before the await. This CL fixes that. R=bmeurer@chromium.org Fixed: chromium:1225905 Change-Id: If03f6bfda48b8cb14bc6a68815fd702632edc68d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268464Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#77790}
-
- 27 Oct, 2021 1 commit
-
-
Camillo Bruni authored
- Introduce v8::ScriptCompiler::CompileFunction - Deprecate v8::ScriptCompiler::CompileFunctionInContext - Add v8::Function::GetUnboundScript - Add v8::Script::GetResourceName The ScriptOrModule out-parameter is only used by NodeJS since we don't allow arbitrary objects has host-defined options and they need a way to keep the options alive. This CL deprecates the out-parameter and adds helper methods to address the most common use-cases. The final fix still requires more fundamental changes on how host-defined options are handled. Bug: chromium:1244145 Change-Id: Id29de53521ad626c41391b8300146ee37a1b8a51 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3245117Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#77564}
-
- 27 Sep, 2021 1 commit
-
-
Marja Hölttä authored
Bug: v8:12244, v8:12245 Change-Id: I5745daaa18dba962b45a05d1064face610d05e2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3185460Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#77083}
-
- 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}
-
- 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 2 commits
-
-
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}
-
- 16 Aug, 2021 1 commit
-
-
Georg Neis authored
- Remove flag --block-concurrent-recompilation and its implementation, including %UnblockConcurrentCompilation. - Rewrite tests that used it in terms of the primitives introduced in my previous CL: https://chromium-review.googlesource.com/c/v8/v8/+/3071400/ - Remove "sync"/"no sync" arguments from %GetOptimizationStatus, assertOptimized, etc. These are now always "no sync": they don't do any magic. - Remove "if %IsConcurrentRecompilationSupported then quit" from some tests in favor of --concurrent-recompilation in their Flags line. Bug: v8:12041, v8:7790 Change-Id: I966aae4fec85e6f9e7aeed2ba2c12e9198a3991f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3077149Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#76298}
-
- 22 Jun, 2021 1 commit
-
-
Dan Elphick authored
Moves VSNPrintf, SNPrintf and StrNCpy out of utils/utils.h into base/strings.h. Bug: v8:11879 Change-Id: I0e165cb27c42f89c9acd1c6378514b40a90cd18d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2972732 Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#75308}
-
- 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}
-
- 14 Jun, 2021 1 commit
-
-
Camillo Bruni authored
- Convert Builtin to enum class - Change int-based builtin_index methods to use Builtin - Change Builtins::builtin to Builtins::code Change-Id: Id9e3bb83da97e8894ca7ca78e1e852da60675619 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2949104 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#75127}
-
- 07 Jun, 2021 1 commit
-
-
Camillo Bruni authored
- Add new Builtin enum - Move Builtins::Name:kXXX to Builtin::kXXX - Update existing code Follow CLs will unify the mix of using int builtin-ids and Builtins::Name to only use the new Builtin enum and changing it to an enum class. Change-Id: Ib39aa45a25696acdf147f46392901b1e051deaa4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2905592 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#74995}
-
- 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}
-
- 30 Apr, 2021 1 commit
-
-
Jakob Kummerow authored
Using the default cctest TEST(...) macro causes later writes to FLAG_stack_size to have no effect, because the StackGuard reads that flag's value during Isolate initialization, which is done before the test body is executed. This patch changes the two existing tests that accidentally did this to UNINITIALIZED_TEST, putting them in charge of Isolate creation, thereby ensuring that the intended stack size is configured correctly. Change-Id: Ib030795ef46f23d576f6dbbd26b347ac804b5085 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2862778Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#74309}
-
- 16 Mar, 2021 1 commit
-
-
Clemens Backes authored
This removes the TYPE_WASM script type, and all fields on Script that are only needed for WebAssembly. R=jgruber@chromium.org Bug: v8:11238 Change-Id: I233bfd3dec9b389bc74d926670310fd175c0c6d8 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2757690Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73418}
-
- 09 Mar, 2021 1 commit
-
-
Ulan Degenbaev authored
Bug: v8:9877 Change-Id: I55cedfd2748f00f989172d804eec735aa6c19365 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742618Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73290}
-
- 03 Mar, 2021 1 commit
-
-
Benedikt Meurer authored
When retrieving an API accessor function (i.e. either the getter or the setter) for which the lazy accessor mechanism is used (i.e. where the actual JSFunction is created lazily and only the FunctionTemplateInfo) is around, we thus far created a fresh JSFunction every time the accessor function is requested, but that's observably wrong behavior, since the accessors are JavaScript objects with identity. We currently rely on the instantiation cache to guarantee identity, but there's no reason why we couldn't instead just put the instantiated JSFunction into the AccessorPair. Fixing this to only instantiate the lazy accessor pair only once, upon first time it's requested, coincidentally also simplifies (and fixes) the API accessor breakpoint machinery. This was previously lacking support for walking dictionary prototype objects and forcibly instantiating the lazy accessor pairs with break points. However, all this magic in the debugger is no longer necessary when we ensure that the lazy accessor pair component is generally only instantiated once. Bug: v8:178, v8:7596, chromium:986063, chromium:496666 Change-Id: I41d28378010716c96c8ecf7c3f1247765f8bc669 Fixed: chromium:1163547 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2731527Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73163}
-
- 14 Jan, 2021 1 commit
-
-
Ben Noordhuis authored
Remove the ambient dependency on the currently entered isolate, let the embedder pass it in explicitly. Bug: v8:11287 Change-Id: I03690390a308a59e2c6ea5c6ae268780d836b717 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2608209Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#72105}
-
- 24 Nov, 2020 1 commit
-
-
Camillo Bruni authored
- Use C++ primitives (int, bool) for the ScriptOrigin constructor. - Deprecate the old accessors and constructor Bug: v8:11195 Change-Id: I739edd6b4c58e19a8a16ddce863eea14ec933697 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555005Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#71384}
-
- 20 Nov, 2020 1 commit
-
-
Leszek Swirski authored
Because of LocalHeap safepoints, our existing assert scopes don't necessarily maintain the same guarantees as desired. In particular, DisallowHeapAllocation no longer guarantees that objects don't move. This patch transitions DisallowHeapAllocation to DisallowGarbageCollection, to ensure that code using this scope is also protected against safepoints. Change-Id: I0411425884f6849982611205fb17bb072881c722 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2540547 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#71319}
-
- 12 Nov, 2020 1 commit
-
-
Shu-yu Guo authored
It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166}
-
- 28 Sep, 2020 1 commit
-
-
Alex Kodat authored
When an Isolate in a multi-threaded environment is being debugged and a thread does a Step Over (StepNext internally) one-shot breaks are created in the code at the stack frame where the StepNext occurred. However, if the stepped-over statement had a function call and the called function (or some function that it called) unlocked the Isolate (via a C++ function call) and another thread then locked the Isolate, an ArchiveDebug would be done which would save the fact that a StepNext is active and the call frame depth of the StepNext. The one-shot breaks would then be cleared to avoid stopping the now running thread. When the original thread that did the StepNext relocks the Isolate, a RestoreDebug is done which, seeing that a StepNext was active calls PrepareDebug which assumes that the StepNext must be for the current JS frame which is usually correct, but not in this case. This results in the StepNext break actually occurring in the function that called the C++ function not in the function where the StepNext was originally done. In addition, the function where the break now happens must necessarily be deoptimized if optimized, and debug code and a source map table created if one doesn't already exists though this is largely invisible to the user. Occasionally, a crash/core dump also occurs because the stack guard is restored after the debugging environment is restored in the RestoreThread code which can prevent the compiler from being called to generate the source map table (for the incorrect function) since the stack guard is another thread's stack guard, and so might appear that the stack guard has been gone past so the compiler is not called, resulting in there being no source map table. But PrepareStep ends up calling the BreakIterator (via the DebugInfo constructor) which assumes there is a source map table so we get a crash. The fix is to have PrepareStep to skip to the frame where the StepNext was done before doing its thing. Since the only PrepareStepcaller that requires a frame other than the current frame, is RestoreDebug, a target frame parameter was added to PrepareStep that's set by RestoreDebug and defaults to -1 indicating to use the current frame for all other callers. While this made the order of the debug environment and stack guard no longer cause an obvious problem, it still felt wrong to defer restoration of the stack guard until after something as potentially complex as PrepareStep might be called, so the order of RestoreDebug and RestoreStackGuard calls were reversed. Bug: v8:10902 Change-Id: I174e254e72414c827e113aec142f1d329ebe73d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2405932 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#70152}
-
- 22 Sep, 2020 1 commit
-
-
Dominik Inführ authored
Tests fails sometimes with concurrent allocation. Bug: v8:10315 Change-Id: Ic055a3573f6daacc435670efcf2e310f4c746451 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2423714Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#70048}
-
- 05 Aug, 2020 1 commit
-
-
Jakob Gruber authored
With the new Turbofan variants (NCI and Turboprop), we need a way to distinguish between them both during and after compilation. We initially introduced CompilationTarget to track the variant during compilation, but decided to reuse the code kind as the canonical spot to store this information instead. Why? Because it is an established mechanism, already available in most of the necessary spots (inside the pipeline, on Code objects, in profiling traces). This CL removes CompilationTarget and adds a new NATIVE_CONTEXT_INDEPENDENT kind, plus helper functions to determine various things about a given code kind (e.g.: does this code kind deopt?). As a (very large) drive-by, refactor both Code::Kind and AbstractCode::Kind into a new CodeKind enum class. Bug: v8:8888 Change-Id: Ie858b9a53311b0731630be35cf5cd108dee95b39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336793 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69244}
-
- 29 Apr, 2020 1 commit
-
-
Yang Guo authored
The original motivation of the test case is long outdated, and it has been repurposed. Making some cosmetic changes to clarify. R=szuend@chromium.org Fixed: v8:10455 Change-Id: I02c2e6f83d3475478efd37dbe834fca5d415b829 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172419 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#67470}
-
- 09 Mar, 2020 1 commit
-
-
Joyee Cheung authored
When looking for private members in an object for the inspector, we check if that object is a class constructor with the a bit has_static_private_methods set on its SFI. If it is, we look for any variables in the context locals with a VariableMode associated with private methods or accessors and a IsStaticFlag being kStatic. This patch also filters out static private methods when inspecting instances. Design doc: https://docs.google.com/document/d/1N91LObhQexnB0eE7EvGe57HsvNMFX16CaWu-XCTnnmY/edit See also: https://docs.google.com/document/d/14maU596YbHcWR7XR-_iXM_ANhAAmiuRlJZysM61lqaE/edit Bug: v8:9839, v8:8330 Change-Id: Idad15349c983898de2ce632c38b0174da10e639d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955664Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#66636}
-