- 10 Sep, 2020 1 commit
-
-
Jakob Gruber authored
This is the final part of the tier-up commit series. It implements: - A prologue in NCI code objects that checks and acts upon the optimization marker. - Currently, handling is deferred to the InterpreterEntryTrampoline but this will change in the future. - The lifecycle is otherwise like Ignition-to-Turbofan; the runtime profiler marks a function for optimization, the next call to that function triggers optimization by calling into runtime, and the finished code object is installed both on the JSFunction and the optimized code cache. - The feedback vector's kOptimizedCodeWeakOrSmiOffset slot is currently reused for the mid-to-top tier up. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:8888 Change-Id: Iff50b05ddcc68b25d7ed0f1e0d20af076a1522a0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2361466Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#69808}
-
- 28 Jul, 2020 1 commit
-
-
Santiago Aboy Solanes authored
This gives the GC a location where it can interrupt background compilation. Bug: v8:7790 Change-Id: I8cf40e9c9b69c00fdfd5d59ed87e83137e481fb3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2310366 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69109}
-
- 10 Jul, 2020 1 commit
-
-
Igor Sheludko authored
... by migrating old-style code MyObject* obj = new (zone) MyObject(...) to the new style MyObject* obj = zone->New<MyObject>(...) Bug: v8:10689 Change-Id: I55c686bbedfa1fd1955a5927df3f72b366312fd4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2288867 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68808}
-
- 24 Jun, 2020 1 commit
-
-
Maya Lekova authored
Bug: v8:10619 Change-Id: I9097e203404ca36301a08665a7383c9585301a67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2264359 Commit-Queue: Maya Lekova <mslekova@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Auto-Submit: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#68518}
-
- 17 Sep, 2019 1 commit
-
-
Jakob Gruber authored
Store-store elimination can potentially allocate many temporary data structures, all of which are contained in its so-called temporary zone. The zone is 'temporary' in the sense of only existing for the lifetime of the StoreStoreEliminationPhase; but all allocated memory remains alive until the phase terminates. Investigation of a pathological case (see the linked bug) showed this zone reaching a size of 4GB. The cause in this specific case was the UnobservableSet data structure, conceptually an immutable set (i.e. each operation creates a full copy). This CL changes the UnobservableSet to use a PersistentMap backing store rather than a ZoneSet. PersistentMap is intended for exactly this use-case, since copies are basically free and updates only change small parts of the data structure. Memory consumption for the linked pathological case drops from 4GB to 70MB and execution speeds up from 20s to 17s. Bug: v8:9574 Change-Id: I902b27f1aa42b88ddd905ee941df24028a68a9bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1795351 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63819}
-
- 05 Sep, 2019 1 commit
-
-
Jakob Gruber authored
Refactor-only: This moves declaration of implementation details into the .cc file. No logic changes. Bug: v8:9574 Change-Id: I985ce17138e65f18dbb629b9f6660009e034fbf0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1786279 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63562}
-
- 14 Aug, 2019 2 commits
-
-
Santiago Aboy Solanes authored
Moved code from the .cc file to the .h file, and added comments on important methods. There is still room for more cleanup / refactor, but it doesn't seem worth it right now. Bug: v8:9396 Change-Id: Id14d3ccaa853e0704732d468df504c379cd114b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1748735 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#63205}
-
Santiago Aboy Solanes authored
Consistent naming, moved methods, etc. There is a follow-up CL that moves code from this .cc to the private part of the class in the .h file. Bug: v8:9396 Change-Id: I9efac09baff7403bce1be9712c090d2ea70b60f6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1748734Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#63203}
-
- 12 Aug, 2019 1 commit
-
-
Santiago Aboy Solanes authored
We were only considering eliminating Stores of size Tagged. There doesn't appear to be a reason why. This CL enables store store elimination for all sizes. For example, in pointer compression, it means that Compressed values can be targeted. In 32 bit versions, it means that doubles can now be targeted. This is safe under the assumption that every byte of a JS object is only ever accessed through one offset. For instance, byte 15 of a given object may be accessed using a two-byte read at offset 14, or a four-byte read at offset 12, but never both in the same program. Change-Id: I865d412ed5b4db53a0154cf4da6303c407fdbda7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1746469Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#63168}
-
- 17 Jul, 2019 1 commit
-
-
Tobias Tebbi authored
This adds a simple counter to Turbofan that's incremented throughout the compilation, hopefully frequently enough so we can use it to detect divergence and performance bugs. In addition, we assert that this counter never gets too high. That's the equivalent of a simple timeout, just more deterministic. The limitations on Turbofan input size should guarantee that we never exceed this limit. Since we probably do exceed it rarely, this check is only a DCHECK and intended to detect performance and divergence issues, but not supposed to be performed in release builds. In addition, this CL adds UMA stats to observe the real world distribution of the tick measurement. Bug: v8:9444 Change-Id: I182dac6ecac64715e3f5885ff5c7c17549351cd0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695475 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#62754}
-
- 29 Mar, 2019 1 commit
-
-
Clemens Hammacher authored
Even though both are allowed in the style guide, it recommends to use 'using', as its syntax is more consistent with the rest of C++. This CL turns all typedefs in compiler code to 'using' declarations. R=mstarzinger@chromium.org Bug: v8:8834 Change-Id: I3baf3ecbfe2c853cb17bb479ebbf140382193b5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1545896 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#60527}
-
- 20 Dec, 2018 1 commit
-
-
Clemens Hammacher authored
This silences the new presubmit check for the whole src/compiler directory. R=neis@chromium.org Bug: v8:8616 Change-Id: Ib76d669861f829b4f35f9e9921b72b073300da08 Reviewed-on: https://chromium-review.googlesource.com/c/1386871Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58411}
-
- 20 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I5686fa0c1ed73b17f592a012b00c08c575ae5387 Reviewed-on: https://chromium-review.googlesource.com/1234234Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#56062}
-
- 17 Sep, 2018 1 commit
-
-
Florian Sattler authored
Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I7d885f0e2ba3cdf97de190166dc4cdd24dc0c11e Reviewed-on: https://chromium-review.googlesource.com/1224091 Commit-Queue: Florian Sattler <sattlerf@google.com> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#55956}
-
- 11 Sep, 2018 1 commit
-
-
Florian Sattler authored
This patch removes unnecessary copies and adds reserves to vectors that are filled in a loop afterwards. Fixing clang-tidy warning. Bug: v8:8015 Change-Id: I4e13c0445a9760e09ef03a62ae48be622ebecc6b Reviewed-on: https://chromium-review.googlesource.com/1209783Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Florian Sattler <sattlerf@google.com> Cr-Commit-Position: refs/heads/master@{#55776}
-
- 15 Jun, 2018 1 commit
-
-
Leszek Swirski authored
Bug: v8:7786 Change-Id: I1e568ff6da02dfd92b24b8badd665096cf49a13a Reviewed-on: https://chromium-review.googlesource.com/1101321Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53747}
-
- 21 Mar, 2018 1 commit
-
-
Sigurd Schneider authored
Bug: v8:7570, v8:7517 Change-Id: Ia62a9afeec0d0df1596198deec6165a3f02edeaa Reviewed-on: https://chromium-review.googlesource.com/973606Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52120}
-
- 13 Feb, 2018 1 commit
-
-
Camillo Bruni authored
FATAL(...) avoid creating literal strings for line number in release mode. Bug: v8:7310 Change-Id: I6a3e329adce36b0efcc240068f6a241d1cca4b6f Reviewed-on: https://chromium-review.googlesource.com/915066Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#51277}
-
- 02 Jan, 2018 1 commit
-
-
Clemens Hammacher authored
After https://crrev.com/c/832457, CheckedLoad is not being used any more. Thus, remove it from the TurboFan backend and from all tests. CheckedStore was already removed in https://crrev.com/c/822570. R=jarin@chromium.org CC=titzer@chromium.org, mstarzinger@chromium.org Change-Id: I2eeec2f4a9d0a10067db5cc25ec41366ae85e917 Reviewed-on: https://chromium-review.googlesource.com/832459 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50323}
-
- 12 Dec, 2017 1 commit
-
-
Ben L. Titzer authored
This operation was used to implement asm.js stores, but is obsolete with asm.js stores now being lowered to normal graph nodes. R=mstarzinger@chromium.org CC=jarin@chromium.org Bug: Change-Id: Iea90b1a62be2e273c0562058642adc5b63ae2cf8 Reviewed-on: https://chromium-review.googlesource.com/822570 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#50046}
-
- 27 Nov, 2017 1 commit
-
-
Ivica Bogosavljevic authored
Bug: Change-Id: If2468dab0ce2ef59a1f9cc8e4d8dc57b320f8c5f Reviewed-on: https://chromium-review.googlesource.com/789041 Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#49629}
-
- 25 Sep, 2017 1 commit
-
-
Clemens Hammacher authored
Use the (D)CHECK_{EQ,NE,GT,...} macros instead of (D)CHECK with an embedded comparison. This gives better error messages and also does the right comparison for signed/unsigned mismatches. This will allow us to reenable the readability/check cpplint check. R=jarin@chromium.org Bug: v8:6837 Change-Id: I712580c2a4326e06ee3d6d0eb4ff8c7d24f5fdb9 Reviewed-on: https://chromium-review.googlesource.com/671227 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48135}
-
- 04 Sep, 2017 1 commit
-
-
Clemens Hammacher authored
R=mstarzinger@chromium.org Bug: chromium:746958 Change-Id: Id0afb27e88944a64bf301533fa164668294f8446 Reviewed-on: https://chromium-review.googlesource.com/648978 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47802}
-
- 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}
-
- 01 Sep, 2016 1 commit
-
-
bgeron authored
There used to be too much pruning. BUG=v8:5321 Review-Url: https://codereview.chromium.org/2295823002 Cr-Commit-Position: refs/heads/master@{#39084}
-
- 25 Aug, 2016 1 commit
-
-
bgeron authored
R=jarin BUG=chromium:637121 Review-Url: https://codereview.chromium.org/2252283004 Cr-Commit-Position: refs/heads/master@{#38899}
-
- 16 Aug, 2016 1 commit
-
-
bgeron authored
[turbofan] Instead of using properties, use a whitelist for store-store elimination. Make --turbo imply --turbo-store-elimination, so it is tested by ClusterFuzz. This should fix bug v8:5280. BUG=v8:5280 Review-Url: https://codereview.chromium.org/2236443006 Cr-Commit-Position: refs/heads/master@{#38649}
-
- 10 Aug, 2016 1 commit
-
-
jarin authored
Review-Url: https://codereview.chromium.org/2234703002 Cr-Commit-Position: refs/heads/master@{#38518}
-
- 09 Aug, 2016 2 commits
-
-
bgeron authored
It can now deal with multiple objects at the same time (but no aliasing), and it propagates store information upwards across effect chain splits. R=jarin BUG= Review-Url: https://codereview.chromium.org/2159303002 Cr-Commit-Position: refs/heads/master@{#38509}
-
bgeron authored
R=danno,jarin BUG= Review-Url: https://codereview.chromium.org/2226293002 Cr-Commit-Position: refs/heads/master@{#38502}
-
- 29 Jun, 2016 1 commit
-
-
bgeron authored
BUG= Review-Url: https://codereview.chromium.org/2107833002 Cr-Commit-Position: refs/heads/master@{#37374}
-
- 23 Jun, 2016 1 commit
-
-
bgeron authored
R=jarin@chromium.org BUG= Review-Url: https://codereview.chromium.org/2087483003 Cr-Commit-Position: refs/heads/master@{#37220}
-