- 07 May, 2021 2 commits
-
-
arthursonzogni authored
This reland patch: https://chromium-review.googlesource.com/c/v8/v8/+/2867473 (See patchset 1) The problem was blink injecting interceptor into the window object. It observes "observation" and "mutations" on this object. When it happens to the initial empty document, the IPC DidAccessInitialDocument() is sent and modify the state of the browser process. Causing two tests to fail. The diff (See patchset 1..2) includes: 1. Use JSObject::HasRealNamedProperty instead of JsObject::HasProperty. This skips the interceptor and do not walk the prototype chain. 2. Invert JSObject::HasRealNamedProperty() with IsSharedArrayBufferConstructorEnabled(), just in case. This avoid observing the object when not needed. Original patch description: --- This change makes it possible to enable SharedArrayBuffer per Context, controlling whether it should be enabled or not with a callback. The previous implementation of the reverse origin trial for SharedArrayBuffer was broken, since the feature could only be enabled globally per process, and only if the feature flag is set early enough in the v8 initialization. This does not play well with how origin trials work. The implementation is similar to the callbacks that already exist for the origin trials for WebAssembly simd and exceptions. SharedArrayBuffer is still controlled by the flag harmony_sharedarraybuffer. If that flag is disabled, then SharedArrayBuffer is disabled unconditionally. On top of that, this CL introduces a new flag for enabling SharedArrayBuffer per context. If that flag is set, a callback is used to determine whether SharedArrayBuffer should be enabled. Note that this only controls whether the SharedArrayBuffer constructor should be exposed on the global object or not. It is always possible to construct a SharedArrayBuffer using new WebAssembly.Memory({ shared:true, initial:0, maximum:0 }).buffer.constructor; There are few things which I do not like of this approach, but I did not have better ideas: 1. The complex logic of dobule flag + callback. However, this seemed the best way to me to not break embedders which rely on that flag being enabled by default. 2. The fact that what actually matters is just whether the callback returns `true` once. It would be good to check that the callback gives a consistent return value, or to provide a better API that cannot be missunderstood. Bug: chromium:923807,chromium:1071424,chromium:1138860 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2867473Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Antonio Sartori <antoniosartori@chromium.org> Cr-Commit-Position: refs/heads/master@{#74378} --- Bug: chromium:923807,chromium:1071424,chromium:1138860,chromium:1206187 Change-Id: Ibc6b4f8c0e0827178b7f0cbe4b942444bbbe6216 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2880215Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Lutz Vahl <vahl@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Auto-Submit: Arthur Sonzogni <arthursonzogni@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#74441}
-
Jochen Eisinger authored
Bug: chromium:728583 Change-Id: Ie7a46ff884ae9474d342c50e5c6cdcf5c0c0e46a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2874397Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#74434}
-
- 06 May, 2021 1 commit
-
-
Nico Hartmann authored
This reverts commit bc1eb7b4. Reason for revert: https://ci.chromium.org/ui/p/chromium/builders/try/android-pie-arm64-rel/369203/overview Original change's description: > [api] Add API callback setter for the SAB origin trial > > This change makes it possible to enable SharedArrayBuffer per Context, > controlling whether it should be enabled or not with a callback. The > previous implementation of the reverse origin trial for > SharedArrayBuffer was broken, since the feature could only be enabled > globally per process, and only if the feature flag is set early enough > in the v8 initialization. This does not play well with how origin > trials work. > > The implementation is similar to the callbacks that already exist for > the origin trials for WebAssembly simd and exceptions. > > SharedArrayBuffer is still controlled by the flag > harmony_sharedarraybuffer. If that flag is disabled, then > SharedArrayBuffer is disabled unconditionally. On top of that, this CL > introduces a new flag for enabling SharedArrayBuffer per context. If > that flag is set, a callback is used to determine whether > SharedArrayBuffer should be enabled. > > > Note that this only controls whether the SharedArrayBuffer constructor > should be exposed on the global object or not. It is always possible > to construct a SharedArrayBuffer using > > new WebAssembly.Memory({ > shared:true, initial:0, maximum:0 }).buffer.constructor; > > > There are few things which I do not like of this approach, but I did > not have better ideas: > > 1. The complex logic of dobule flag + callback. However, this seemed > the best way to me to not break embedders which rely on that flag > being enabled by default. > > 2. The fact that what actually matters is just whether the callback > returns `true` once. It would be good to check that the callback gives > a consistent return value, or to provide a better API that cannot be > missunderstood. > > > Bug: chromium:923807,chromium:1071424,chromium:1138860 > Change-Id: Ibe3776fad4d3bff5dda9066967e4b20328014266 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2867473 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Commit-Queue: Antonio Sartori <antoniosartori@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74378} Bug: chromium:923807 Bug: chromium:1071424 Bug: chromium:1138860 Change-Id: Iec678dee130db891c2096e47bc072a5d77ae9476 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2874403 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Lutz Vahl <vahl@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#74404}
-
- 05 May, 2021 1 commit
-
-
Antonio Sartori authored
This change makes it possible to enable SharedArrayBuffer per Context, controlling whether it should be enabled or not with a callback. The previous implementation of the reverse origin trial for SharedArrayBuffer was broken, since the feature could only be enabled globally per process, and only if the feature flag is set early enough in the v8 initialization. This does not play well with how origin trials work. The implementation is similar to the callbacks that already exist for the origin trials for WebAssembly simd and exceptions. SharedArrayBuffer is still controlled by the flag harmony_sharedarraybuffer. If that flag is disabled, then SharedArrayBuffer is disabled unconditionally. On top of that, this CL introduces a new flag for enabling SharedArrayBuffer per context. If that flag is set, a callback is used to determine whether SharedArrayBuffer should be enabled. Note that this only controls whether the SharedArrayBuffer constructor should be exposed on the global object or not. It is always possible to construct a SharedArrayBuffer using new WebAssembly.Memory({ shared:true, initial:0, maximum:0 }).buffer.constructor; There are few things which I do not like of this approach, but I did not have better ideas: 1. The complex logic of dobule flag + callback. However, this seemed the best way to me to not break embedders which rely on that flag being enabled by default. 2. The fact that what actually matters is just whether the callback returns `true` once. It would be good to check that the callback gives a consistent return value, or to provide a better API that cannot be missunderstood. Bug: chromium:923807,chromium:1071424,chromium:1138860 Change-Id: Ibe3776fad4d3bff5dda9066967e4b20328014266 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2867473Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Antonio Sartori <antoniosartori@chromium.org> Cr-Commit-Position: refs/heads/master@{#74378}
-
- 04 May, 2021 1 commit
-
-
Dominik Inführ authored
Both NewSpace and NewLargeObjectSpace aren't used with FLAG_single_generation enabled. So far both spaces still existed but weren't used in this mode. This CL makes both spaces optional, which ensure that we do not inadvertently create objects in them or use them in any other way. Bug: v8:11644 Change-Id: I52a449c62e9d3df126c95419433d2abbd75539a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2862768 Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#74345}
-
- 03 May, 2021 2 commits
-
-
Jakob Gruber authored
.. to avoid the GetIsolate() call. Change-Id: Ia8bf7a4e835d681decbc3965b582c0e788472877 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2857639 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#74323}
-
Wenyu Zhao authored
* Mostly are heap/space/page checks. Bug: v8:11641 Change-Id: Ia1726f414109ac5e8a3bdb18ccaa46a63db6bc95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2849823 Commit-Queue: Wenyu Zhao <wenyu.zhao@anu.edu.au> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#74317}
-
- 30 Apr, 2021 1 commit
-
-
Jochen Eisinger authored
Tracking the context is not enough, as we might clear the context to avoid repeatedly reentering the same context. Also fix unittests that relied on the default microtask queue getting automatically processed instead of the one of the current context. Bug: chromium:728583 Change-Id: Ia9a51c513fc7363a518af86cc54c5bda26b5fbe8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859850Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#74303}
-
- 28 Apr, 2021 1 commit
-
-
Shu-yu Guo authored
This CL factors out a CodeRange class out of MemoryAllocator. When V8_COMPRESS_POINTERS_IN_SHARED_CAGE is defined, there is a single CodeRange shared by all Isolates in the process. This also turns short builtins back for both configurations of pointer compression. When sharing a cage, there is a single copy of the re-embedded builtins. Since a shared pointer cage is still experimental, to avoid API churn this CodeRange's size is not configurable and is always the maximal size depending on the underlying platform. Change-Id: Ie94f52746f2c5450247a999cc6071e3914d4cf0c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2819206Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#74261}
-
- 27 Apr, 2021 1 commit
-
-
Maya Lekova authored
This CL makes the object passed as argument to IsLeafTemplateForApiObject be received as a handle instead of a raw C++ pointer. From the codegen point of view, the memory representation is the same, so this doesn't change its semantics. Bug: chromium:1052746 Change-Id: Ibc116aa4d577ba95f30d1014f15f34ef3fbb1a35 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2851884Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74220}
-
- 26 Apr, 2021 1 commit
-
-
Andreas Haas authored
Bug: chromium:1197703 Change-Id: I36fd8b6ef4105e7deab9617d3cd1f2eb44e08171 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850650Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#74185}
-
- 23 Apr, 2021 1 commit
-
-
Michael Lippautz authored
Untangles the non-tracing GC optimization (Scavenger) that allows for dropping objects that are only reachable from certain API references from EmbedderHeapTracer. Instead, allow setting it on Isolate. This allows for using the optimization when using cppgc. Chromium-side: https://crrev.com/c/2844587 Bug: chromium:1056170 Change-Id: I20f28dd84c808872c7f9559c8c168e828794dd1d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2844657Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74135}
-
- 21 Apr, 2021 2 commits
-
-
Andrew Comminos authored
As we can still intend to run the web-exposed profiler outside of an origin-isolated environment, add support back for filtering by v8::Context. This reverts commit 05af3681. Bug: chromium:956688 Change-Id: Idd98bea3213b5963f689a04de6c3743073efc587 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2785806Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Andrew Comminos <acomminos@fb.com> Cr-Commit-Position: refs/heads/master@{#74112}
-
Camillo Bruni authored
Bug: chromium:1193459 Change-Id: Ia4a79a1f75bb82c459b8b0de35d95c5f25098f1c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843355Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74090}
-
- 20 Apr, 2021 3 commits
-
-
Stephen Belanger authored
This is a reland of d5457f5f after a speculative revert. Additionally it fixes an issue with throwing promise hooks. Original change's description: > [api] JSFunction PromiseHook for v8::Context > > This will enable Node.js to get much better performance from async_hooks > as currently PromiseHook delegates to C++ for the hook function and then > Node.js delegates it right back to JavaScript, introducing several > unnecessary barrier hops in code that gets called very, very frequently > in modern, promise-heavy applications. > > This API mirrors the form of the original C++ function based PromiseHook > API, however it is intentionally separate to allow it to use JSFunctions > triggered within generated code to, as much as possible, avoid entering > runtime functions entirely. > > Because PromiseHook has internal use also, beyond just the Node.js use, > I have opted to leave the existing API intact and keep this separate to > avoid conflicting with any possible behaviour expectations of other API > users. > > The design ideas for this new API stemmed from discussion with some V8 > team members at a previous Node.js Diagnostics Summit hosted by Google > in Munich, and the relevant documentation of the discussion can be found > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e > > A summary of the reasons for why this new design is important can be > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing > > Bug: v8:11025 > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73858} Bug: v8:11025 Bug: chromium:1197475 Change-Id: I73a71e97d9c3dff89a2b092c3fe4adff81ede8ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2823917Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74071}
-
Maya Lekova authored
This is a reland of 6124a534 It fixes a UAF issue in the d8 test by moving the test API object constructor to PerIsolateData. It also fixes a crash in Chromium caused by current usage of v8::ApiObject, which should be migrated to v8::Value*. Original change's description: > [fastcall] Add support for leaf interface type checks > > This CL adds an IsTemplateForApiObject method to FunctionTemplate > allowing the embedder to check whether a given API object was > instantiated by this template without including parent templates > in the search. It also replaces the v8::ApiObject in the fast API > with a raw v8::Value pointer to allow use of standard C++ casts. > > Bug: chromium:1052746 > Change-Id: I0812ec8b4daaa5f5005aabf10b63e1e84e0b8f03 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595310 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73999} Bug: chromium:1052746, chromium:1199900 Change-Id: I4b7f0c9e9152919dde4a1d0c48fbf5ac8c5b13d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835711Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74064}
-
Sathya Gunasekaran authored
This reverts commit f2741b13. Reason for revert: breaks blink linux bot https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Blink%20Linux%20Debug/9089/blamelist Original change's description: > Resolving or rejecting promises doesn't execute script > > It just enqueues a microtask. > > Bug: chromium:728583 > Change-Id: Iecbc6f33db8a94acd10d9ae1f2173700d872ac50 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2827906 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Commit-Queue: Jochen Eisinger <jochen@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74036} Bug: chromium:728583 Change-Id: I09a750b9c5cf43adedb395949e246421eeaf0a09 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839547 Auto-Submit: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#74059}
-
- 19 Apr, 2021 1 commit
-
-
Jochen Eisinger authored
It just enqueues a microtask. Bug: chromium:728583 Change-Id: Iecbc6f33db8a94acd10d9ae1f2173700d872ac50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2827906Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#74036}
-
- 16 Apr, 2021 4 commits
-
-
Shu-yu Guo authored
This reverts commit 6124a534. Reason for revert: On suspicion of blocking V8 roll: https://ci.chromium.org/ui/p/chromium/builders/try/win10_chromium_x64_rel_ng/839568/overview Original change's description: > [fastcall] Add support for leaf interface type checks > > This CL adds an IsTemplateForApiObject method to FunctionTemplate > allowing the embedder to check whether a given API object was > instantiated by this template without including parent templates > in the search. It also replaces the v8::ApiObject in the fast API > with a raw v8::Value pointer to allow use of standard C++ casts. > > Bug: chromium:1052746 > Change-Id: I0812ec8b4daaa5f5005aabf10b63e1e84e0b8f03 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595310 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73999} Bug: chromium:1052746 Change-Id: Ic99ec616310f0f75800c3dad393b5d2d685b76ab No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2829988 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#74016}
-
Maya Lekova authored
This CL adds an IsTemplateForApiObject method to FunctionTemplate allowing the embedder to check whether a given API object was instantiated by this template without including parent templates in the search. It also replaces the v8::ApiObject in the fast API with a raw v8::Value pointer to allow use of standard C++ casts. Bug: chromium:1052746 Change-Id: I0812ec8b4daaa5f5005aabf10b63e1e84e0b8f03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2595310 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73999}
-
Camillo Bruni authored
- This is a reland of d435eaa5 - Fix vtunedomain Original change's description: > [api] Add v8::Isolate::ThrowError helper > > Add a ThrowError helper to encourage throwing full Error objects > instead of just v8::Strings. > > Bug: v8:11195 > Change-Id: I15d75b1d39b817de3b9026a836b57a70d7c16a28 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2811738 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73958} Bug: v8:11195 Change-Id: I3cffaa4f122d74705476c3f8791b549f85d8c87b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826534Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73993}
-
Arno Renevier authored
- represent smis as fake heap numbers - numbers nodes (both smi and heap numbers) reference a child node whose name is "value" and whose entry is the string representation of that number That feature is disabled by default, and can be enabled by passing captureNumericValue: true when calling HeapProfiler.takeHeapSnapshot This patch slightly refactors some functions that operate on "essential objects". We now check that the object is essential before trying to create the entry. Otherwise, we would end up with smi objects created, but not referenced anywhere. Design doc: https://docs.google.com/document/d/1Qh1zxyn0SS5wzJzitD6ecBJTdFbQkJogSMwxDRsn44o/edit Change-Id: Ibbe6e79a54c4f9eace72bc0a0ccb622a97698e00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2806747Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Arnaud Renevier <arenevier@fb.com> Cr-Commit-Position: refs/heads/master@{#73985}
-
- 14 Apr, 2021 4 commits
-
-
Maya Lekova authored
This reverts commit d435eaa5. Reason for revert: Breaks compilation on the vtunejit bot, see https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20vtunejit/41247/overview Original change's description: > [api] Add v8::Isolate::ThrowError helper > > Add a ThrowError helper to encourage throwing full Error objects > instead of just v8::Strings. > > Bug: v8:11195 > Change-Id: I15d75b1d39b817de3b9026a836b57a70d7c16a28 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2811738 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73958} Bug: v8:11195 Change-Id: I2773d8ca7d73e7952d274381e2e0a2e5733a83da No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826533 Auto-Submit: Maya Lekova <mslekova@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73959}
-
Camillo Bruni authored
Add a ThrowError helper to encourage throwing full Error objects instead of just v8::Strings. Bug: v8:11195 Change-Id: I15d75b1d39b817de3b9026a836b57a70d7c16a28 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2811738 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#73958}
-
Ulan Degenbaev authored
Bug: chromium:1173527 Change-Id: If918b739f137b9c09030104b909e7bd2d4cd5984 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2817616Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73953}
-
Sathya Gunasekaran authored
Instead of assigning serial numbers when the template infos are created, this patch creates serial numbers only when they are added to cache. This way only the ones that are first instantiated are allocated the fast template cache. Previously, various accessors and methods that would almost never get instantiated got assigned to the fast template cache. Bug: v8:11284 Change-Id: I8f7578aa0dae48267bbc6303515114eb6e24c1c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2621081Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#73655} TBR: ulan@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2825592 Cr-Commit-Position: refs/heads/master@{#73951}
-
- 13 Apr, 2021 2 commits
-
-
Jochen Eisinger authored
Bug: chromium:728583 Change-Id: I0d88b7516d053f2024a43bed84843ee47e06cd42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2823697Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#73940}
-
Benedikt Meurer authored
The method was scheduled for removal in M92, as finaly part of the fn.displayName support removal. Fixed: chromium:1177685 Doc: https://bit.ly/devtools-function-displayName-removal Change-Id: I243dd6c9849a6f39e76dd003300b639bfd8df604 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2821954 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73930}
-
- 12 Apr, 2021 4 commits
-
-
Shu-yu Guo authored
With a shared cage, there's no easy way to recover an Isolate from a heap pointer. Symbol::Description relies on RO symbols' description slot being uncompressed so a Handle could point to it. This isn't possible with a shared cage without going through TLS to get an Isolate for Handle construction, so deprecate the method in favor of one that takes an Isolate directly. Bug: v8:11460 Change-Id: I69b2b7d77f4c00d0f58954cd80e22cba5ff222e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2802860 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#73924}
-
Jochen Eisinger authored
It's used when setting up the context snapshot for blink, so we want to be sure that it doesn't execute script. Bug: chromium:728583 Change-Id: I46507e18d178e6473dd10348a9f253016a9178b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2807615Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#73920}
-
Camillo Bruni authored
Make runtime-call-stats a compile-time flag. Disabling RCS saves roughly 1MB binary size on 64bit systems and yields minor performance improvements. Bug: v8:11299 Change-Id: Ia1db75e330a665db5251b685c164b96857e38d2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2799766Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73910}
-
Camillo Bruni authored
Bug: chromium:1193459 Change-Id: I6d9dace9341e96f2586a469d7e16bfa38bf68029 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2810845Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73901}
-
- 08 Apr, 2021 2 commits
-
-
Michael Achenbach authored
This reverts commit d5457f5f. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/32999 Original change's description: > [api] JSFunction PromiseHook for v8::Context > > This will enable Node.js to get much better performance from async_hooks > as currently PromiseHook delegates to C++ for the hook function and then > Node.js delegates it right back to JavaScript, introducing several > unnecessary barrier hops in code that gets called very, very frequently > in modern, promise-heavy applications. > > This API mirrors the form of the original C++ function based PromiseHook > API, however it is intentionally separate to allow it to use JSFunctions > triggered within generated code to, as much as possible, avoid entering > runtime functions entirely. > > Because PromiseHook has internal use also, beyond just the Node.js use, > I have opted to leave the existing API intact and keep this separate to > avoid conflicting with any possible behaviour expectations of other API > users. > > The design ideas for this new API stemmed from discussion with some V8 > team members at a previous Node.js Diagnostics Summit hosted by Google > in Munich, and the relevant documentation of the discussion can be found > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e > > A summary of the reasons for why this new design is important can be > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing > > Bug: v8:11025 > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73858} Bug: v8:11025 Change-Id: Ie7345c4505f39c973f9f0dbca745b591cff63f3f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814740 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73862}
-
Stephen Belanger authored
This will enable Node.js to get much better performance from async_hooks as currently PromiseHook delegates to C++ for the hook function and then Node.js delegates it right back to JavaScript, introducing several unnecessary barrier hops in code that gets called very, very frequently in modern, promise-heavy applications. This API mirrors the form of the original C++ function based PromiseHook API, however it is intentionally separate to allow it to use JSFunctions triggered within generated code to, as much as possible, avoid entering runtime functions entirely. Because PromiseHook has internal use also, beyond just the Node.js use, I have opted to leave the existing API intact and keep this separate to avoid conflicting with any possible behaviour expectations of other API users. The design ideas for this new API stemmed from discussion with some V8 team members at a previous Node.js Diagnostics Summit hosted by Google in Munich, and the relevant documentation of the discussion can be found here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e A summary of the reasons for why this new design is important can be found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing Bug: v8:11025 Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73858}
-
- 07 Apr, 2021 1 commit
-
-
Sara Tang authored
Guard system-instrumentation with V8_OS_WIN instead of V8_TARGET_OS_WIN. Re-enable ENABLE_SYSTEM_INSTRUMENTATION Bug: v8:11043, chromium:1196278 Change-Id: I3c3ab07de909ad5b58dd9a99740ff5f59ab8165f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2809530Reviewed-by:
Nico Weber <thakis@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Sara Tang <sartang@microsoft.com> Cr-Commit-Position: refs/heads/master@{#73821}
-
- 29 Mar, 2021 2 commits
-
-
Camillo Bruni authored
This Cl adds the two following flags to artificially slow down script execution in a controlled way: --script_run_delay delays the first every v8::Execute per isolate --script_run_delay_once delays every v8::Execute Bug: chromium:1193459 Change-Id: I78fcf940513e9f82fde57ff222e95df9202d00a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2739641Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73710}
-
Frank Emrich authored
The build time flag v8_dict_mode_prototypes is ill-named, because it does not control whether properties are kept in dictionary mode (this is done by the v8_dict_property_const_tracking flag), but instead it controls if SwissNameDictionary or NameDictionary is used as the property backing store for all dictionary mode objects. This CL renames the flag and updates its description. Change-Id: If1337838d1b6d8f089c281a77d9ef7cfd4007220 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786859Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#73706}
-
- 25 Mar, 2021 3 commits
-
-
Igor Sheludko authored
... and don't enable them for CFI builds. Bug: v8:11527 Change-Id: I651473833c1e74d942bd75dc7574dbca45b34b64 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786855Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#73672}
-
Michael Achenbach authored
This reverts commit db16dce2. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux%20Debug/8771 Original change's description: > [api] Assign serial numbers when template infos are added to cache > > Instead of assigning serial numbers when the template infos are > created, this patch creates serial numbers only when they are added to > cache. > > This way only the ones that are first instantiated are allocated the > fast template cache. Previously, various accessors and methods that > would almost never get instantiated got assigned to the fast template > cache. > > Bug: v8:11284 > Change-Id: I6b633e56e59cbfc3fa5d4ee2db53ca2849eecdd7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2621081 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73655} Bug: v8:11284 Change-Id: I382915b2c1be1d87d7a7a961d13e1dd5e3951a4f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2786844 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73659}
-
Andreas Haas authored
The installation of conditional features in WebAssembly needs the context to be set in the isolate to fix https://ci.chromium.org/ui/p/chromium/builders/try/linux-rel/b8851955177753045904/overview. The context cannot be passed explicitly to all uses of the context, because Isolate::object_function() accesses the native_context through the isolate. Change-Id: I20334fd6779326e64825a15ba2aca3ae06a5c0d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784684Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#73658}
-