- 17 Jan, 2022 2 commits
-
-
Jakob Gruber authored
We are guaranteed to have a valid ref for the prototype now that the no-concurrent-inlining configuration has been removed. Bug: v8:7790 Change-Id: I8400d1887f5cd41b14c92c87151847c0ed78f911 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3394708Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78648}
-
Jakob Gruber authored
Now that concurrent inlining is shipping on stable, remove support --no-concurrent-inlining. Note that it's still possible to run Turbofan exclusively on the main thread by passing --no-concurrent-recompilation. Bug: v8:7790, v8:12142, chromium:1240585 Change-Id: I1943bbbcad7dea7e3a3c337c239f14f7d96c23cd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3308798Reviewed-by: Liviu Rau <liviurau@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#78644}
-
- 16 Dec, 2021 1 commit
-
-
Igor Sheludko authored
... in order to avoid Code <-> CodeT conversions in builtins. This CL changes the meaning of RelocInfo::CODE_TARGET which now expects CodeT objects as a code target. In order to reduce code churn this CL makes BUILTIN_CODE and friends return CodeT instead of Code. In the follow-up CLs BUILTIN_CODET and friends will be removed. Bug: v8:11880 Change-Id: Ib8f60973e55c60fc62ba84707471da388f8201b4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338483Reviewed-by: Patrick Thier <pthier@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78393}
-
- 17 Nov, 2021 1 commit
-
-
Tobias Tebbi authored
This fast path works for ASCII-only strings and is similar to the existing fast-path in C++. Important differences: - The locale check is done at Turbofan optimization time instead of at runtime - Use tables of size 256 instead of 128 to save a bounds-check when handling one-byte strings. - It first performs an equality check that's optimized for detecting inequality quickly by comparing the strings from both ends. If the equality check succeeds, we are done. Otherwise chances are high that the strings differ according to collation level L1 already. Therefore, we first do an L1 check and perform the L3 check only when L1 didn't find a difference. This is based on the assumption that few strings are identical except for different capitalization. - Use the Torque version of string flattening instead of the runtime version. Bug: v8:12196 Change-Id: I2d043c1138846783f6d567b736d34063ba9301e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3268465Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/main@{#77946}
-
- 13 Oct, 2021 1 commit
-
-
Joyee Cheung authored
Introduces several new runtime mechanics for defining private fields, including: - Bytecode StaKeyedPropertyAsDefine - Builtins StoreOwnIC{Trampoline|Baseline|_NoFeedback} - Builtins KeyedDefineOwnIC{Trampoline|Baseline|_Megamorphic} - TurboFan IR opcode JSDefineProperty These new operations can reduce a runtime call per class field into a more traditional Store equivalent. In the microbenchmarks, this results in a substantial win over the status quo (~8x benchmark score for single fields with the changes, ~20x with multiple fields). The TurboFan JSDefineProperty op is lowered in JSNativeContextSpecialization, however this required some hacks. Because private fields are defined as DONT_ENUM when added to the object, we can't find a suitable transition using the typical data property (NONE) flags. I've added a mechanism to specify the required PropertyAttributes for the transition we want to look up. Details: New bytecodes: - StaKeyedPropertyAsDefine, which is essentially StaKeyedProperty but with a different IC builtin (KeyedDefineOwnIC). This is a bytecode rather than a flag for the existing StaKeyedProperty in order to avoid impacting typical keyed stores in any way due to additional branching and testing. New builtins: - StoreOwnIC{TTrampoline|Baseline|_NoFeedback} is now used for StaNamedOwnProperty. Unlike the regular StoreIC, this variant will no longer look up the property name in the prototype. In adddition, this CL changes an assumption that StoreNamedOwnProperty can't result in a map transition, as we can't rely on the property already being present in the Map due to an object literal boilerplate. In the context of class features, this replaces the runtime function %CreateDataProperty(). - KeyedDefineOwnIC{Trampoline|Baseline|_Megamorphic} is used by the new StaKeyedPropertyAsDefine bytecode. This is similar to an ordinary KeyedStoreIC, but will not check the prototype for setters, and for private fields, will take the slow path if the field already exists. In the context of class features, this replaces the runtime function %AddPrivateField(). TurboFan IR: - JSDefineProperty is introduced to represent a situation where we need to use "Define" semantics, in particular, it codifies that we do not consult the prototype chain, and the semantics relating to private fields are implied as well. R=leszeks@chromium.org, syg@chromium.org, rmcilroy@chromium.org Bug: v8:9888 Change-Id: Idcc947585c0e612f9e8533aa4e2e0f8f0df8875d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2795831Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/main@{#77377}
-
- 12 Oct, 2021 1 commit
-
-
Toon Verwaest authored
This guarantees that if it's context-allocated, it'll be the first slot in the context. That in turn allows us to drop a special index on scope-info pointing at the receiver entry; once we update arguments object handling to take the receiver possibly being there into account. Change-Id: Idfd06cf172e6905b02c8d17a962382e2a9ea0874 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3211999 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#77360}
-
- 04 Oct, 2021 1 commit
-
-
Mike Stanton authored
Since we are reading an Object field, it could be that the gc predicate fails. Therefore, this CL changes to TryMakeRef, and makes the return value of length_unsafe() optional. Bug: v8:7790, v8:12282 Change-Id: I86a8bcc6649d5e8121e52f8947b8331fcf242887 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3200078Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/main@{#77209}
-
- 29 Sep, 2021 1 commit
-
-
Georg Neis authored
Bug: v8:7790 Change-Id: I5439fa0a8ecfab8f407e2aeeaffd4b4f656cdfe1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3192674 Commit-Queue: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#77137}
-
- 15 Sep, 2021 1 commit
-
-
Georg Neis authored
The function used raw pointers but also created Refs, which can cause GC. Thus the code isn't safe (this has already lead to crashes in an older version of the code). Drive-by: Remove unnecessary native_context field (get the native context from the context instead). Bug: v8:12205, v8:7790 Change-Id: I4868323f48fc411e8462b7824fde3d8715b55abc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3160520 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76834}
-
- 09 Sep, 2021 1 commit
-
-
Georg Neis authored
It could happen that the information about the feedback vector cached in a JSFunctionData disagreed with the current value of the function's feedback cell. The inlining code wasn't prepared for that and a CHECK could fail. The CL fixes this by removing the caching of has_feedback_vector and feedback_vector and by getting hold of the bytecode array before fetching the feedback vector in inlining. Bug: v8:12172, v8:7790 Change-Id: Ife3ab8872085d9496e6d1f34514114a086f653ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3148010 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76751}
-
- 02 Sep, 2021 1 commit
-
-
Patrick Thier authored
- Replace CodeStubArguments::GetLength() with GetLengthWithReceiver() and GetLengthWithoutReceiver() - Introduce and use Torque macros to load the formal parameter count (with and without receiver). - Add actual_count to Torque arguments structure for cases where the argument count is not used, but just forwarded to other builtins. Bug: v8:11112 Change-Id: I32278efeffa2fb08361989c6df8de56c74add8b9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3124804Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/main@{#76637}
-
- 01 Sep, 2021 1 commit
-
-
Jakob Gruber authored
JSFunctionData has a fairly heavy serialized payload, and likewise consistency validation validates many fields and thus has many opportunities to fail. We therefore want to avoid or reduce validation whenever possible. This CL adds tracking s.t. we know which fields were actually used, and we limit validation to used fields. Drive-by: Make serialized_ debug-only. Drive-by: Don't create deps for context/native_context/shared. Bug: v8:7790 Change-Id: Ic32c9919f0c75a76d9c36e4396b6bce383151b62 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3132962 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76614}
-
- 30 Aug, 2021 9 commits
-
-
Georg Neis authored
... by removing some obsolete code. Bug: v8:7790 Change-Id: Iad31b60de5905ba05e1c622e81c3234071752e9f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3124806 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76584}
-
Georg Neis authored
... by removing some obsolete code. Bug: v8:7790 Change-Id: I3a244ef5fc7fe15321e5bb1c9bb2fe794030ba3b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3124801 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76582}
-
Georg Neis authored
... by removing some obsolete code. Bug: v8:7790 Change-Id: I722031158d45335f3e086eb335a447fbc5066cac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3124798 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76580}
-
Georg Neis authored
... by removing some obsolete code. Bug: v8:7790 Change-Id: I32880d2a4fbd943ea0e485d8e8aff07ac9903e9d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3124795 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76576}
-
Georg Neis authored
... by removing some obsolete code. Bug: v8:7790 Change-Id: Ie098055a1849de5d853c126e0c7275164f964ce8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3124774 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#76575}
-
Georg Neis authored
Instead create the appropriate data on demand. Note that this changes behavior of the default configuration. Bug: v8:7790 Change-Id: Ia6bfcaace655c0fd72e2dcc0c2547195dc1cc4a7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3123419Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76570}
-
Georg Neis authored
Bug: v8:7790 Change-Id: Iaa2f7e0e0ae552089867d2789ec4e541df2d6a24 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3123413Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76567}
-
Georg Neis authored
We can now tighten the return type of FindRootMap and remove some related code. Bug: v8:7790 Change-Id: I08325e7e4f4c9261c45770f7674b6644cc5c2b80 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3123411Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76564}
-
Georg Neis authored
These methods are called only during the inlining phase, so even in the default configuration we follow the same branch as concurrent inlining and ignore the serialized data. We can thus tighten their return types and cut down JSBoundFunctionData. Bug: v8:7790 Change-Id: Ic48f8f2651d684440dc5f6a9934de2ae3a5b5132 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3123410Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/main@{#76561}
-
- 12 Aug, 2021 1 commit
-
-
Jakob Gruber authored
Bug: v8:7790 Change-Id: I9bd852d42cbc81ba12dc81166990a49a6b91168a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3089153 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#76247}
-
- 11 Aug, 2021 1 commit
-
-
Santiago Aboy Solanes authored
Bug: v8:7790, chromium:1236962 Change-Id: Idd84f7e154cc8977db7aef14d6b999ac929784dd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3075363 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76223}
-
- 05 Aug, 2021 2 commits
-
-
Jakob Gruber authored
Bug: v8:7790 Change-Id: Ia5903364a774bd49db1a646b3066b9972deac725 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3074465 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#76119}
-
Jakob Gruber authored
Bug: v8:7790 Change-Id: I299678102254ffb7d68be3d5cad11b4a4161492f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3068947 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#76118}
-
- 04 Aug, 2021 1 commit
-
-
Jakob Gruber authored
Convert more raw Handle<Map> uses to MapRef. Bug: v8:7790 Change-Id: Id638b70607aa5a73404ee37dfda5e038018be525 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3067337 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#76089}
-
- 03 Aug, 2021 1 commit
-
-
Jakob Gruber authored
Based on a CL by mvstanton@. Bug: v8:7790,v8:12030,v8:12031,v8:12041 Change-Id: I58b75bd96c724a99133bec7d3bd6cf4e0c9be6d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3059683Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76055}
-
- 02 Aug, 2021 1 commit
-
-
Santiago Aboy Solanes authored
Also: * Remove forward declare and As##Name for never serialized Data classes * Remove the Data classes * Refactor macro list to encode being background or never serialized Bug: v8:7790 Change-Id: Ide29d89072b247311f29948f04c4147c5c1103cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3056458 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76032}
-
- 30 Jul, 2021 2 commits
-
-
Georg Neis authored
With concurrent inlining, the TransitionDependency ctor can no longer assume that the given map is not deprecated. This is not an issue since IsValid will check it again. Also remove some other outdated DCHECKs and turn a few DCHECKs into CHECKs since the properties they check are not so obvious anymore with concurrency. Bug: v8:12033, v8:7790 Change-Id: I932f7f6440697d693b0c0e6472406329af29b46b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3062576Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#76020}
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: Id06775f9f3c7f1a505a736fcc4b992feb0d09308 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3056454 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#76013}
-
- 27 Jul, 2021 1 commit
-
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: I0d875d4a350d4e101534d82129cd7ef90f342738 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008639Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#75933}
-
- 20 Jul, 2021 1 commit
-
-
Jakob Gruber authored
.. and explicitly mark behavior through tags/naming conventions: // This method is never called when concurrent inlining is enabled. void SerializeFoo(NotConcurrentInliningTag); // This method is thread-safe and may be called at any time. void CacheBar(); It turns out that all our remaining SerializeFoo methods are already either of the former or latter category and thus do not block removal of the serialization phase for concurrent inlining. Bug: v8:7790 Change-Id: If8f3bc2e407bc2824f83bfcd1f520f3b14dc58ec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3026709 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#75804}
-
- 19 Jul, 2021 2 commits
-
-
Jakob Gruber authored
Bug: v8:7790 Change-Id: I5d9815f479bc009d280595cf0dac75dea17c3738 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3024339Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#75790}
-
Jakob Gruber authored
This wraps up the transition away from kSerialized ref kinds. Since JSFunctionRef is a complex type, we don't attempt full consistency on the background thread. Instead, we serialize functions on the background in a partially-racy manner, in which consistency between different JSFunction fields is *not* guaranteed. Consistency is later verified through a new compilation dependency kind during finalization. Bug: v8:7790, v8:12004 Change-Id: Ic2b78af9c9fe183c8769d323132bb304b151dc75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2968404 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#75789}
-
- 14 Jul, 2021 2 commits
-
-
Mike Stanton authored
JSHeapBroker::ReadFeedbackForCall() - it may be that the JSFunction we read in the feedback vector hasn't been store-ordered and is therefore unsafe to read. Therefore, we need to call the gc predicate to ensure safety. JSFunctionRef::feedback_vector() & raw_feedback_cell() - I was able to remove the TODO warning about uninitialized data visible from a direct read of these fields from the background. This is because we either store-order into those fields, or rely on a prior store-ordering. Additionally, FeedbackVectorRef and FeedbackCellRef are never-serialized objects, so their first encounter on the background thread is fine (we don't need to have seen and serialized them on the main thread first). Bug: v8:7790 Change-Id: I9cd19999e70fadcf62778dac2b0f679966a4a53f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3026708Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#75720}
-
Jakob Gruber authored
.. and the corresponding map cache. This cache was only used for CreateArray reductions, thus we mostly expect to see unmodified JSArray initial maps. These are already accessible from the native context and don't need to be cached separately. We may also see initial maps for custom JSArray subclasses. New map allocation may be necessary in this case if the requested elements kind differs from that of the current given initial map. Since we can't (easily) allocate on the background thread, we skip the optimization starting with this CL. Bug: v8:7790 Change-Id: Ib8d81094e1572f49eda18e9ec485d317cec62473 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021175Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#75719}
-
- 13 Jul, 2021 1 commit
-
-
Santiago Aboy Solanes authored
Bug: v8:7790 Change-Id: I7a658215ba2dbb12e90b651bce7ff08109b03b8e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2987831 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#75703}
-
- 09 Jul, 2021 1 commit
-
-
Georg Neis authored
To get there, also: - Refactor AllocationSite serialization as necessary. - Make some accessors on AllocationSite atomic. - Add JSObjectRef::raw_properties_or_hash(). - Eliminate use of IsFastLiteral in JSCallReducer. It isn't really needed there and we want to have only a single piece of code traversing boilerplates. (We still have a separate traversal in the serializer but that will be removed soon.) - Merge IsFastLiteral checks into JSCreateLowering's TryAllocateFastLiteral. Note: TryAllocateFastLiteral doesn't explicitly look at the boilerplate's elements kind beyond bailing out for DICTIONARY_ELEMENTS in the beginning. After that it looks only at the backing store instance type. There is no room for confusion because, while elements kind transitions can generally happen concurrently to TryAllocateFastLiteral, boilerplates can never transition to DICTIONARY_ELEMENTS (added a CHECK for that). - Slightly adapt CompilationDependencies and remove obsolete comments. - Fix JSHeapBroker::ClearReconstructibleData (clearing of Refs in stress mode) to exclude JSObjectRefs with extra data. Bug: v8:7790 Change-Id: Iee1232d01e04bcd00db04d48f6e82064fce6ff62 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008894 Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#75656}
-
- 08 Jul, 2021 2 commits
-
-
Georg Neis authored
This is a reland of 036e5783. Key JSBoundFunctionRef methods have been changed to return an optional type, replacing the bogus always-true serialized() method. Original change's description: > [compiler] Make JSDataViewRef and JSBoundFunctionRef bg-serialized > > ... but keep/make subclass-specific methods do direct reads. > > Bug: v8:7790 > Change-Id: Ia4b9d207ce75cf28f6f0f33027ab05e27db49ce9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2959621 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75457} Bug: v8:11960, v8:7790 Change-Id: I1f29283b2fb6e5fe3644e2f4e33341fce2641775 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013313 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#75628}
-
Georg Neis authored
This reverts commit 036e5783. Reason for revert: crbug.com/1227279 Original change's description: > [compiler] Make JSDataViewRef and JSBoundFunctionRef bg-serialized > > ... but keep/make subclass-specific methods do direct reads. > > Bug: v8:7790 > Change-Id: Ia4b9d207ce75cf28f6f0f33027ab05e27db49ce9 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2959621 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75457} Bug: chromium:1227279, v8:7790 Change-Id: I4a77107c926ce3d99407d87a3160c2a555e6fbfe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013310 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#75624}
-