- 08 Jun, 2022 1 commit
-
-
Leszek Swirski authored
Anyone using CopyablePersistentTraits should be using v8::Global, so deprecate it and fix the uses in V8. Bug: v8:12915 Change-Id: I25e6f2a03e070db9e9af9bbd9ea8cbc0f838c5ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3669254Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#81001}
-
- 19 May, 2022 1 commit
-
-
Stephen Roettger authored
Bug: chromium:1310790 Change-Id: I739161f47fc1fc32d832f106d5ef6b7df4aed213 Fixed: chromium:1310790 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3654096Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Stephen Röttger <sroettger@google.com> Cr-Commit-Position: refs/heads/main@{#80639}
-
- 16 May, 2022 2 commits
-
-
Clemens Backes authored
This adds a new struct "OOMDetails" which is passed to the OOMErrorCallback. It currently holds the "is_heap_oom" bool that was also passed before, plus an optional "detail" string. The struct can later be extended without having to change the signature of the OOMErrorCallback. Removing fields will have to follow the standard deprecation rules, but this is also easily possible without the hassle for this initial change. We modify the deprecated OOMErrorCallback definition and un-deprecate it, which can be seen as removing a deprecated API and adding a new one in one CL. R=mlippautz@chromium.org, jkummerow@chromium.org Bug: chromium:1323177 Change-Id: Ic4c2cb5856906ebd664626fe463d8e96cb99b0a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3647827Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#80565}
-
Toon Verwaest authored
Otherwise opening a HandleScope nested in a SHS also wouldn't allow PHS. This currently happens in maglev.. Bug: v8:7700 Change-Id: Id279cf7ad8c83f68a3ba0050a0df718892636e9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3650601Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#80559}
-
- 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}
-
- 17 Jan, 2022 1 commit
-
-
Andreas Haas authored
The wpt test external/wpt/wasm/jsapi/functions/entry.html failed because the current context was entered when executing the start function instead of the native context. The test crashed because in GetEnteredOrMicrotaskContext a NativeContext is expected. Bug: chromium:1098844 Change-Id: I52d50986c67a0a69c8d9e03756592dff670f83df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3368107Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#78652}
-
- 15 Dec, 2021 1 commit
-
-
Benedikt Meurer authored
This is the final change list in the list of refactorings to split off the implementations of v8::StackFrame and CallSite objects (as used by the V8 JavaScript stack API). See https://bit.ly/v8-stack-frame for the whole story. This CL adds the v8::internal::StackFrameInfo class as new backing implementation of v8::StackFrame, and puts it into debug-objects.tq to indicate that it's used for the debugger API only. This new class is lightweight and only holds on to static information about the stack frame, and is thus usable for the V8 inspector to implement async stack traces in a cheaper manner going forward. Doc: https://bit.ly/v8-stack-frame Bug: chromium:1258599, chromium:1278650 Fixed: chromium:1278647 Change-Id: I4dbf2d850f47797263af225895129499169aad02 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3302794 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#78382}
-
- 14 Dec, 2021 1 commit
-
-
Benedikt Meurer authored
This is the second step in the refactoring to make v8::StackFrame more lightweight and usable for (long time storage) by the V8 inspector (see https://bit.ly/v8-stack-frame for an overview). This is a purely mechanical change without any functional aspects. The intention is to make the use case for the CallSiteInfo objects clear, namely to serve as the backing store for the CallSite objects exposed via the Error.prepareStackTrace() API and used under the hood to implement the error.stack accessor. Doc: https://bit.ly/v8-stack-frame Bug: chromium:1258599, chromium:1278647, chromium:1278650 Change-Id: I39dffd1f1a8e5158ddc56f2a0a2b1b28321f487a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3300138Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#78361}
-
- 12 Nov, 2021 1 commit
-
-
Igor Sheludko authored
The entered contexts stack must be in sync with the flags stack. Bug: chromium:1269225 Change-Id: Ibb522286b47866d5f13aaec1a0a02914c13a5545 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3279680 Commit-Queue: Igor Sheludko <ishell@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Auto-Submit: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#77882}
-
- 13 Oct, 2021 1 commit
-
-
Camillo Bruni authored
Due to caching issues we will not be able to store host-defined options directly on the Script anymore. ScriptOrModule can thus no longer be a i::Script. NodeJS keeps weak references from ScriptOrModule to their import meta data. This CL changes ScriptOrModule to be a temporary struct which has a different lifetime. As a temporary fix until the API is fully updated we introduce the v8_scriptormodule_legacy_lifetime compile-time flag. It keeps references to ScriptOrModule alive on the Script to restore the previous behavior (at an additional memory cost). Bug: chromium:1244145 Change-Id: I1dc42d25930d7bc4f22ee3c9bba93d89425be406 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211575 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Reviewed-by:
Nico Hartmann <nicohartmann@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#77382}
-
- 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}
-
- 23 Jun, 2021 1 commit
-
-
Maya Lekova authored
This CL adds support in TurboFan for passing JSArrays as arguments to fast API callbacks. It also extends the v8::Array class with a CopyAndConvertArrayToCppBuffer method to allow the embedder to perform quick conversions of their JSArrays to a C++ buffer. The CL also adds tests in d8. Design doc: https://docs.google.com/document/d/1BNKKZNgrGYafx8kqSfNEQqQYY5n4A6mGufss_Vz-h-4/edit#heading=h.c0kgf82jnlpp Bug: chromium:1052746, chromium:715122 Change-Id: If47ac60d9ebe6462bbf3adff002e2da8e14e8fc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2940900 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75333}
-
- 01 Mar, 2021 1 commit
-
-
Clemens Backes authored
This CL removes the includes of src/wasm files from the API if Wasm is disabled (v8_enable_webassembly=false). This will allow to later remove the whole src/wasm directory from compilation. Since we do not want to modify the exposed API in a no-wasm build, we instead make all Wasm-related functions fail. R=ulan@chromium.org Bug: v8:11238 Change-Id: I61038e75ac62871758351eb01f299fe68d478c82 Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2726504Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73100}
-
- 12 Feb, 2021 1 commit
-
-
Benedikt Meurer authored
Following up on https://crrev.com/c/2689185, this CL significantly simplifies the whole implementation of the stack trace capturing. Before this CL, capturing any stack trace (for the purpose of the API or Error.stack) would roughly work like this: 1. The CaptureStackTrace() function uses the StackFrameIterator to walk the system stack. For each native frame it uses the FrameSummary abstraction to get all (including potentially inlined) frames. For each of those it appends a record consisting of six elements to a FrameArray (this holds pointers to the actual closures and receivers). 2. Afterwards the FrameArray is shrinked to the required size, and a new FixedArray is allocated, and initialized with new StackTraceFrame objects where each holds a reference to the FrameArray, the index of the frame, and an initially uninitialized StackFrameInfo reference. This new FixedArray is then returned from CaptureStackTrace() and either stored on a message object or provided to the API as v8::StackTrace. The new approach removes a lot of the machinery in between and directly creates a FixedArray of StackFrameInfo objects in CaptureStackTrace(). These StackFrameInfo objects are directly exposed as v8::StackFrame on the public API, and they hold the six fields that were previously stored flat in the FrameArray. This not only avoids a lot of copying around of data and creation of temporary objects and handles, but most importantly unifies and simplifies the stack frame function inside StackFrameInfo, so you no longer need to wonder which function / object might be responsible for a certain API. There's still a lot of room for improvement. In particular we currently don't cache the source position for a given StackFrameInfo (or globally), but rather recompute it every time. This is still very fast, significantly faster than the previous approach. There are some notable (potentially user visible) changes: - The CallSite#GetPosition() method now consistently returns the Wasm module relative bytecode offset for all Wasm frames (previously it'd return the function relative bytecode offset for non-asm.js Wasm frames). - The column and line numbers returned from StackFrameInfo methods are consistently 1-based now, instead of sometimes being 0-based (Wasm) and sometimes being 1-based (JS and asm.js Wasm). The only potentially noticable difference is that for CallSite#GetLineNumber() no longer returns 0 for Wasm frames, but that was wrong and useless anyways. - CallSite#GetThis() would sometimes return the_hole, another bug flushed out by this CL. The CL also contains some other not noteworthy drive-by-cleanups. Fixed: chromium:1057211 Bug: chromium:1077657, chromium:1069425, v8:8742 Bug: chromium:1127391, chromium:1098530, chromium:981541 Change-Id: Iff12f6838a4d99080db8dd96bccc14440affc5a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2689183 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#72694}
-
- 08 Jan, 2021 1 commit
-
-
Benedikt Meurer authored
Previously we had introduced a special `v8::internal::WasmValue` type which we used to expose Wasm values to the Scope view in Chromium DevTools. The problem however is that these values cannot be exposed to JavaScript (and in particular not to Debug Evaluate), which means that particularly for v128 and i64 we have inconsistent representations across the various parts of DevTools. This change removes the `wasm` type from the RemoteObject and all the adjacent logic, and paves the way for a uniform representation of Wasm values throughout DevTools. For i64 we will simply use BigInt consistently everywhere, and for i32, f32 and f64 we'll just use Number. For externref we will represent the values as-is directly. For v128 values we currently use a Uint8Array, but will introduce a dedicated WasmSimd128 class in a follow-up CL. Bug: chromium:1071432 Fixed: chromium:1159402 Change-Id: I0671e5736c9c27d7ca376e23ed74f16d36e03c80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2614428Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#71962}
-
- 07 Dec, 2020 1 commit
-
-
Benedikt Meurer authored
Previously V8 would wrap the WebAssembly.Memory backing stores into Uint8Arrays and report that as memories, but that's confusing to the developer, since that's not what's really being used. The way that DevTools presents the backing stores of memories, it's still perfectly possible to get hold of an Uint8Array if that's what the developer is looking for. To make it possible to easily identify the WebAssembly.Memory objects in the DevTools front-end (in particular for the memory inspector) we add a 'webassemblymemory' subtype to the Chrome DevTools Protocol. We also improve the description for the memories to include the number of active pages. Fixed: chromium:1155566 Screenshot: https://imgur.com/8enx57u.png Change-Id: I63dbabe0e372e9ad6dcc8e6642cdb743147a620c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2574699Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#71641}
-
- 30 Nov, 2020 2 commits
-
-
Daniel Clark authored
This change completes the necessary API changes for import assertions discussed in https://docs.google.com/document/d/1yuXgNHSbTAPubT1Mg0JXp5uTrfirkvO1g5cHHCe-LmY. The old ResolveCallback is deprecated and replaced with a ResolveModuleCallback that includes import assertions. Until ResolveCallback is removed, InstantiateModule and associated functions are modified to accept both types of callback, using the new one if it was supplied and the old one otherwise. An alternative that I chose not to go with would be to just duplicate InstantiateModule and associated functions for both callback types. SyntheticModule::PrepareInstantiate's callback parameter was unused so I removed it. Bug: v8:10958 Change-Id: I8e9fbaf9c2853b076b13da02473fbbe039b9db57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2551919Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#71506}
-
Zhi An Ng authored
Bug: v8:11074 Change-Id: I4158b4ad72350cde27bda76db2d9d646b793f684 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2558265Reviewed-by:
Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71469}
-
- 26 Nov, 2020 1 commit
-
-
Santiago Aboy Solanes authored
Scopes in V8 are used to guarantee one or more properties during its lifetimes. If a scope is not named e.g MyClassScope(args) instead of MyClassScope scope(args) it will get created and automatically destroyed and therefore, being useless as a scope. This CL would produce a compiling warning when that happens to ward off this developer error. Follow-up to ccrev.com/2552415 in which it was introduced and implemented for Guard classes. Change-Id: Ifa0fb89cc3d9bdcdee0fd8150a2618af5ef45cbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555001 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#71425}
-
- 24 Nov, 2020 1 commit
-
-
Daniel Clark authored
This change refactors the v8.h API as discussed in https://docs.google.com/document/d/1yuXgNHSbTAPubT1Mg0JXp5uTrfirkvO1g5cHHCe-LmY/edit#heading=h.q0c9h4p928mn such that a v8::Module exposes module requests as a FixedArray of ModuleRequest objects, which can then be used to obtain their module specifier and source code offset. This replaces the old functions that passed back individual specifier Strings and Locations via repeated calls to getters that take an index. These are marked as deprecated. The new ModuleRequest interface includes a getter for an ImportAssertions FixedArray, which will contain the import assertions for the request if --harmony-import-assertions is set, and will be empty otherwise. One notable change here is that the APIs now return source code offsets rather than v8::Locations. The host must then call the new Module::SourceOffsetToLocation to convert these offsets into line/column numbers. This requires a bit more back-and-forth, but allows the host to defer the cost of converting from source offset to line/column numbers until an error needs to be reported, potentially skipping the work altogether. Bug: v8:10958 Change-Id: I181639737c701e467324e6c781aa4d7bdd87ae8c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2545577 Commit-Queue: Dan Clark <daniec@microsoft.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71387}
-
- 06 Aug, 2020 1 commit
-
-
Santiago Aboy Solanes authored
Now that we are using PersistentHandles, we don't need it anymore. Bug: v8:7790 Change-Id: Id0b9d555191c00fb08dc2bb9099746076c5ad1b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2332161 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69278}
-
- 30 Jul, 2020 1 commit
-
-
Dominik Inführ authored
PersistentHandlesScope works similar to the DeferredHandleScope, but returns PersistentHandles instead of DeferredHandles on Detach(). Since PersistentHandlesScope takes over filled blocks from the main thread local handle, remove the block_size_ field and use kHandleBlockSize instead. This way all blocks have exactly the same size. Bug: v8:10315 Change-Id: I295cad6f84852f87c55d95572905069443f5698c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2324254 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#69138}
-
- 04 May, 2020 1 commit
-
-
Thibaud Michaud authored
This allows us to preserve the script URL when importing a module in a worker. R=ahaas@chromium.org,clemensb@chromium.org CC=kimanh@chromium.org Bug: chromium:1064548 Change-Id: Id5e48c840e2dba8eadb5c854fcb389787ce11215 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2167866 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67543}
-
- 30 Apr, 2020 1 commit
-
-
Shu-yu Guo authored
Bug: v8:8179 Change-Id: I16170a197028beb35309b15613004b29a956896c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2171696Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Auto-Submit: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#67492}
-
- 15 Apr, 2020 1 commit
-
-
Ng Zhi An authored
This debug::WasmValue is a wrapper around internal::WasmValue. It is exposed to the inspector, and contains helper methods to get the type and underlying bytes of the Wasm value. This will later be used by the inspector, in value-mirror, to expose the WasmValue to DevTools via CDP. Bug: v8:10347 Change-Id: I1ee20c0be3a20dad2cfe3994a166e9a284af5d4f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2137864Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#67160}
-
- 24 Feb, 2020 1 commit
-
-
Shu-yu Guo authored
Renaming the JS-visible identifiers and strings is left for a future CL. FinalizationGroup was renamed at Feb 2020 TC39, to better signal that if a FinalizationRegistry dies, the finalization actions registered with it may no longer be performed. Bug: v8:8179 Change-Id: I0d676a71a4a67d2b7175994a67458a6158065844 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2055381Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#66416}
-
- 10 Feb, 2020 1 commit
-
-
Shu-yu Guo authored
Deprecate the following explicit FinalizationGroup APIs in favor of automatic handling of FinalizationGroup cleanup callbacks: - v8::Isolate::SetHostCleanupFinalizationGroupCallback - v8::FinaliationGroup::Cleanup If no HostCleanupFinalizationGroupCallback is set, then FinalizationGroup cleanup callbacks are automatically scheduled by V8 itself as non-nestable foreground tasks. When a Context being disposed, all FinalizationGroups that are associated with it are removed from the dirty list, cancelling scheduled cleanup. This is a reland of 31d8ff7a Bug: v8:8179, v8:10190 Change-Id: I704ecf48aeebac1dc2c05ea1c052f6a2560ae332 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2045723 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#66208}
-
- 09 Feb, 2020 1 commit
-
-
Michael Achenbach authored
This reverts commit 31d8ff7a. Reason for revert: https://crbug.com/v8/10190 Original change's description: > [weakrefs] Schedule FinalizationGroup cleanup tasks from within V8 > > Deprecate the following explicit FinalizationGroup APIs in favor of > automatic handling of FinalizationGroup cleanup callbacks: > - v8::Isolate::SetHostCleanupFinalizationGroupCallback > - v8::FinaliationGroup::Cleanup > > If no HostCleanupFinalizationGroupCallback is set, then > FinalizationGroup cleanup callbacks are automatically scheduled by V8 > itself as non-nestable foreground tasks. > > When a Context being disposed, all FinalizationGroups that are > associated with it are removed from the dirty list, cancelling > scheduled cleanup. > > Bug: v8:8179 > Change-Id: Ic09313a11dd00af36d1f698250b3d735155f45e8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986392 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66184} TBR=ulan@chromium.org,rmcilroy@chromium.org,syg@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:8179 Change-Id: If7869e9a5841803c10e748691f019a7d28f3b62e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2043807Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#66190}
-
- 08 Feb, 2020 1 commit
-
-
Shu-yu Guo authored
Deprecate the following explicit FinalizationGroup APIs in favor of automatic handling of FinalizationGroup cleanup callbacks: - v8::Isolate::SetHostCleanupFinalizationGroupCallback - v8::FinaliationGroup::Cleanup If no HostCleanupFinalizationGroupCallback is set, then FinalizationGroup cleanup callbacks are automatically scheduled by V8 itself as non-nestable foreground tasks. When a Context being disposed, all FinalizationGroups that are associated with it are removed from the dirty list, cancelling scheduled cleanup. Bug: v8:8179 Change-Id: Ic09313a11dd00af36d1f698250b3d735155f45e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1986392 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66184}
-
- 10 Dec, 2019 1 commit
-
-
Michael Achenbach authored
Deprecation was prepared by: https://crrev.com/c/1899774 Bug: v8:9941 Change-Id: Idf236c2ebfc23e26dcb264747721d7c18986b6b8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955552Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#65396}
-
- 04 Dec, 2019 1 commit
-
-
Joyee Cheung authored
This patch implements inspector support for private instance methods: - Previously to implement brand checking for instances with private instance methods we store the brand both as the value with the brand itself as the key in the stances. Now we make the value the context associated with the class instead. - To retrieve the private instance methods and accessors from the instances at runtime, we look into the contexts stored with the brands, and analyze the scope info to get the names as well as context slot indices of them. - This patch extends the `PrivatePropertyDescriptor` in the inspector protocol to include optional `get` and `set` fields, and make the `value` field optional (similar to `PropertyDescriptor`s). Private fields or private instance methods are returned in the `value` field while private accessors are returned in the `get` and/or `set` field. Property previews for the instaces containing private instance methods and accessors are also updated similarly, although no additional protocol change is necessary since the `PropertyPreview` type can already be used to display accessors. Design doc: https://docs.google.com/document/d/1N91LObhQexnB0eE7EvGe57HsvNMFX16CaWu-XCTnnmY/edit Bug: v8:9839, v8:8330 Change-Id: If37090bd23833a18f75deb1249ca5c4405ca2bf2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1934407 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#65337}
-
- 06 Nov, 2019 1 commit
-
-
Michael Achenbach authored
The file contains testing features only used in d8. This CL prepares deprecation and moves the logic into d8.cc. Bug: v8:9941 Change-Id: I71de4cfd41d8f9fa209f936744cb170856365a6e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899774Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Backes <clemensb@chromium.org> Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#64800}
-
- 10 Oct, 2019 1 commit
-
-
Clemens Backes authored
The flag is enabled since M-70, and we do not use the previous behaviour anywhere. Hence, remove the flag and clean up some API code. In particular, the concept of {TransferrableModule} is not needed any more, we can just use {CompiledWasmModule}. R=mstarzinger@chromium.org, adamk@chromium.org Bug: v8:9810 Change-Id: I9b3aa4972277a9262b58da70b141e90d1de31f35 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1847366 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#64209}
-
- 17 Sep, 2019 1 commit
-
-
Georg Neis authored
- There was no use of DisallowDeferredHandleDereference, so remove the corresponding assertion scope and related code. - Make DeferredHandleScope::Detach return a unique_ptr rather than a raw pointer for clarity. - Store DeferredHandles in compilation info as unique_ptr rather than shared_ptr, as it's never shared. - Remove some unused methods. Change-Id: I8327399fd291eba782820dd7a62c3bbdffedac4d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1805645 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#63828}
-
- 13 Sep, 2019 1 commit
-
-
Clemens Hammacher authored
After https://crrev.com/c/1800575 and https://crrev.com/c/1803343, which tried to fix this on occuring compile errors, this CL systematically adds the <memory> include to each header that uses {std::unique_ptr}. R=sigurds@chromium.org TBR=mlippautz@chromium.org,alph@chromium.org,rmcilroy@chromium.org,verwaest@chromium.org Bug: v8:9396 Change-Id: If7f9c3140842f9543135dddd7344c0f357999da0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1803349Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#63767}
-
- 23 Aug, 2019 1 commit
-
-
Yang Guo authored
This reverts commit 0bd19ddb. TBR=szuend@chromium.org Change-Id: I86bc9409cb809ff978a1104be79bbbe4b87f85e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1767996Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Simon Zünd <szuend@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#63358}
-
- 22 Aug, 2019 1 commit
-
-
Maya Lekova authored
This reverts commit e66cee7e. Reason for revert: Speculative revert for https://ci.chromium.org/p/chromium/builders/try/linux-rel/173349 Original change's description: > [debug] only break on entry when immediately called from JS > > When we break on function entry, check whether the target function is being > called from JS after entering V8 through V8's API. We implement this by > keeping track of the stack height when we enter V8 through the API, and compare > the caller JS frame's stack height with that. > > R=szuend@chromium.org > > Bug: chromium:991217, chromium:992406 > Change-Id: I258ad9cef11fe0ef48de6fd5055790792fd0ec0c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762298 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Reviewed-by: Simon Zünd <szuend@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63331} TBR=yangguo@chromium.org,szuend@chromium.org Change-Id: I4bfb42f7ce1484807696048a09609f14113d10f4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:991217, chromium:992406 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762525Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63341}
-