- 11 Apr, 2022 2 commits
-
-
Camillo Bruni authored
Change-Id: I0063c92ee99193440cdbbe18a6f0d094302e7c16 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3578544Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79916}
-
Camillo Bruni authored
API logging has not been used in a while and we have valid alternatives: - Runtime call stats - Profiling - Timer events Together they make --log-api superfluous and we can remove it and reduce the number of branches when calling into the V8 API. Change-Id: Ie10f70b61ebdb82166270e7630ebcf20a27c4902 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3574549Reviewed-by: Marja Hölttä <marja@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79904}
-
- 06 Apr, 2022 2 commits
-
-
Corentin Pescheloche authored
This CL adds support for interacting with CpuProfile with their integer id. A String ID is problematic because it forces an allocation when stopping or cancelling a Profiler which can happen during a GC when this is not allowed. Change-Id: I9a8e754bd67214be0bbc5ca051bcadf52bf71a68 Bug: chromium:1297283 Co-Authored-By: Nicolas Dubus <nicodubus@fb.com> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3522896Reviewed-by: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Commit-Queue: Corentin Pescheloche <cpescheloche@fb.com> Cr-Commit-Position: refs/heads/main@{#79835}
-
Kevin Babbitt authored
Embedders can currently specify a callback for OOM errors during Isolate initialization. However, there are cases where an OOM error can be thrown in a context where we don't have access to an Isolate, for example on a task posted to a worker thread. This CL introduces an initialization API to allow the embedder to specify a process-wide OOM callback. Bug: chromium:614440 Change-Id: I326753d80767679f677e85104d9edeef92e19086 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561916Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Kevin Babbitt <kbabbitt@microsoft.com> Cr-Commit-Position: refs/heads/main@{#79832}
-
- 04 Apr, 2022 1 commit
-
-
Benedikt Meurer authored
This changes the logic for generating method names in `error.stack` to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in `error.stack`, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like `<instance_member_initializer>` where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended `Object.`, which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748}
-
- 31 Mar, 2022 1 commit
-
-
Stephen Roettger authored
Deprecate signature checks in * Template::SetNativeDataProperty * ObjectTemplate::SetAccessor These are not used in Chrome and require some complicated check in the IC code, which we want to remove. Change-Id: I413fafc8658e922fd590e7fe200600a624f019a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557253Reviewed-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@{#79689}
-
- 30 Mar, 2022 1 commit
-
-
Pan, Tao authored
There are two kinds of method to get native context of JSFunction object, directly calling to native_context() and calling context().native_context(). Replace all context().native_context() with native_context(). Change-Id: Ia7a7e64648446002717d38fafecd2420f622325e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541468Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Tao Pan <tao.pan@intel.com> Cr-Commit-Position: refs/heads/main@{#79663}
-
- 28 Mar, 2022 1 commit
-
-
henrika authored
Generates callbacks for already existent code by using the kJitCodeEventEnumExisting option instead of kJitCodeEventDefault. When working on V8 system instrumentation on Windows, it was found in https://bugs.chromium.org/p/v8/issues/detail?id=11043#c41 that several parts of the JS stack was missing. One missing part is all calls to Builtin methods (example: Builtin:JSEntryTrampoline) and this change ensures that events with name "Builtin" are also included in the generated JIT code events. Bug: v8:11043 Change-Id: Iaa99e18d799266a7224f848130c4eaf36e8c77fb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3550590Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Henrik Andreasson <henrika@chromium.org> Cr-Commit-Position: refs/heads/main@{#79640}
-
- 23 Mar, 2022 1 commit
-
-
Michael Lippautz authored
Remove deprecated TracedGlobal<>, greatly simplifying handling of traced references in general. Also saves a word per v8::TracedReference as there's no need to keep a possible callback around. Bug: v8:12603 Change-Id: Ice35d7906775b912d02e97a27a722b3e1cec28d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3532251Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79589}
-
- 16 Mar, 2022 1 commit
-
-
Samuel Groß authored
JSObject::InitializeBody now checks whether the instance type of the object being initialized can have embedder data slots around the initialization logic for these slots. This fixes a performance regression on certain benchmarks. To perform this check efficiently, a new instance type, JSObjectWithEmbedderSlots, is introduced so that the check becomes a simple range check. Bug: chromium:1304139 Change-Id: I00c892bc2276e950b59602257ca1c2435c10e517 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3507712Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79497}
-
- 14 Mar, 2022 1 commit
-
-
Samuel Groß authored
Instead of implementing ExternalObjects as plain JSObjects with a single EmbedderDataSlot pointing to a Foreign containing the actual raw pointer, this CL now creates a new JSExternalObject type that directly contains the external pointer. As a side-effect of this refactoring, nullptr values are now no longer valid for ExternalObjects. Change-Id: Ic8ff334681c966e823ca70f34dd1efaaa21a0789 Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3513234Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79459}
-
- 09 Mar, 2022 1 commit
-
-
Michael Lippautz authored
The only user of OverrideEmbedderStackStateScope is Blink where it is used to override stack state of top-level tasks. Adjust the behavior here to allow using this scope broadly while still supporting explicit garbage collection calls. Bug: chromium:1300492 Change-Id: I78c418c5f08991bf6857147cd4a537246bfcc556 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497744Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79420}
-
- 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}
-
- 22 Feb, 2022 1 commit
-
-
Michael Lippautz authored
- TracedGlobal is now fully deprecated - Removed GarbageCollectionForTesting Bug: v8:12603 Change-Id: Iaaea924888d60f936c34461654d78d74792919f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3471557Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#79207}
-
- 21 Feb, 2022 2 commits
-
-
Tobias Tebbi authored
This reverts commit 38db63b2. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/42484/overview Original change's description: > [profiler] opt-in tracing setting > > CpuProfiler includes logic tracing that is only relevant in > the context of TracingCpuProfiler. > Adds a setting to disable tracing for SamplingCpuProfiler. > > Change-Id: Idcac03dd3f368b5fcd48a532d5cfe60966a64003 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3433219 > Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/main@{#79190} Change-Id: Ib39f3790c5ba63ba2609cd8e5f6c218cd8e96ef7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3477102 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Owners-Override: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#79191}
-
Corentin Pescheloche authored
CpuProfiler includes logic tracing that is only relevant in the context of TracingCpuProfiler. Adds a setting to disable tracing for SamplingCpuProfiler. Change-Id: Idcac03dd3f368b5fcd48a532d5cfe60966a64003 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3433219 Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#79190}
-
- 18 Feb, 2022 1 commit
-
-
Samuel Groß authored
Previously, V8_OS_MACOSX was, somewhat confusingly, also used for iOS. With this CL, V8_OS_DARWIN will be set on both macOS and iOS, V8_OS_MACOS only on macOS, and V8_OS_IOS only on iOS. This CL also renames V8_TARGET_OS_MACOSX to V8_TARGET_OS_MACOS and renames platform-xnu.cc to platform-darwin.cc. Change-Id: I4bcafc7c337586662114144f6c7ccf47d978da1f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3468577Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Samuel Groß <saelo@chromium.org> Cr-Commit-Position: refs/heads/main@{#79167}
-
- 15 Feb, 2022 1 commit
-
-
Jakob Gruber authored
.. to resolve the overloaded 'runtime' term and overall pick a more meaningful name for this class. It's neither very related to runtime (instead it's called periodically when the bytecode interrupt budget is exhausted); nor is profiling its main purpose. This class is responsible for controlling tiering decisions, hence the new name 'TieringManager'. Bug: v8:7700 Change-Id: Id6f1edf4ebe016d0d81903d0a13e0e1fe6e02142 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3463716Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#79101}
-
- 14 Feb, 2022 1 commit
-
-
Harshil Jain authored
Change-Id: I598b3e7b0ad349c504d8729eb288d19b14319253 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3439336Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Harshil Jain <twitharshil@gmail.com> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79074}
-
- 11 Feb, 2022 1 commit
-
-
Kevin Babbitt authored
This will enable proper reporting of OOM errors during snapshot deserialization, for example https://crbug.com/614440#c27. Bug: chromium:614440 Change-Id: I226fb763d2630d0b21f7552070ed1a4cc222f69b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3445203Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Kevin Babbitt <kbabbitt@microsoft.com> Cr-Commit-Position: refs/heads/main@{#79055}
-
- 05 Feb, 2022 3 commits
-
-
Shu-yu Guo authored
Currently the Isolate is gotten off of the object that the operation is being performed on. Shared objects return the shared Isolate, which is incorrect as it shouldn't be used to run JS, nor does it have HandleScopes open. Plumb the executing Isolate through. Bug: v8:12547 Change-Id: I428d21f5e6a9c51c8c7c4577395bf27c8706bdb4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3441033Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#78963}
-
Shu-yu Guo authored
Currently the Isolate is gotten off of the object that the operation is being performed on. Shared objects return the shared Isolate, which is incorrect as it shouldn't be used to run JS, nor does it have HandleScopes open. Plumb the executing Isolate through. Bug: v8:12547 Change-Id: I52d5a172ea602f4ad058d979003d51a80cdb4405 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3441022Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#78961}
-
Shu-yu Guo authored
Currently the Isolate is gotten off of the object that the operation is being performed on. Shared objects return the shared Isolate, which is incorrect as it shouldn't be used to run JS, nor does it have HandleScopes open. Plumb the executing Isolate through. Bug: v8:12547 Change-Id: I4d2c9f5d4d7bc50b3aeb515eb78c08eb1b2a6824 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3440902Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#78960}
-
- 28 Jan, 2022 3 commits
-
-
Camillo Bruni authored
This reverts commit e4311846. Reason for revert: Breaking gc-stress bots https://cr-buildbucket.appspot.com/build/8823780450691075553 Original change's description: > Reland "[counters] Improve v8.execute histogram timer" > > This is a reland of 69564827 > > Original change's description: > > [counters] Improve v8.execute histogram timer > > > > - Mark uncommon timer-paths as V8_NOINLINE > > - Add explicit LongTaskNestedTimedHistogramScope class > > - Use explicit LongTaskRecordMode enum > > - Mark a few more isolate methods as const > > - Add more timer scopes: > > - Accessors::ArrayLengthSetter > > - v8::NewContext > > > > Bug: v8:12498, chromium:1275056 > > Change-Id: I7896ee341c3c3a1fd5acf8f3f59347ff01dda9c0 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338258 > > Reviewed-by: Marja Hölttä <marja@chromium.org> > > Auto-Submit: Camillo Bruni <cbruni@chromium.org> > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#78372} > > Bug: v8:12498, chromium:1275056 > Change-Id: Ic153f1235d83340722fbd1053d2eba41133364d2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338700 > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78843} Bug: v8:12498, chromium:1275056 Change-Id: Id5702025320b146e1b5b032650ffe3799c38300e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3424491 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#78849}
-
Camillo Bruni authored
This is a reland of 69564827 Original change's description: > [counters] Improve v8.execute histogram timer > > - Mark uncommon timer-paths as V8_NOINLINE > - Add explicit LongTaskNestedTimedHistogramScope class > - Use explicit LongTaskRecordMode enum > - Mark a few more isolate methods as const > - Add more timer scopes: > - Accessors::ArrayLengthSetter > - v8::NewContext > > Bug: v8:12498, chromium:1275056 > Change-Id: I7896ee341c3c3a1fd5acf8f3f59347ff01dda9c0 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338258 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Auto-Submit: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78372} Bug: v8:12498, chromium:1275056 Change-Id: Ic153f1235d83340722fbd1053d2eba41133364d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338700Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#78843}
-
Camillo Bruni authored
We can avoid a pointer deref if the ValueSerializer is inlined in WebSnapshotDeserializer. Bug: v8:11525 Change-Id: I92d8cac37af3fdbe04a66465f97761bf5a9fd705 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3417433Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#78830}
-
- 26 Jan, 2022 5 commits
-
-
Shu-yu Guo authored
This is a reland of 5320fe8d Changes since revert: - Remove stale DCHECK in deserializer Original change's description: > Reland "[string] Support shared strings in Value{Serializer,Deserializer}" > > This is a reland of 3cb4039c > > Changes since revert: > - Fix FLAG_stress_scavenge interaction with shared Isolate > - Use the shared Isolate's global handles to keep shared values > alive in transit during a postMessage > > Original change's description: > > [string] Support shared strings in Value{Serializer,Deserializer} > > > > When FLAG_shared_string_table is true, postMessaging strings will share > > instead of copy. > > > > Note that not all operations on shared strings are supported, and shared > > strings may be slower than non-shared strings for some operations. Bug: v8:12007 Change-Id: I70782978ed05558615eca03bafc4c12eba3644ca Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3417189Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#78791}
-
Camillo Bruni authored
Bug: v8:11165 Change-Id: I6d21b5ace124b6a47df983d5e3370d241f58f056 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3395880Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#78785}
-
Jochen Eisinger authored
Change-Id: Ib4fd3bc66f5451ac2c50d550515992bdfbe41fcc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3414772Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/main@{#78770}
-
Nico Hartmann authored
This reverts commit 5320fe8d. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20debug/38175/overview Original change's description: > Reland "[string] Support shared strings in Value{Serializer,Deserializer}" > > This is a reland of 3cb4039c > > Changes since revert: > - Fix FLAG_stress_scavenge interaction with shared Isolate > - Use the shared Isolate's global handles to keep shared values > alive in transit during a postMessage > > Original change's description: > > [string] Support shared strings in Value{Serializer,Deserializer} > > > > When FLAG_shared_string_table is true, postMessaging strings will share > > instead of copy. > > > > Note that not all operations on shared strings are supported, and shared > > strings may be slower than non-shared strings for some operations. > > > > Bug: v8:12007 > > Change-Id: I3462128e15410d2568868143571571b3025722c1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3277250 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Shu-yu Guo <syg@chromium.org> > > Cr-Commit-Position: refs/heads/main@{#78614} > > Bug: v8:12007 > Change-Id: I5d9b99b2dac6f26d5ef046d7aec94f1a1d219419 > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3389533 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78761} Bug: v8:12007 Change-Id: Ie8e54b30055324e6592562450b51d5a11e11c9d0 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3416232 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Owners-Override: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#78762}
-
Shu-yu Guo authored
This is a reland of 3cb4039c Changes since revert: - Fix FLAG_stress_scavenge interaction with shared Isolate - Use the shared Isolate's global handles to keep shared values alive in transit during a postMessage Original change's description: > [string] Support shared strings in Value{Serializer,Deserializer} > > When FLAG_shared_string_table is true, postMessaging strings will share > instead of copy. > > Note that not all operations on shared strings are supported, and shared > strings may be slower than non-shared strings for some operations. > > Bug: v8:12007 > Change-Id: I3462128e15410d2568868143571571b3025722c1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3277250 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78614} Bug: v8:12007 Change-Id: I5d9b99b2dac6f26d5ef046d7aec94f1a1d219419 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3389533Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#78761}
-
- 25 Jan, 2022 1 commit
-
-
legendecas authored
1. Expose all the functions to empty builtins. 2. Wire up the basic structure of ShadowRealm and internal slots. Bug: v8:11989 Change-Id: If7545fe18a74b2bd4b70a1a25776e41f03aaff89 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3195532Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Chengzhong Wu <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#78757}
-
- 20 Jan, 2022 2 commits
-
-
Dominik Inführ authored
So far this flag was process-global, so if one isolate used v8::Locker all isolates were forced to use v8::Locker. With the shared isolate now being a thing that routinely gets migrated between different threads, all users of the shared isolate would be forced to use v8::Locker. So we now store that flag on the isolate such that using v8::Locker for the shared isolate does not affect other isolates. Deprecate v8::Locker::WasEverUsed() at the same time. Bug: v8:11708 Change-Id: I60531f084cc1b1b113620c46f5bed20511f52c26 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401595Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#78712}
-
Jochen Eisinger authored
Change-Id: I8fd11742c4ea13cfd5cd3864e167785b97f1383a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3404274Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/main@{#78695}
-
- 17 Jan, 2022 2 commits
-
-
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}
-
Simon Zünd authored
This CL introduces a dedicated API to retrieve the current (w.r.t. the JS stack) script name or sourceURL. Currently, API clients will collect multiple stack traces in increasing sizes to accomplish the same goal. The new method walks the JS stack in the same way as the stack trace collection mechanic but doesn't create/allocate stack info or callsite objects along the way. R=bmeurer@chromium.org, yangguo@chromium.org Doc: https://bit.ly/v8-current-script-name Bug: chromium:1286677 Change-Id: Id53e4f04bf17349d34f3d581bc712b1f4aa055db Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3382818Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#78645}
-
- 14 Jan, 2022 3 commits
-
-
Michael Lippautz authored
This is a reland of 142dd775 Original change's description: > cppgc-js,heap: Implement snapshots for embedder fields > > https://crrev.com/c/3293410 added concurrent processing of C++ objects > found through V8 embedder fields. The CL missed that those embedder > fields are not read atomically from JS objects. The problem is that > embedder fields are only aligned to kTaggedSize on builds with pointer > compression and are as such mis-aligned for atomic ops. This is not a > problem for on-heap values as the upper 32bits are anyways computed > from the cage. Is is a problem for generic C++ values though, as they > are used with Oilpan. > > This CL adds the standard marker snapshot protocol for embedder fields. > > Marker: > 1. Snapshot embedder fields > 2. Try to mark host object > 3. On success: process snapshot > > Main thread: > 1. On setting embedder fields mark the object black first > 2. Emit a write barrier for the embedder fields > > This will get simpler with the heap sandbox that uses a separate table > for embedder fields. Once the sandbox is the default configuration, we > can use it as dependency for the concurrent fast path. > > Bug: chromium:1285706 > Change-Id: I6b975ea561be08cda840ef0dd27a11627de93900 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3380983 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78604} Bug: chromium:1285706 Change-Id: I024e50fc0757fbcd13cb9ffde027dff55f99d25c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386600Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#78631}
-
Leszek Swirski authored
This reverts commit 3cb4039c. Reason for revert: TSAN failure in newly added test: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20isolates/18086/overview Original change's description: > [string] Support shared strings in Value{Serializer,Deserializer} > > When FLAG_shared_string_table is true, postMessaging strings will share > instead of copy. > > Note that not all operations on shared strings are supported, and shared > strings may be slower than non-shared strings for some operations. > > Bug: v8:12007 > Change-Id: I3462128e15410d2568868143571571b3025722c1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3277250 > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78614} Bug: v8:12007 Change-Id: I5bb8f9b4e9b641c6d5cb16f963e9dbc1b13ac56a No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386799 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#78615}
-
Shu-yu Guo authored
When FLAG_shared_string_table is true, postMessaging strings will share instead of copy. Note that not all operations on shared strings are supported, and shared strings may be slower than non-shared strings for some operations. Bug: v8:12007 Change-Id: I3462128e15410d2568868143571571b3025722c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3277250Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#78614}
-
- 13 Jan, 2022 1 commit
-
-
Leszek Swirski authored
This reverts commit 142dd775. Reason for revert: TSAN breaks: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20stress-incremental-marking/6113/overview Original change's description: > cppgc-js,heap: Implement snapshots for embedder fields > > https://crrev.com/c/3293410 added concurrent processing of C++ objects > found through V8 embedder fields. The CL missed that those embedder > fields are not read atomically from JS objects. The problem is that > embedder fields are only aligned to kTaggedSize on builds with pointer > compression and are as such mis-aligned for atomic ops. This is not a > problem for on-heap values as the upper 32bits are anyways computed > from the cage. Is is a problem for generic C++ values though, as they > are used with Oilpan. > > This CL adds the standard marker snapshot protocol for embedder fields. > > Marker: > 1. Snapshot embedder fields > 2. Try to mark host object > 3. On success: process snapshot > > Main thread: > 1. On setting embedder fields mark the object black first > 2. Emit a write barrier for the embedder fields > > This will get simpler with the heap sandbox that uses a separate table > for embedder fields. Once the sandbox is the default configuration, we > can use it as dependency for the concurrent fast path. > > Bug: chromium:1285706 > Change-Id: I6b975ea561be08cda840ef0dd27a11627de93900 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3380983 > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78604} Bug: chromium:1285706 Change-Id: If1976c0356f450fc068aa4dcc39fb9a0d5417a40 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386598 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Owners-Override: Leszek Swirski <leszeks@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/main@{#78605}
-