- 15 May, 2019 28 commits
-
-
Clemens Hammacher authored
On windows, the range to be discarded needs to be split by the reservations, analogous to committing. This CL reuses the same logic, and reenables discarding pages on all platforms. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I11716d6381f765bdfe4cf48502b5cdc1f42cf8ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611682 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61526}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I4d2a1f6442b5c187a462f855e4655d9429021d22 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612908Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61525}
-
Yang Guo authored
R=hablich@chromium.org, mathias@chromium.org Bug: v8:9247 Change-Id: I3db662986dd36d4b29c6bd485b911ebf377e7533 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613237Reviewed-by: Michael Hablich <hablich@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61524}
-
Clemens Hammacher authored
On windows, when changing permissions for a range of pages, or committing or discarding a range of pages, we need to split that range by the reservations and potentially execute several system calls. This logic is currently implemented for committing memory. This CL extracts this to a helper function such that we can reuse this for discarding a range of pages. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I65673eebe28362975f0165905d20b97ef7947f56 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611544 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61523}
-
Tobias Tebbi authored
With very few exceptions, this verifies all skipped write-barriers in CSA and Torque, showing that the MemoryOptimizer together with some type information on the stored value are enough to avoid unsafe skipped write-barriers. Changes to CSA: SKIP_WRITE_BARRIER and Store*NoWriteBarrier are verified by the MemoryOptimizer by default. Type information about the stored values (TNode<Smi>) is exploited to safely skip write barriers for stored Smi values. In some cases, the code is re-structured to make it easier to consume for the MemoryOptimizer (manual branch and load elimination). Changes to the MemoryOptimizer: Improve the MemoryOptimizer to remove write barriers: - When the store happens to a CSA-generated InnerAllocate, by ignoring Bitcasts and additions. - When the stored value is the HeapConstant of an immortal immovable root. - When the stored value is a SmiConstant (recognized by BitcastToTaggedSigned). - Fast C-calls are treated as non-allocating. - Runtime calls can be white-listed as non-allocating. Remaining missing cases: - C++-style iterator loops with inner pointers. - Inner allocates that are reloaded from a field where they were just stored (for example an elements backing store). Load elimination would fix that. - Safe stored value types that cannot be expressed in CSA (e.g., Smi|Hole). We could handle that in Torque. - Double-aligned allocations, which are not lowered in the MemoryOptimizer but in CSA. Drive-by change: Avoid Smi suffix for StoreFixedArrayElement since this can be handled by overload resolution (in Torque and C++). Reland Change: Support pointer compression operands. R=jarin@chromium.org TBR=mvstanton@chromium.org Bug: v8:7793 Change-Id: I84e1831eb6bf9be14f36db3f8b485ee4fab6b22e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612904 Auto-Submit: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61522}
-
Benedikt Meurer authored
In the case of LoadElement in EscapeAnalysis we accidentally always set the object as escaping, even in the case where the index was a constant (or had a constant type). This forced us to always allocate array backing stores even in the trivial cases like swapping, i.e. ```js function foo(a, b) { [a, b] = [b, a]; return a - b; } ``` Now with this change we do proper scalar replacement again, even for the array backing stores. Bug: v8:9183 Change-Id: I3b2dcade23e47df032087778aca1292c8b0d69d4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612907Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61521}
-
Simon Zünd authored
Mechanical change with the exception of one threaded test, that had to be turned into a normal test to turn green. R=jgruber@chromium.org Bug: v8:9183 Change-Id: Ie7c3350415e21f93e8161a3c844cbe165ecd7da5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612899 Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61520}
-
Santiago Aboy Solanes authored
Bug: v8:9183 Change-Id: Idb1910ae30984f548996651e8b2f153531b8cdb0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605729Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#61519}
-
Yang Guo authored
R=tmrts@chromium.org Bug: v8:9247 Change-Id: I9b34ee96e03d3cbca165452fc8427679cf6e7582 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612900 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#61518}
-
Yang Guo authored
R=petermarshall@chromium.org Bug: v8:9247 Change-Id: Ia78904788bf7523b1ec5aa0494c79d71ee121030 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609847Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61517}
-
Yang Guo authored
R=jgruber@chromium.org BUG: v8:9253 Change-Id: Ifde76a8f2beb581ac4040deeaae3504e599ab4f9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612903 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#61516}
-
Ulan Degenbaev authored
Currently the initial old generation size is set to the half of the maximum old generation size. This is problematic for huge heaps. This patch introduces an upper bound of 512MB (256MB) for x64 (x32). Bug: chromium:961272 Change-Id: If4a6b839ebe688e5b0bc41749ac34f7a31849e21 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605731 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61515}
-
Maciej Goszczycki authored
Bug: v8:7464 Change-Id: I50de5f19f3303625a492faad5da378e2f0d3ed3f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1602699Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61514}
-
Mythri A authored
We used to set disable optimization bits in SFI to NeverOptimize in lite mode to avoid optimizing in tests. Now, tests that need optimization use intrinsics to force feedback vector allocation. Hence this is no longer necessary. Bug: v8:8394 Change-Id: I0aeaeacc34d838cf15698a9227b6964292b97240 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611545Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61513}
-
Igor Sheludko authored
Also remove unused Factory::CopyFeedbackVector(). Bug: v8:7703 Change-Id: I75e16a55967e5970e4cbe3babae3a09d2a647313 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611542Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61512}
-
Jakob Kummerow authored
We don't need the full "types" array, just the number of parameters and the type of the result. Avoiding unnecessary malloc/free calls significantly cuts down on overhead. Change-Id: I738f0ee4c269731cf1ff79a56f910e8f7e97c83e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601505 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61511}
-
Michael Starzinger authored
This makes sure the interpreter clears any stale references from the reference stack when they are popped/dropped. Otherwise stale values would unnecessarily increase lifetime of operand stack slots. R=ahaas@chromium.org BUG=v8:7581 Change-Id: I6b8be56a815327229a66ea0c97b3646ac64f6461 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612905Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61510}
-
Mythri A authored
Tests that expect type feedback vector ensure it by using %EnsureFeedbackVector intrinsic. These tests now work with lazy feedback allocation as well. Hence it is no longer required to initialize the shared function info with a special bailout id. Bug: v8:8394 Change-Id: Iba2f94be7e5651b4faeb8b3bf604d17fb4b146ef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609542Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61509}
-
Benedikt Meurer authored
Previously we had to use CheckHeapObject in front of every CheckMaps, CompareMaps and TransitionElementsKind operation. Now these operators request HeapObject representation themselves (requiring for CompareMaps and TransitionElementsKind to remove the kNoDeopt property). This means we only do CheckHeapObject for StoreField to a field that has HeapObject representation. This not only leads to smaller graphs in the compiler, but also removes most uses of the CheckHeapObject operator, which doesn't express a real semantic property in the compiler frontend. Bug: v8:9183, v8:9250 Refs: nodejs/node#27667 Change-Id: Ie3d83de69583b1bed6c1c53444bfc97aaef624bb Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612902Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61508}
-
Nico Hartmann authored
Bug: v8:9240 Change-Id: I704e0932b00baf84c4203baa8336809b250855d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611681 Commit-Queue: Nico Hartmann <nicohartmann@google.com> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#61507}
-
Georg Schmid authored
Change-Id: I28f2c87ffae32d16bcfb7cb17ec6e607e7fa2285 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1599172 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#61506}
-
Clemens Hammacher authored
The histograms currently mostly contain very small modules (having 0 MB generated and 0 MB freed). Many of those are asm.js modules. Just recording the modules that are actually interesting for wasm code GC will give us more meaningful data. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I1d9ba8134c2f3617f896afc42dc9e87c7852c319 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611679Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61505}
-
Ujjwal Sharma authored
This CL adds a fast path to String#startsWith(s) if s is a single character string. Bug: v8:8400 Change-Id: Ibd6a9d1e46d98f41c198d2b579208e25003eedb0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1525362Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61504}
-
Benedikt Meurer authored
We use the predicate NeedsCheckHeapObject in the compiler frontend to determine whether we can skip introducing CheckHeapObject nodes. But this predicate would also walk up the graph in case of Phis, which can result in really long compilation times (on the main thread). In the report in https://github.com/nodejs/node/issues/27667, the compiler frontend alone took around 4-5mins of main thread time for a single function. With this patch the time goes down to 4-5ms. Bug: v8:9250 Refs: nodejs/node#27667 Change-Id: I231eb780ff04f949fa1669714f9af6ebfbcade05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612897Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61503}
-
Richard Townsend authored
Fixes a link error for Windows on Arm component builds. Change-Id: I848c3aac710b6cbb099011d9c56d7cbc8b5b97fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611683Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#61502}
-
Mythri A authored
Bug: v8:8394 Change-Id: I5b4c02f5f36710b3fa15037e1fa1520b759447c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611798Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#61501}
-
v8-ci-autoroll-builder authored
Rolling v8/test/wasm-js/data: https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+log/022589c..263af5a [spec] Replace URLs with bikeshed biblio refs (#1018) (Ben Smith) https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/263af5a + Security and Privacy Considerations on Core and JS-API (#1015) (Eric Prud'hommeaux) https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/5baa425 [spec] Fix ToC of Appendix in w3c version (#1017) (Ben Smith) https://chromium.googlesource.com/external/github.com/WebAssembly/spec/+/74dd66b TBR=ahaas@chromium.org,clemensh@chromium.org Change-Id: I4336ff78d519d7af026198b27117635b097ce3c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612782Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#61500}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/ebde73c..9f8db49 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/95764ff..578d0b9 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/6a9b00e..b77f2db Rolling v8/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest/+log/3f5b5b8..9d4cde4 TBR=machenbach@chromium.org,sergiyb@chromium.org,tmrts@chromium.org Change-Id: Ie433749a621fae680970b546410add834aa344c6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612536Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#61499}
-
- 14 May, 2019 12 commits
-
-
Z Duong Nguyen-Huu authored
Bug: v8:8996 Change-Id: I264781f35b7b98cd7c34fc39b9c2451ea6c58ad6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1606544Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#61498}
-
Z Duong Nguyen-Huu authored
Reverted CL is in https://chromium-review.googlesource.com/c/v8/v8/+/1585269 This includes fix for ThrowTypeErrorIfStrict and add regression test. Spec: https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver Bug: v8:6664, v8:9234 Change-Id: I785df3f12f619e2e0fe7b011b72043758e4083e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1604071Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Cr-Commit-Position: refs/heads/master@{#61497}
-
Maciej Goszczycki authored
Bug: v8:7464 Change-Id: I522efa3718d04398d2096262a5507b1eb3cfd28a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611546Reviewed-by: Dan Elphick <delphick@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61496}
-
Sigurd Schneider authored
This annotation indicates that the class itself is not instantiated, and does not have its own instance type: The instance types that logically belong to the class are the instance types of the derived classes. Currently, we need the indication @dirtyInstantiatedAbstractClass for several classes that are used as both, abstract base classes and concrete classes. The prime example is JSObject which is the base for many other classes, and also serves as the class to allocate plain JSObjects. The annotation is purposefully ugly because in the future we should refactor code to make it unnecessary. Another annotation we introduce is @hasSameInstanceTypeAsParent, which indicates another design pattern that currently occurs in the code-base: Some Torque classes have the same instance types as their parent class, but rename some fields, or possibly have a different map. In such cases, the parent class is not abstract and the derived classes can be seen as refinements of this class (that, for example, narrows the type of a field). In the future, Torque should accomodate this pattern better, but at moment we are content with just indicating where it is used. Bug: v8:7793 Change-Id: I1892dcc7325250df75d80308bf3d767d6d43bcc2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1607761 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61495}
-
Yang Guo authored
R=mathias@chromium.org BUG: v8:9247 Change-Id: I6dd7f2c80e2345038550051c634ce7338edade0f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611680Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61494}
-
Richard Townsend authored
When building in debug mode for Windows on Arm, Clang reports the following error without this patch: error: attribute 'dllexport' cannot be applied to member of 'dllexport' class. Change-Id: Ib3b12fce7daa368f9464b080ac7a7bce1ddd5370 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611799Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Richard Townsend <richard.townsend@arm.com> Cr-Commit-Position: refs/heads/master@{#61493}
-
Ben L. Titzer authored
This CL imports some gdbinit magic from Chromium's tools. This fixes gdb warnings about differences between psymtab and symtab. R=bmeurer@chromium.org CC=leszeks@chromium.org Change-Id: I06e67c17e03b803c516ab59aeb6c17435b81d6d0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611540Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61492}
-
Sigurd Schneider authored
Change-Id: I75a4a2af4bbe9d495d583b13fb6d885d8509c2b8 Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611797 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61491}
-
Sigurd Schneider authored
This CL introduces the new suffix '-tq' for Torque generated files, and replaces the infix 'FromDSL' in type names with a prefix 'TorqueGenerated'. Change-Id: I1e90460cc0c666da6cf5017e8b3cb7c39c6ac668 Bug: v8:7793 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609798 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61490}
-
Maciej Goszczycki authored
This is a reland of 2b24cd03 Original change's description: > [heap] Skip read-only space in Heap::Contains > > Bug: v8:7464 > Change-Id: I27e82cdf0f8cc56ff68dcfaecab9644fe74916c7 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559861 > Commit-Queue: Maciej Goszczycki <goszczycki@google.com> > Reviewed-by: Dan Elphick <delphick@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61350} Bug: v8:7464 Change-Id: Ic5a9221f62537c1711c70b48fc0069288bfda80f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601509Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Maciej Goszczycki <goszczycki@google.com> Cr-Commit-Position: refs/heads/master@{#61489}
-
Benedikt Meurer authored
Previously we had a special, unshared map on the native context that was used for results of builtin iterators, which was different from the map that is created from an object literal like `{value, done}`. This not only leads to unnecessary polymorphism, but also makes it impossible for user defined iterators to take the fast-paths that we have in various places (i.e. in collections or promises). With this change we now properly share the map for `{value, done}` and use that for the builtin iterator result objects, as well as the fast-paths. Drive-by-fix: Remove the restrictions on map caching and transition caching during bootstrapping. This no longer makes sense. Bug: v8:9114, v8:9243 Change-Id: I19eb9071f7ec0ed58f8a6f87eed781bc790174b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609794 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#61488}
-
Igor Sheludko authored
... by combining generational and marking write barriers in one loop. Bug: v8:7703 Change-Id: I825d530040d3f39143dd2d051dc5a9916e2f2997 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1611541Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#61487}
-