- 01 Sep, 2017 3 commits
-
-
Maya Lekova authored
This is a reland of a9f517e2 Original change's description: > [builtins] Port Proxy set trap to CSA > > Bug: v8:6560, v8:6557 > Change-Id: I329794607e8de324fc696652555aaaeafcf519ec > Reviewed-on: https://chromium-review.googlesource.com/625940 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Maya Lekova <mslekova@google.com> > Cr-Commit-Position: refs/heads/master@{#47760} Bug: v8:6560, v8:6557 Change-Id: I1b32992eac6cc5583a44703eed901e4ad15f1947 Reviewed-on: https://chromium-review.googlesource.com/647447 Commit-Queue: Maya Lekova <mslekova@google.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#47772}
-
Benedikt Meurer authored
This reverts commit a9f517e2. Reason for revert: Makes array sort flaky? https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug/builds/17894/steps/OptimizeForSize%20%28flakes%29/logs/array-sort Original change's description: > [builtins] Port Proxy set trap to CSA > > Bug: v8:6560, v8:6557 > Change-Id: I329794607e8de324fc696652555aaaeafcf519ec > Reviewed-on: https://chromium-review.googlesource.com/625940 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Maya Lekova <mslekova@google.com> > Cr-Commit-Position: refs/heads/master@{#47760} TBR=neis@chromium.org,franzih@chromium.org,ishell@chromium.org,bmeurer@chromium.org,mslekova@google.com Change-Id: Ibebf5e694945e59bd2808841108e6686af51efaf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6560, v8:6557 Reviewed-on: https://chromium-review.googlesource.com/646169Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47764}
-
Maya Lekova authored
Bug: v8:6560, v8:6557 Change-Id: I329794607e8de324fc696652555aaaeafcf519ec Reviewed-on: https://chromium-review.googlesource.com/625940Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47760}
-
- 18 Aug, 2017 1 commit
-
-
Jakob Kummerow authored
Many handlers are not used again, so we can improve the cache hit rate by caching fewer handlers. Specifically, in this CL, when a StoreIC miss causes a new map transition to be created, then the handler is not cached right away yet (it will be cached next time, when the transition exists already). Also, fix an embarrassing bug where growing a TransitionArray dropped cached handlers. That further improves the cache hit rate. ;-) Bug: chromium:752867, chromium:753819 Change-Id: Id8db5ca1e780a5fe8fc61db7f20996e61c65a90e Reviewed-on: https://chromium-review.googlesource.com/619851Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47433}
-
- 17 Aug, 2017 1 commit
-
-
Igor Sheludko authored
'9. Let targetName be ? Get(Target, "name").' didn't produce required side effects. Bug: v8:6712 Change-Id: Iebf007b4e93ebbf9c6c85c9729d972a8c1a7b129 Reviewed-on: https://chromium-review.googlesource.com/616727Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#47393}
-
- 04 Aug, 2017 1 commit
-
-
Jakob Kummerow authored
extending existing transition target storage (so both inline storage on the map, and the "target" slots in TransitionArrays are supported). Change-Id: Ib360b9755b8ca5f08bc3a25dd27833f348badaf4 Reviewed-on: https://chromium-review.googlesource.com/584192 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#47150}
-
- 18 Jul, 2017 1 commit
-
-
Sathya Gunasekaran authored
Add SetProperties as the generic interface to set properties. In the future, this will switch based on the input properties type and correctly store the hash code. This patch also updates tests to check against empty_property_array instead of empty_fixed_array. Bug: v8:6404 Change-Id: I39d324ea3ab3cc2c2223b6f4be64139bb88edd94 Reviewed-on: https://chromium-review.googlesource.com/574761Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#46744}
-
- 11 Jul, 2017 1 commit
-
-
Sathya Gunasekaran authored
This patch changes the backing store of slow properties to be a new instance type called PropertyArray. Currently the only difference between this and a FixedArray is the map. A future patch will change the length property to store the hash code. Bug: v8:5717, v8:6404 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Iaebc98f42e6d93c1392772e6f837787beb64afec Reviewed-on: https://chromium-review.googlesource.com/539028Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#46569}
-
- 03 Jul, 2017 1 commit
-
-
Mathias Bynens authored
Commit 26c00f4a improved the names of most FAST_* elements kinds in the enum. This patch updates the matching Has*Elements and Is*ElementsKind method names accordingly. - HasFastSmiElements => HasSmiElements - IsFastSmiElementsKind => IsSmiElementsKind - HasFastObjectElements => HasObjectElements - IsFastObjectElementsKind => IsObjectElementsKind - HasFastSmiOrObjectElements => HasSmiOrObjectElements - IsFastSmiOrObjectElementsKind => IsSmiOrObjectElementsKind - HasFastDoubleElements => HasDoubleElements - IsFastDoubleElementsKind => IsDoubleElementsKind - HasFastHoleyElements => HasHoleyElements - IsFastHoleyElementsKind => IsHoleyElementsKind Additionally, FastHoleyElementsUsage is renamed to HoleyElementsUsage. BUG=v8:6548 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ie8f3d01eb43e909cbc6c372d88c5fbc4dfc2ac04 Reviewed-on: https://chromium-review.googlesource.com/558356Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#46376}
-
- 30 Jun, 2017 1 commit
-
-
Mathias Bynens authored
`IsHoleyElementsKind` doesn’t just check for holeyness — it checks for dictionary elements as well. Its name should reflect that. This patch renames `IsHoleyElementsKind` to `IsHoleyOrDictionaryElementsKind`, which makes it possible to rename `IsFastHoleyElementsKind` to `IsHoleyElementsKind` in a future patch. R=jkummerow@chromium.org, cbruni@chromium.org BUG=v8:6548 Change-Id: Id799fe396442e9810426145359254d60990f8492 Reviewed-on: https://chromium-review.googlesource.com/558344Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#46367}
-
- 27 Jun, 2017 1 commit
-
-
Toon Verwaest authored
Bug: Change-Id: I56bfd921d63783ddaa74133dde5f3daf776e68ca Reviewed-on: https://chromium-review.googlesource.com/548115 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46250}
-
- 22 Jun, 2017 3 commits
-
-
Toon Verwaest authored
Bug: Change-Id: I45414453378c77f00ba01ca79fd4d84245c5a423 Reviewed-on: https://chromium-review.googlesource.com/544862Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46143}
-
Toon Verwaest authored
Bug: Change-Id: Iab8fc855808b22a2786476ddc4568f3f474c73d8 Reviewed-on: https://chromium-review.googlesource.com/543079 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46125}
-
Toon Verwaest authored
Bug: Change-Id: I335dc1259f2468e91f8fb6d5a3b13a601c807a79 Reviewed-on: https://chromium-review.googlesource.com/544875Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46121}
-
- 21 Jun, 2017 1 commit
-
-
Toon Verwaest authored
Bug: Change-Id: Idf5673ef3262c64d1c214362accc42554dbc2e69 Reviewed-on: https://chromium-review.googlesource.com/541340Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46090}
-
- 22 May, 2017 1 commit
-
-
Wiktor Garbacz authored
Change-Id: I20ed35a7fb5104a9cc66bb54fa8966589c43d7f9 Reviewed-on: https://chromium-review.googlesource.com/507287Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45458}
-
- 17 Mar, 2017 1 commit
-
-
jgruber authored
Default to the chromium-internal build config (instead of the more permissive no_chromium_code config). BUG=v8:5878 Review-Url: https://codereview.chromium.org/2758563002 Cr-Commit-Position: refs/heads/master@{#43909}
-
- 10 Mar, 2017 1 commit
-
-
Toon Verwaest authored
BUG= Change-Id: I5a4d398283c6fbbbc778d6f6c4555763f8869249 Reviewed-on: https://chromium-review.googlesource.com/452581Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43723}
-
- 09 Mar, 2017 1 commit
-
-
Igor Sheludko authored
It depends on constant field tracking and currently disabled. BUG=v8:5495 Change-Id: I6202cddfc2d32b5a06c5ab00c42caa6e276a3eb1 Reviewed-on: https://chromium-review.googlesource.com/451639 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43687}
-
- 27 Feb, 2017 1 commit
-
-
Toon Verwaest authored
When an instance of a constructor goes dictionary mode, this changes the initial map of that constructor to also be in dictionary mode. This avoids spurious hidden class creation, that also results in IC misses. BUG= Change-Id: I0e70f822ac345d0224f2092ec473621a603d4cc5 Reviewed-on: https://chromium-review.googlesource.com/446361Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43452}
-
- 20 Feb, 2017 1 commit
-
-
Igor Sheludko authored
The constant field tracking is still disabled. BUG=v8:5495 Change-Id: I543fe50b82e2255bbf200ea785ec53e3623e30cb Reviewed-on: https://chromium-review.googlesource.com/440924 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#43304}
-
- 13 Feb, 2017 1 commit
-
-
bmeurer authored
We cannot skip the @@hasInstance lookup in instanceof depending on a global protector cell, as the lookup of the property is observable via proxies or accessors. So remove the global protector and properly implement CSA::InstanceOf via GetPropertyStub, with an appropriate fast-path for Function.prototype[@@hasInstance] where we call the builtin code object directly if the function matches, skipping all the checks from the call sequence, and also avoid the redundant ToBoolean conversion on the result. R=yangguo@chromium.org TBR=ulan@chromium.org BUG=v8:5958 Review-Url: https://codereview.chromium.org/2684033012 Cr-Commit-Position: refs/heads/master@{#43137}
-
- 10 Feb, 2017 1 commit
-
-
ishell authored
This CL includes runtime and IC parts of the tracking. It is controlled by compile-time flag FLAG_constant_field_tracking and currently disabled. Transition from kConst to kMutable still involves map deprecation. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2598543003 Cr-Commit-Position: refs/heads/master@{#43081}
-
- 19 Jan, 2017 1 commit
-
-
ishell authored
Currently PropertyConstness is still in sync with PropertyLocation. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2591233002 Cr-Commit-Position: refs/heads/master@{#42497}
-
- 13 Jan, 2017 4 commits
-
-
cbruni authored
In the ideal case, this will speed up Object.create(null) by ~10x. Drive-by-fix: Spread usage of new IsSpecialReceiverMap() and IsSpecialReceiverInstanceType(InstanceType) helpers. BUG=v8:5788 Review-Url: https://codereview.chromium.org/2622723003 Cr-Commit-Position: refs/heads/master@{#42336}
-
ishell authored
BUG=v8:5495 Review-Url: https://codereview.chromium.org/2622413004 Cr-Commit-Position: refs/heads/master@{#42328}
-
cbruni authored
Revert of [compiler] Support Object.create(null) inlining in TF (patchset #5 id:80001 of https://codereview.chromium.org/2622723003/ ) Reason for revert: Breaks buildbot: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20avx2/builds/13399/steps/Benchmarks/logs/stdio Original issue's description: > [compiler] Support Object.create(null) inlining in TF > > In the ideal case, this will speed up Object.create(null) by ~10x. > > Drive-by-fix: Spread usage of new IsSpecialReceiverMap() and > IsSpecialReceiverInstanceType(InstanceType) helpers. > > BUG=v8:5788 > > Review-Url: https://codereview.chromium.org/2622723003 > Cr-Commit-Position: refs/heads/master@{#42321} > Committed: https://chromium.googlesource.com/v8/v8/+/ff7063c7d5d8ad8eafcce3da59e65d7fe2b4f915 TBR=jarin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5788 Review-Url: https://codereview.chromium.org/2636493003 Cr-Commit-Position: refs/heads/master@{#42326}
-
cbruni authored
In the ideal case, this will speed up Object.create(null) by ~10x. Drive-by-fix: Spread usage of new IsSpecialReceiverMap() and IsSpecialReceiverInstanceType(InstanceType) helpers. BUG=v8:5788 Review-Url: https://codereview.chromium.org/2622723003 Cr-Commit-Position: refs/heads/master@{#42321}
-
- 12 Jan, 2017 1 commit
-
-
ishell authored
This is a necessary cleanup before introducing PropertyConstness bit. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2624903003 Cr-Commit-Position: refs/heads/master@{#42277}
-
- 02 Dec, 2016 1 commit
-
-
ishell authored
[ic] Use validity cells to protect keyed element stores against object's prototype chain modifications. ... instead of clearing of all the KeyedStoreICs which didn't always work. BUG=chromium:662907, chromium:669411, v8:5561 TBR=verwaest@chromium.org, bmeurer@chromium.org Committed: https://crrev.com/a39522f44f7e0be4686831688917e9675255dcaf Review-Url: https://codereview.chromium.org/2534613002 Cr-Original-Commit-Position: refs/heads/master@{#41332} Cr-Commit-Position: refs/heads/master@{#41449}
-
- 29 Nov, 2016 1 commit
-
-
machenbach authored
Revert of [ic] Use validity cells to protect keyed element stores against object's prototype chain modificati… (patchset #2 id:40001 of https://codereview.chromium.org/2534613002/ ) Reason for revert: Layout test crashes: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/11691 Original issue's description: > [ic] Use validity cells to protect keyed element stores against object's prototype chain modifications. > > ... instead of clearing of all the KeyedStoreICs which didn't always work. > > BUG=chromium:662907, v8:5561 > TBR=verwaest@chromium.org, bmeurer@chromium.org > > Committed: https://crrev.com/a39522f44f7e0be4686831688917e9675255dcaf > Cr-Commit-Position: refs/heads/master@{#41332} TBR=jkummerow@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:662907, v8:5561 Review-Url: https://codereview.chromium.org/2538693002 Cr-Commit-Position: refs/heads/master@{#41337}
-
- 28 Nov, 2016 1 commit
-
-
ishell authored
[ic] Use validity cells to protect keyed element stores against object's prototype chain modifications. ... instead of clearing of all the KeyedStoreICs which didn't always work. BUG=chromium:662907, v8:5561 TBR=verwaest@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2534613002 Cr-Commit-Position: refs/heads/master@{#41332}
-
- 15 Nov, 2016 2 commits
-
-
cbruni authored
In case of an allocation failure in for-in over holey elements, use precise number of elements to allocate a smaller buffer for the collected indices. Drive-by-fix: make is_the_hole accept the isolate for faster checks. BUG=chromium:609761 Review-Url: https://codereview.chromium.org/2041963003 Cr-Commit-Position: refs/heads/master@{#41010}
-
petermarshall authored
Avoid using the iterator for arrays with fast elements where the iterator has not been modified. Only deals with the case where there is a single spread argument. Improves the six-speed "spread" benchmark to 1.5x slower than baseline es5 implementation, compared to 19x slower previously. BUG=v8:5511 Review-Url: https://codereview.chromium.org/2465253011 Cr-Commit-Position: refs/heads/master@{#40998}
-
- 11 Nov, 2016 1 commit
-
-
verwaest authored
Methods in the runtime that enumerate over properties should never deal with private symbols. Most commonly such methods only loop over enumerable properties. This fix avoids accidentally handling private symbols in methods that only deal with enumerable properties. Methods that need to look at non-enumerable properties as well still have to manually filter private symbols (e.g., the KeyAccumulator). BUG=chromium:664411 Review-Url: https://codereview.chromium.org/2499593002 Cr-Commit-Position: refs/heads/master@{#40932}
-
- 04 Nov, 2016 1 commit
-
-
vogelheim authored
Some accessors requires little to no computation at all, its result can be cached in a private property, avoiding the call overhead. Calls to the getter are translated into a cheap property load. Follow-on to crrev.com/2347523003, from peterssen@google.com BUG=chromium:634276, v8:5548 Review-Url: https://codereview.chromium.org/2405213002 Cr-Commit-Position: refs/heads/master@{#40765}
-
- 31 Oct, 2016 1 commit
-
-
ishell authored
This CL adds support for primitive maps to 1) PrototypeIterator, 2) PropertyHandlerCompiler::CheckPrototypes(), 3) Map::GetOrCreatePrototypeChainValidityCell(), 4) Prototype checks in data-driven ICs. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2466553002 Cr-Commit-Position: refs/heads/master@{#40673}
-
- 24 Oct, 2016 1 commit
-
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2438553003 Review-Url: https://codereview.chromium.org/2438553003 Cr-Original-Original-Commit-Position: refs/heads/master@{#40503} Cr-Original-Commit-Position: refs/heads/master@{#40511} Cr-Commit-Position: refs/heads/master@{#40524}
-
- 21 Oct, 2016 2 commits
-
-
ishell authored
Revert of [ic] Support data handlers that represent simple field stores. (patchset #2 id:40001 of https://codereview.chromium.org/2438553003/ ) Reason for revert: http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/9306 "V8 Mac GC Stress" Original issue's description: > [ic] Support data handlers that represent simple field stores. > > BUG= > > Review-Url: https://codereview.chromium.org/2438553003 > Cr-Commit-Position: refs/heads/master@{#40503} TBR=jkummerow@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://chromiumcodereview.appspot.com/2442523003 Cr-Commit-Position: refs/heads/master@{#40512}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2438553003 Review-Url: https://chromiumcodereview.appspot.com/2438553003 Cr-Original-Commit-Position: refs/heads/master@{#40503} Cr-Commit-Position: refs/heads/master@{#40511}
-