- 24 Oct, 2017 1 commit
-
-
Camillo Bruni authored
This CL makes --trace-maps available in the default build by disabling certain expensive/intrusive features. This is an intermediate step to be able to write proper tests for --trace-maps and the new map-processor. Change-Id: Ib6a8fc9c77796c106d3af9d741d48abe6c6b9099 Reviewed-on: https://chromium-review.googlesource.com/734648Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#48891}
-
- 23 Oct, 2017 1 commit
-
-
Ulan Degenbaev authored
Currently the concurrent marker iterates all fields in JSObjects up to the instance size defined by the map. This can lead to a race when the object transitions to unboxed double field. Bug: chromium:774644 Change-Id: I01a69240869217127769bba9ff1c49dc5a81fa9c Reviewed-on: https://chromium-review.googlesource.com/730717Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48817}
-
- 20 Oct, 2017 1 commit
-
-
Ulan Degenbaev authored
The motivation for the new field is to provide race-free way to iterate used in-object properties of a JSObject in concurrent marker. This CL keeps the new field in sync with the unused_property_fields and subsequent CL will remove unused_property_fields. Bug: chromium:774644 Change-Id: I0971f079094d58d3a57415834c43c09427dacc77 Reviewed-on: https://chromium-review.googlesource.com/726639 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48795}
-
- 19 Oct, 2017 1 commit
-
-
Ulan Degenbaev authored
This patch moves initialization of inobject_properties and unused_property_fields of a map to the construction time of the map. Map::AppendDescriptor now properly decrements unused_property_fields and thus maintains the invariant for property field counters. Bug: chromium:774644 Change-Id: I78e5d5c767e22148cb64e8cabe0564e7a13988f5 Reviewed-on: https://chromium-review.googlesource.com/725726Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48751}
-
- 13 Oct, 2017 2 commits
-
-
Marja Hölttä authored
BUG=v8:5402,v8:6921 Change-Id: I96a8a7cdded6f7c37b6f1da659d63df9e3a5de2b Reviewed-on: https://chromium-review.googlesource.com/718342 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48552}
-
Igor Sheludko authored
This is a reland of 3d023952 Original change's description: > [runtime] Make JSFunction::prototype_or_initial_map field optional. > > Functions that don't have prototype need to store neither prototype nor > initial map, so the |prototype_or_initial_map| field is not required for > such maps. > > Bug: v8:6459 > Change-Id: I4b3066bd6a4fed42c19f217bae82a8bce552bdca > Reviewed-on: https://chromium-review.googlesource.com/570250 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46840} Bug: v8:6459 Change-Id: I54e3516ea70474c6d4f873f7b91e74cb8a7d622a Reviewed-on: https://chromium-review.googlesource.com/583307Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#48523}
-
- 11 Oct, 2017 1 commit
-
-
Ulan Degenbaev authored
This is a reland of f3c8da56 Original change's description: > [heap] Use weak cell in normalized map cache. > > This replaces ad-hoc weakness in normalized map cache with weak cell. > > Bug: chromium:694255 > Change-Id: I6a12301b2176fe3723b56178a65582cfb412f7d2 > Reviewed-on: https://chromium-review.googlesource.com/704834 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48344} Bug: chromium:694255 Change-Id: I181a9c02cc934373e40455f1be02f1caf140639b Reviewed-on: https://chromium-review.googlesource.com/709354Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48442}
-
- 06 Oct, 2017 2 commits
-
-
Ulan Degenbaev authored
This reverts commit f3c8da56. Reason for revert: GC stress failures https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/15396 Original change's description: > [heap] Use weak cell in normalized map cache. > > This replaces ad-hoc weakness in normalized map cache with weak cell. > > Bug: chromium:694255 > Change-Id: I6a12301b2176fe3723b56178a65582cfb412f7d2 > Reviewed-on: https://chromium-review.googlesource.com/704834 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48344} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: I0b2d39a1dcff6416998ab36506ee950220c87e89 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:694255 Reviewed-on: https://chromium-review.googlesource.com/705194Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48349}
-
Ulan Degenbaev authored
This replaces ad-hoc weakness in normalized map cache with weak cell. Bug: chromium:694255 Change-Id: I6a12301b2176fe3723b56178a65582cfb412f7d2 Reviewed-on: https://chromium-review.googlesource.com/704834 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48344}
-
- 05 Oct, 2017 1 commit
-
-
Caitlin Potter authored
Some comments to clarify the structure of Map objects for new contributors (and myself). BUG= R=adamk@chromium.org, verwaest@chromium.org, littledan@chromium.org Change-Id: I5b107e2917440a18888599f52f53f0cb07902ab0 Reviewed-on: https://chromium-review.googlesource.com/675565 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48305}
-
- 28 Sep, 2017 1 commit
-
-
Toon Verwaest authored
There are only very few custom compiled IC handlers left that go in there, and for each compiled handler we only have 1 cache hit on top25; maximally saving 60ms over 33s. Additionally we'll migrate the remaining handlers to data-driven handlers anyway. Let's try to remove this code. Bug: Change-Id: Ib874cc498015046a3ff67c83ea8b10b3c4eb7d0f Reviewed-on: https://chromium-review.googlesource.com/668409 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48201}
-
- 13 Sep, 2017 1 commit
-
-
Jakob Kummerow authored
Bug: v8:6791 Change-Id: I2da258f7db6c74d764c674eb8d550418a566c5ea Reviewed-on: https://chromium-review.googlesource.com/662138 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#48002}
-
- 21 Aug, 2017 1 commit
-
-
Jakob Kummerow authored
Change-Id: Id4cb4e226834da47bc66c60a3de64f67f9079029 Reviewed-on: https://chromium-review.googlesource.com/620189 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47486}
-
- 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}
-
- 11 Aug, 2017 1 commit
-
-
Maya Lekova authored
This is a reland of edc4ae14 With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 Previously landed as: 47a97aa5 / 47113 Previously landed as: 15ef03cb / 47159 Previously landed as: e86c066b / 47235 Previously landed as: edc4ae14 / 47245 TBR=jkummerow@chromium.org, franzih@chromium.org, bmeurer@chromium.org, jgruber@chromium.org, mstarzinger@chromium.org Bug: v8:6559, v8:6557 Change-Id: I956486e90aab36ba95676bd4ec2febebed509fc1 Reviewed-on: https://chromium-review.googlesource.com/609781Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Franziska Hinkelmann <franzih@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47299}
-
- 10 Aug, 2017 1 commit
-
-
Ulan Degenbaev authored
Mutating the descriptor array and the layout descriptor of a map races with the concurrent marking. This patch simply transfers ownership of the descriptor array without mutating the map. Since the old map is not going to be used anymore and there are not transitions from the old map, this should be safe for trimming the descriptor arrays during GC. This patch also adds checks in IC code avoid caching of dummy transitions from the abandoned prototype map. Bug: chromium:752461 Change-Id: I7b44ba7c369199bdb3ff48235226fe504c7eb4a5 Reviewed-on: https://chromium-review.googlesource.com/602210 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47275}
-
- 09 Aug, 2017 4 commits
-
-
Michael Achenbach authored
This reverts commit edc4ae14. Reason for revert: There's still this problem: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/5835 Original change's description: > Reland ^3 "[builtins] Port getting property from Proxy to CSA"" > > This is a reland of e86c066b > > With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 > > Previously landed as: 47a97aa5 / 47113 > Previously landed as: 15ef03cb / 47159 > > TBR=jkummerow@chromium.org, franzih@chromium.org, bmeurer@chromium.org, > jgruber@chromium.org, mstarzinger@chromium.org > > Bug: v8:6559, v8:6557 > Change-Id: I12ccae44331b05dd3f304ac538c0154133b43c35 > Reviewed-on: https://chromium-review.googlesource.com/608187 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47245} TBR=jkummerow@chromium.org,mstarzinger@chromium.org,neis@chromium.org,franzih@chromium.org,jgruber@chromium.org,ishell@chromium.org,bmeurer@chromium.org,mslekova@google.com Change-Id: Ib46b68f011c056675f2024f91c7f1024767b4dd0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6559, v8:6557 Reviewed-on: https://chromium-review.googlesource.com/608189Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47247}
-
Maya Lekova authored
This is a reland of e86c066b With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 Previously landed as: 47a97aa5 / 47113 Previously landed as: 15ef03cb / 47159 TBR=jkummerow@chromium.org, franzih@chromium.org, bmeurer@chromium.org, jgruber@chromium.org, mstarzinger@chromium.org Bug: v8:6559, v8:6557 Change-Id: I12ccae44331b05dd3f304ac538c0154133b43c35 Reviewed-on: https://chromium-review.googlesource.com/608187Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#47245}
-
Georg Neis authored
This reverts commit e86c066b. Reason for revert: <INSERT REASONING HERE> Original change's description: > Reland^2 "[builtins] Port getting property from Proxy to CSA" > > With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 > > Previously landed as: 47a97aa5 / 47113 > Previously landed as: 15ef03cb / 47159 > > Bug: v8:6559, v8:6557 > This is a reland of 15ef03cb > > Change-Id: Ia53ffb80ebe44581fdb923d9f572be92ee3ed080 > Reviewed-on: https://chromium-review.googlesource.com/603796 > Commit-Queue: Maya Lekova <mslekova@google.com> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47235} TBR=jkummerow@chromium.org,mstarzinger@chromium.org,franzih@chromium.org,jgruber@chromium.org,ishell@chromium.org,bmeurer@chromium.org,mslekova@google.com Change-Id: Ibf0b9f786f3df247acaf9e7ffe9f49ec1db905d8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6559, v8:6557 Reviewed-on: https://chromium-review.googlesource.com/607928Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#47236}
-
Maya Lekova authored
With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850 Previously landed as: 47a97aa5 / 47113 Previously landed as: 15ef03cb / 47159 Bug: v8:6559, v8:6557 This is a reland of 15ef03cb Change-Id: Ia53ffb80ebe44581fdb923d9f572be92ee3ed080 Reviewed-on: https://chromium-review.googlesource.com/603796 Commit-Queue: Maya Lekova <mslekova@google.com> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#47235}
-
- 07 Aug, 2017 1 commit
-
-
Maya Lekova authored
This reverts commit 15ef03cb. Reason for revert: Found the following bugs Bug: chromium:752846, chromium:752712, chromium:752850 Original change's description: > Reland "[builtins] Port getting property from Proxy to CSA" > > This reland is after fix in [heap] Delete wrong DCHECK. > It includes moving ProxyGetProperty to its own stub to reduce > binary size. > > This is a reland of 47a97aa5 > Original change's description: > > [builtins] Port getting property from Proxy to CSA > > > > Bug: v8:6559, v8:6557 > > Change-Id: If6c51f5483adb73ddd2495cede5d85e887a3c298 > > Reviewed-on: https://chromium-review.googlesource.com/589212 > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > > Commit-Queue: Maya Lekova <mslekova@google.com> > > Cr-Commit-Position: refs/heads/master@{#47113} > > Bug: v8:6559, v8:6557 > Change-Id: I76acd97ba1acb62b7e7983db1741441d997050f0 > Reviewed-on: https://chromium-review.googlesource.com/600215 > Commit-Queue: Maya Lekova <mslekova@google.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#47159} TBR=jkummerow@chromium.org,mstarzinger@chromium.org,franzih@chromium.org,jgruber@chromium.org,ishell@chromium.org,bmeurer@chromium.org,mslekova@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I51bef25a031b02cf4deab11282473acae57f1ed3 Reviewed-on: https://chromium-review.googlesource.com/603708 Commit-Queue: Maya Lekova <mslekova@google.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47200}
-
- 04 Aug, 2017 1 commit
-
-
Maya Lekova authored
This reland is after fix in [heap] Delete wrong DCHECK. It includes moving ProxyGetProperty to its own stub to reduce binary size. This is a reland of 47a97aa5 Original change's description: > [builtins] Port getting property from Proxy to CSA > > Bug: v8:6559, v8:6557 > Change-Id: If6c51f5483adb73ddd2495cede5d85e887a3c298 > Reviewed-on: https://chromium-review.googlesource.com/589212 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Maya Lekova <mslekova@google.com> > Cr-Commit-Position: refs/heads/master@{#47113} Bug: v8:6559, v8:6557 Change-Id: I76acd97ba1acb62b7e7983db1741441d997050f0 Reviewed-on: https://chromium-review.googlesource.com/600215 Commit-Queue: Maya Lekova <mslekova@google.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Franziska Hinkelmann <franzih@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#47159}
-
- 03 Aug, 2017 2 commits
-
-
Michael Achenbach authored
This reverts commit 47a97aa5. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug Original change's description: > [builtins] Port getting property from Proxy to CSA > > Bug: v8:6559, v8:6557 > Change-Id: If6c51f5483adb73ddd2495cede5d85e887a3c298 > Reviewed-on: https://chromium-review.googlesource.com/589212 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Maya Lekova <mslekova@google.com> > Cr-Commit-Position: refs/heads/master@{#47113} TBR=jkummerow@chromium.org,mstarzinger@chromium.org,franzih@chromium.org,ishell@chromium.org,bmeurer@chromium.org,mslekova@google.com Change-Id: Id28e529d1d88f7589d4d66ef23b8b510a33a817b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6559, v8:6557 Reviewed-on: https://chromium-review.googlesource.com/600049Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#47117}
-
Maya Lekova authored
Bug: v8:6559, v8:6557 Change-Id: If6c51f5483adb73ddd2495cede5d85e887a3c298 Reviewed-on: https://chromium-review.googlesource.com/589212Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#47113}
-
- 01 Aug, 2017 1 commit
-
-
Benedikt Meurer authored
The @@toStringTag lookup in Object.prototype.toString causes quite a lot of overhead and oftentimes dominates the builtin performance. These lookups are almost always negative, especially for primitive values, and Object.prototype.toString is often used to implement predicates (like in Node core or in AngularJS), so having a way to skip the negative lookup yields big performance gains. This CL introduces a "MayHaveInterestingSymbols" bit on every map, which says whether instances with this map may have an interesting symbol. Currently only @@toStringTag is considered an interesting symbol, but we can extend that in the future. In the Object.prototype.toString we can use the interesting symbols bit to do a quick check on the prototype chain to see if there are any maps that might have the @@toStringTag, and if not, we can just immediately return the result, which is very fast because it's derived from the instance type. This also avoids the ToObject conversions for primitive values, which is important, since this causes unnecessary GC traffic and in for example AngularJS, strings are also often probed via the Object.prototype.toString based predicates. This boosts Speedometer/AngularJS by over 3% and Speedometer overall by up to 1%. On the microbenchmark from the similar SpiderMonkey bug (https://bugzilla.mozilla.org/show_bug.cgi?id=1369042), we go from roughly 450ms to 70ms, which corresponds to a 6.5x improvement. ``` function f() { var res = ""; var a = [1, 2, 3]; var toString = Object.prototype.toString; var t = new Date; for (var i = 0; i < 5000000; i++) res = toString.call(a); print(new Date - t); return res; } f(); ``` The design document at https://goo.gl/e8CruQ has some additional data points. TBR=ulan@chromium.org Bug: v8:6654 Change-Id: I31932cf41ecddad079d294e2c322a852af0ed244 Reviewed-on: https://chromium-review.googlesource.com/593620 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#47034}
-
- 28 Jul, 2017 1 commit
-
-
Jakob Kummerow authored
in preparation for caching StoreIC-Transition handlers in there. This CL should not change behavior or performance. The TransitionArray class no longer serves a dual purpose; it is now simply the data structure serving that role. Further, it now supports storing transitioning handlers in its "target" slot, which in turn have a WeakCell pointing to the transition target (but this functionality is not being used yet). The interface for accessing a map's transitions, previously implemented as a set of static functions, is now handled by the TransitionsAccessor class. It distinguishes the following internal states: - kPrototypeInfo: map is a prototype map, will never cache any transitions. - kUninitialized: map can cache transitions, but doesn't have any. - kWeakCell: map caches a single transition, stored inline. Formerly known as "IsSimpleTransition". - kFullTransitionArray: map uses a TransitionArray to store transitions. - kTuple3Handler, kFixedArrayHandler: to be used in the future for caching transitioning handlers. Change-Id: If2aa68390981f96f317b958445a6e0b935c2a14e Reviewed-on: https://chromium-review.googlesource.com/550118Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#46981}
-
- 27 Jul, 2017 2 commits
-
-
Leszek Swirski authored
Instead of having feedback vector as a subtype of FixedArray with reserved slots, make it a first-class variable-sized object with a fixed-size header. This allows us to compress counters to ints in the header, rather than forcing them to be Smis. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Icc5f088ffbc2e2651b845bc71ea42060639e3e48 Reviewed-on: https://chromium-review.googlesource.com/585129 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46935}
-
Igor Sheludko authored
... when generalizing const fields to mutable fields. Bug: chromium:748539, chromium:747979, chromium:738763 Change-Id: Iee772a5d0cddd23599f1f68bca00b8beecb76da0 Reviewed-on: https://chromium-review.googlesource.com/586709Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46921}
-
- 24 Jul, 2017 4 commits
-
-
Igor Sheludko authored
This reverts commit 3d023952. Reason for revert: breaks gcc build Original change's description: > [runtime] Make JSFunction::prototype_or_initial_map field optional. > > Functions that don't have prototype need to store neither prototype nor > initial map, so the |prototype_or_initial_map| field is not required for > such maps. > > Bug: v8:6459 > Change-Id: I4b3066bd6a4fed42c19f217bae82a8bce552bdca > Reviewed-on: https://chromium-review.googlesource.com/570250 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46840} TBR=jkummerow@chromium.org,jarin@chromium.org,ishell@chromium.org Change-Id: Ie9951c87b15c8bd365ed187d7f719b8f08dd0bb5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6459 Reviewed-on: https://chromium-review.googlesource.com/583088Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46841}
-
Igor Sheludko authored
Functions that don't have prototype need to store neither prototype nor initial map, so the |prototype_or_initial_map| field is not required for such maps. Bug: v8:6459 Change-Id: I4b3066bd6a4fed42c19f217bae82a8bce552bdca Reviewed-on: https://chromium-review.googlesource.com/570250Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46840}
-
Igor Sheludko authored
... in order to avoid the need to update field types through elements kind transitions. Bug: chromium:738763, chromium:745844 Change-Id: I9f0e7f321e7f44ab5b36c06dd4c5633611370807 Reviewed-on: https://chromium-review.googlesource.com/581647Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46830}
-
Igor Sheludko authored
This reverts commit 6e27386d. Reason for revert: There will be another much simpler and back-mergeable fix. Original change's description: > Reland "[runtime] Add shortcuts for elements kinds transitions." > > This is a reland of b90e83f5 > Original change's description: > > [runtime] Add shortcuts for elements kinds transitions. > > > > The shortcuts ensure that field type generalization is properly > > propagated in the transition graph. > > > > Bug: chromium:738763 > > Change-Id: Id701a6f95ed6ea093c707fbe0bac228f1f856e9f > > Reviewed-on: https://chromium-review.googlesource.com/567992 > > Commit-Queue: Igor Sheludko <ishell@chromium.org> > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#46622} > > Bug: chromium:738763, chromium:742346, chromium:742381, chromium:745844 > Change-Id: I93974e3906b2c7710bd525f15037a2dd97f263ad > Reviewed-on: https://chromium-review.googlesource.com/575227 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46759} TBR=ulan@chromium.org,jkummerow@chromium.org,ishell@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:738763, chromium:742346, chromium:742381, chromium:745844 Change-Id: I203dc748c47db554e0a86d61f0e2b7b8b96f2370 Reviewed-on: https://chromium-review.googlesource.com/581547 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46826}
-
- 19 Jul, 2017 1 commit
-
-
Igor Sheludko authored
This is a reland of b90e83f5 Original change's description: > [runtime] Add shortcuts for elements kinds transitions. > > The shortcuts ensure that field type generalization is properly > propagated in the transition graph. > > Bug: chromium:738763 > Change-Id: Id701a6f95ed6ea093c707fbe0bac228f1f856e9f > Reviewed-on: https://chromium-review.googlesource.com/567992 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46622} Bug: chromium:738763, chromium:742346, chromium:742381, chromium:745844 Change-Id: I93974e3906b2c7710bd525f15037a2dd97f263ad Reviewed-on: https://chromium-review.googlesource.com/575227 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#46759}
-
- 14 Jul, 2017 1 commit
-
-
Michael Achenbach authored
This reverts commit b90e83f5. Reason for revert: Blocks roll: https://chromium-review.googlesource.com/c/570002/ Confirmed by: https://chromium-review.googlesource.com/c/571700/2 Original change's description: > [runtime] Add shortcuts for elements kinds transitions. > > The shortcuts ensure that field type generalization is properly > propagated in the transition graph. > > Bug: chromium:738763 > Change-Id: Id701a6f95ed6ea093c707fbe0bac228f1f856e9f > Reviewed-on: https://chromium-review.googlesource.com/567992 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46622} TBR=jkummerow@chromium.org,ishell@chromium.org Change-Id: I5ede80db6bc209f16c6fd43f6bf3c8865c9577d8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:738763 Reviewed-on: https://chromium-review.googlesource.com/571741Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46660}
-
- 13 Jul, 2017 1 commit
-
-
Igor Sheludko authored
The shortcuts ensure that field type generalization is properly propagated in the transition graph. Bug: chromium:738763 Change-Id: Id701a6f95ed6ea093c707fbe0bac228f1f856e9f Reviewed-on: https://chromium-review.googlesource.com/567992 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#46622}
-
- 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 2 commits
-
-
Camillo Bruni authored
Change-Id: I703c90cfbb91f4afc035fb32a44f33af9fe736f3 Reviewed-on: https://chromium-review.googlesource.com/548459 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#46392}
-
Michael Lippautz authored
Bug: chromium:738368 Change-Id: I749517391f9d5dd0827f3d37f975f6c61542d1ff Reviewed-on: https://chromium-review.googlesource.com/558914 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46391}
-
- 30 Jun, 2017 1 commit
-
-
Mathias Bynens authored
The `FAST_` prefix doesn’t make much sense — they’re all just different cases with their own optimizations. Packedness being implicit (e.g. `FAST_ELEMENTS` vs. `FAST_HOLEY_ELEMENTS`) is not ideal, either. This patch renames the FAST elements kinds as follows: - e.g. FAST_ELEMENTS => PACKED_ELEMENTS - e.g. FAST_HOLEY_ELEMENTS => HOLEY_ELEMENTS The following exceptions are left intact, for lack of a better name: - FAST_SLOPPY_ARGUMENTS_ELEMENTS - SLOW_SLOPPY_ARGUMENTS_ELEMENTS - FAST_STRING_WRAPPER_ELEMENTS - SLOW_STRING_WRAPPER_ELEMENTS This makes it easier to reason about elements kinds, and less confusing to explain how they’re used. R=jkummerow@chromium.org, cbruni@chromium.org BUG=v8:6548 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ie7c6bee85583c3d84b730f7aebbd70c1efa38af9 Reviewed-on: https://chromium-review.googlesource.com/556032Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#46361}
-
- 29 Jun, 2017 1 commit
-
-
titzer authored
R=marja@chromium.org BUG= Review-Url: https://codereview.chromium.org/2961253002 Cr-Commit-Position: refs/heads/master@{#46321}
-