- 09 Jun, 2021 1 commit
-
-
Simon Zünd authored
This CL adds a new method intended for tests or lab settings to cleanup V8 caches. The synchronous nature of the method greatly reduces flakiness of blink leak detection in many cases. Bug: chromium:1217831 Change-Id: I107eddc8b88d91aa7e69430ecfc135fe39538a5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2948666 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75041}
-
- 08 Jun, 2021 3 commits
-
-
Michael Lippautz authored
GetName() is very generic and arleady exists as virtual method in Blink. Bug: chromium:1056170 Change-Id: I7aa6e869a06c048e7baea45939894717c872d89e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2947404 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by:
Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#75024}
-
Ulan Degenbaev authored
Change-Id: I4a30e0f01e35eb0824f5abeec62d55d62970b59f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2910781Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#75016}
-
Daniel Bevenius authored
This commit adds a TryGetCurrent() method to the v8::Isolate class. The motivation for adding this method this is that in Node.js we've run into situations where we need to check if there is a current Isolate and we are using GetCurrent() for this. The issue is that for a debug build of Node.js, the debug check in GetCurrent() will cause a failure. The suggestion in this changeset is to allow getting the current Isolate, or null if one does not exist, without any checks. Change-Id: I01676e4bcdbe86da0496f5df1982d14eb1c9ebf8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2910630Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#75004}
-
- 02 Jun, 2021 1 commit
-
-
Sigurd Schneider authored
This interface allows associating meta information to exceptions. This meta information can be used by debugging tools, like DevTools, to learn about e.g. a network request or a DevTools issue that is associated with the exception. To do so the inspector client (i.e. embedder) has to provide the data. Bug: chromium:1213393 Change-Id: Ia86221f4f04b21024d592bafb2f74886ead8a6a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928496 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Philip Pfaffe <pfaffe@chromium.org> Cr-Commit-Position: refs/heads/master@{#74909}
-
- 01 Jun, 2021 1 commit
-
-
Camillo Bruni authored
Bug: v8:11195 Change-Id: I100a19087dffc35e3935b75ed00c6c1a4e887d50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928506Reviewed-by:
Patrick Thier <pthier@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74874}
-
- 31 May, 2021 1 commit
-
-
Maya Lekova authored
This CL enhances the interface of the fast C API with constants and structs necessary for supporting JSArrays, TypedArrays and ArrayBuffers. It also adds checks for incompatible combinations of argument type/flags. Bug: chromium:1052746 Change-Id: I032167d0739d33f8151f78574c89d565cb9bd821 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2903147Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74857}
-
- 27 May, 2021 2 commits
-
-
Paolo Severini authored
To support Fast API calls with overloads, implement compile-time function resolution based on the number of arguments passed to the JS function. Bug: v8:11739 Change-Id: I96839dc0b6fc540eff94573ac9e77f678908fc3a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2901249Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74837}
-
Daniel Abraham authored
Based on an analysis of auto-generated code, based on browser_protocol.pdl and js_protocol.pdl: https://goreportcard.com/report/github.com/daabr/chrome-vision#misspell Bug: chromium:1213460 Change-Id: Ib96b2d2700d0bf1ac90e88accd0bc15eccbb9d7b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848874Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Kim-Anh Tran <kimanh@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#74810}
-
- 21 May, 2021 1 commit
-
-
Ross McIlroy authored
They have been disabled for some time and are superseeded by lazy feedback vector allocation. Change-Id: Iafc3989b0c1f866ce7d6295d9b13ccaa5ef1c115 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2905609Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#74711}
-
- 20 May, 2021 2 commits
-
-
Michael Hablich authored
TBR=machenbach@chromium.org notry=true Change-Id: I9110ef10d6e817b64a377108158014cd9f04ad84 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2910321Reviewed-by:
Michael Hablich <hablich@chromium.org> Commit-Queue: Michael Hablich <hablich@chromium.org> Cr-Commit-Position: refs/heads/master@{#74696}
-
Michael Lippautz authored
Used include-what-you-use [1] to clean up cppgc API headers. The tool does somewhat work but requires some cleanup afterwards as it cannot nicely deal with `v8config.h` and the defines it generates. [1] https://github.com/include-what-you-use/include-what-you-use/ Bug: chromium:1056170 Change-Id: I7b03797c615f8e033510fc959bbdb792d8b7a4ee Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2907612Reviewed-by:
Omer Katz <omerkatz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74693}
-
- 19 May, 2021 2 commits
-
-
Omer Katz authored
Check that the marked bit of an object is set if assigned during a prefinalizer to a Member in a live object or a Persistent. Bug: v8:11749 Change-Id: I993c0d226a4157698591e1f7bc0c55e5c79239b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2897093 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74672}
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: I885ec134ad632473c4bdaab82c0fe86d7a9ae931 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2904214 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74663}
-
- 18 May, 2021 1 commit
-
-
Paolo Severini authored
In order to support Fast API calls with overloads, store a FixedArray of c-function addresses and a FixedArray of the corresponding FunctionInfo*. For now keep using only the first function in the array. Bug: v8:11739 Change-Id: If23381aa9d04c5cd830043951da9c53836a36328 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2876592Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74643}
-
- 17 May, 2021 2 commits
-
-
Michael Lippautz authored
Create verification state on first assignment and check that the reference slot is contained within the values heap if it is an on-heap reference. Bug: chromium:1056170 Change-Id: I0ce0e2bbd751186429950bb4f6bad97b273b3128 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2887509 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74607}
-
Antonio Sartori authored
The method changes a global flag, depending upon which v8 attaches or not the SharedArrayBuffer constructor to global objects. Chrome ended up calling it when some contexts had already been created, leading to inconsistencies. (Also) because of that, we decided to change the mechanism for enabling cross-origin isolation (cf. https://crrev.com/c/2880215). I believe it is better not to expose this method. Bug: chromium:923807 Change-Id: I269cb1c5406f999a395bbb7657574c0f73b4ae99 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2900224Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Antonio Sartori <antoniosartori@chromium.org> Cr-Commit-Position: refs/heads/master@{#74600}
-
- 12 May, 2021 2 commits
-
-
Michael Lippautz authored
This CL only affects non-production code. In non-production code, test runners may invoke tasks (base::RunLoop()) with an interesting stack. V8 assumes that it can clear certain data structures when running from a non-nested task due to not having any interesting stack on top. During testing this can lead to UAF on stack as data structures are prematurely cleared. With cppgc this failure can be fixed as the information on whether test runners invoke tasks with a non-trivial stack is actually present. Example failure: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8847453411432681120/+/steps/webkit_unit_tests__with_patch__on_Ubuntu-18.04/0/logs/Flaky_failure:_WebSocketStreamTest.ConnectWithFailedHandshake__status_CRASH_SUCCESS_/0 Change-Id: Ib9f6fb2d8a1aa43d0b973afeb2d0a740c769e784 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2891574Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74539}
-
Maya Lekova authored
This CL enhances the fast C API in a way to allow passing the receiver to the fast callback as Local<Object> instead of Local<Value>. It also fixes documentation comments. Bug: chromium:1052746 Change-Id: I424aa83023c2e6633b9df08ee040bf170db32b3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2887510 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#74519}
-
- 11 May, 2021 1 commit
-
-
Michael Lippautz authored
Member is sometimes still used from off-heap storage which prohibits getting the heap from the Member's slot address. Bug: v8:11756 Change-Id: I61658ce07a8b02a8c400232ff21c75f0d8b95dcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2886879 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#74496}
-
- 10 May, 2021 4 commits
-
-
Clemens Backes authored
After updating our bots to use GCC 7.4, we do not need to support incomplete C++14 support any more. In particular, we can assume complete c++14 constexpr support now. This CL removes the V8_HAS_CXX14_CONSTEXPR and CONSTEXPR_DCHECK macros. The CONSTEXPR_DCHECKs are replaced by DCHECK and friend, or STATIC_ASSERT where possible. R=jgruber@chromium.org, leszeks@chromium.org, mlippautz@chromium.org Bug: v8:9686, v8:11384 Change-Id: I3a8769a0f54da7eb2cacc37ee23e5c97092e3051 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2876847Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74486}
-
Paolo Severini authored
As a first step to support Fast API calls with overloads, adds a new FunctionTemplate constructor that accepts a vector of CFunction*. Bug: v8:11739 Change-Id: I112b1746768f52df52c893a4f1fb799b6bd90856 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2860838Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74481}
-
Michael Lippautz authored
This is a reland of 7458e67c Original change's description: > cppgc: Implement basic Member and Persistent checks > > Adds check for > - same heap on assignment > - header and containment > > The verification state is eagerly created for on-heap Member > references using caged heap and lazily created on first assignment for > all others. > > Bug: chromium:1056170 > Change-Id: I38ee18eeb7ac489f69a46670cc5e5abe07f62dfa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878745 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74449} Bug: chromium:1056170 Change-Id: I9cecfcf7ba2cb70650fd51f345fbf740b96ff6ba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2882804Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74468}
-
Samuel Groß authored
This change turns the previously used XOR-based type checks for external pointers into AND-based type checks. With those, the type tag is ORed into the top bits of an external pointer when it is written, and the type check performed on every load is done by ANDing the value with the inverted tag. This will later allow type checking and masking off the GC marking bits of external pointers in a single operation. Bug: v8:10391 Change-Id: I89f2b22588b3f7467c79c7916c11f25cd9bcc82d Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850639 Commit-Queue: Samuel Groß <saelo@google.com> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#74464}
-
- 07 May, 2021 5 commits
-
-
Zhi An Ng authored
This reverts commit 7458e67c. Reason for revert: Crash on windows https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Win64%20-%20debug/37698/overview Original change's description: > cppgc: Implement basic Member and Persistent checks > > Adds check for > - same heap on assignment > - header and containment > > The verification state is eagerly created for on-heap Member > references using caged heap and lazily created on first assignment for > all others. > > Bug: chromium:1056170 > Change-Id: I38ee18eeb7ac489f69a46670cc5e5abe07f62dfa > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878745 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74449} Bug: chromium:1056170 Change-Id: I466522a7d879560c99dabbd96c3b097894743a87 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2880149 Auto-Submit: Zhi An Ng <zhin@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#74450}
-
Michael Lippautz authored
Adds check for - same heap on assignment - header and containment The verification state is eagerly created for on-heap Member references using caged heap and lazily created on first assignment for all others. Bug: chromium:1056170 Change-Id: I38ee18eeb7ac489f69a46670cc5e5abe07f62dfa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878745Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74449}
-
Ulan Degenbaev authored
The function will be used to implement the web memory measurement API. This adds an |allocated_bytes_at_last_gc| counter to each normal page. The counter is updated by the sweeper. Bug: chromium:1181269 Change-Id: If6612de06f373a839fce986c71ba3dfde4d9c9c2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2880534 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74446}
-
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}
-
Michael Lippautz authored
Bug: chromium:1056170 Change-Id: Ifa1f8d4c1b1003e9d33f1c9b42e6647388c56d01 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878746Reviewed-by:
Omer Katz <omerkatz@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74438}
-
- 06 May, 2021 2 commits
-
-
Benedikt Meurer authored
Within the inspector we should be consistent about passing the script ID always as integer, and only convert to String16 when actually needed. That (a) saves memory (and some runtime overhead) when stashing away call frames, for example in case of async stack traces, and (b) reduces confusion which representation to chose. Bug: chromium:1162229 Change-Id: I9591931da0a307779372f36aba6e155ec22bbe3d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2876856 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#74410}
-
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 2 commits
-
-
Michael Lippautz authored
- Take HeapHandle& parameter to allow a use case of free() on an already dead object during sweeping. - Change free() from T* to T& which forces an object and allows the caller to place the nullptr check before retrieving a heap handle. Bug: chromium:1056170 Change-Id: I80689d27d3abe410d177cd8c86b31ff2fe579a77 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2874461 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74387}
-
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
-
-
Alex Rudenko authored
This reverts commit 1527c487. Reason for revert: reverted in favour of https://chromium-review.googlesource.com/c/v8/v8/+/2857640 Original change's description: > Expose V8CommandLineAPIScope and V8InspectorSession::createCommandLineAPI > > This CL extracts CommandLineAPIScope from V8Console and exposes it > as V8CommandLineAPIScope. Also, it exposes V8InspectorSession::createCommandLineAPI. > These changes will be used by InspectorPageAgent to install command > line APIs when evaluating scripts added using CDP's command > Page.addScriptToEvaluateOnNewDocument. > > Chromium CL: https://crrev.com/c/2835786 > > Doc: https://docs.google.com/document/d/1zGG7-NZMb-aOfFfHf1u4VsP4C-lZettopCvYDC6pkBw/ > Bug: chromium:1200705 > Change-Id: I39b27f957cfb6d682ea84e385eaf25d09d261b58 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835712 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Commit-Queue: Alex Rudenko <alexrudenko@chromium.org> > Cr-Commit-Position: refs/heads/master@{#74096} Bug: chromium:1200705 Change-Id: Ic7f411f3c66dd33c1b021dab90f202b361ee85c2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859953Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Alex Rudenko <alexrudenko@chromium.org> Cr-Commit-Position: refs/heads/master@{#74350}
-
- 03 May, 2021 1 commit
-
-
Omer Katz authored
AtomicCtorTag is needed by Blink to force atomic initialization of members. This is used when reinitializing a member in a backing store. Bug: chromium:1056170 Change-Id: I410766a9c9133a1f1c2ea2e1153cb1c61363459f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2859944 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74341}
-
- 30 Apr, 2021 2 commits
-
-
Clemens Backes authored
cpplint rules change over time, and we change the exact rules we enable for v8. This CL removes NOLINT annotations which are not needed according to the currently enabled rules. R=mlippautz@chromium.org Bug: v8:11717 Change-Id: I41c4c18dd3f70ec255e9d2769ffd25a38f6f2784 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2862764Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74307}
-
Alex Rudenko authored
In https://crrev.com/c/2842128, a concern was raised that using `V8InspectorSession::createCommandLineAPI` directly would not cache the command line API definitions and V8 could expose a higher level API for this use case. This CL exposes `InjectedScript::ContextScope` via V8InspectorSession. If this approach is approved, V8InspectorSession::createCommandLineAPI could be removed. Example usage: https://crrev.com/c/2858964 Bug: chromium:1200705 Change-Id: Ib9fcadcb9bbd75c08f0122b0e4ee61e2874c4f8a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2857640 Commit-Queue: Alex Rudenko <alexrudenko@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#74289}
-
- 29 Apr, 2021 1 commit
-
-
Benedikt Meurer authored
The "Restart frame" feature was implemented as part of LiveEdit and primarily used to support LiveEdit of active functions, but that was previously disabled as part of https://crrev.com/c/2846892 because it's too brittle and causes crashes when using seemingly unrelated features. The "Restart frame" feature was also available as a context menu item separately in the DevTools front-end, but that was also already removed as part of https://crrev.com/c/2854681 earlier. So all uses are gone now. This change works by marking Debugger.restartFrame as deprecated and having it respond with a ServerError all the time. It thus allows us to remove a whole bunch of machinery that was essentially just put in various places to support the restart_fp_ magic. In particular the debugger no longer needs any machine specific builtins now. Bug: chromium:1195927 Change-Id: I1153ba6b00e979620af57dd9f58aa1c035ec4484 Fixed: chromium:1203606 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2854750Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#74276}
-
- 28 Apr, 2021 2 commits
-
-
Michael Lippautz authored
GCC 7.4 has problems with combining [[nodiscard]] with __attribute__((visibility(""))). Disable as there's enough compilation coverage for clang to find issues. Bug: v8:11707 Change-Id: I9e61463c4d11dbc3b03d458e2810206fb93de108 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2854737Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#74262}
-
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}
-