- 15 Sep, 2020 1 commit
-
-
Jakob Gruber authored
Feedback collection is currently implemented only for JS operators in generic lowering. Missing feedback collection results in soft-deopts immediately after tiering up to TF from NCI code. In this CL we disable two large classes of such problematic lowerings for NCI code, type hint lowering and typed lowering. Cq-Include-Trybots: luci.v8.try:v8_linux64_fyi_rel_ng Bug: v8:8888 Change-Id: Ia8452775616074b7ad6dfe930f305449db3f5682 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2410180 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#69910}
-
- 11 Sep, 2020 2 commits
-
-
Georg Neis authored
... by unparking the local heap before accessing the handles. Bug: v8:7790 Change-Id: I0910fd8ad2a1e9cbbf312acb4f26358a09891f0f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2404455Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Auto-Submit: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69852}
-
Mythri A authored
We used to store MinimorphicPropertyAccessInfo indexed on the feedback slot id. This works fine when there is no inlining but returns the wrong access information when functions are inlined. Index it based on FeedbackSource to avoid these problems. Bug: v8:10582,chromium:1125871 Change-Id: Id01010f3153f7e21495d73899a8604a64417ae95 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2401426 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#69845}
-
- 13 Aug, 2020 1 commit
-
-
Santiago Aboy Solanes authored
Since it will be patched in later in the cases where it will be used, there is no need to have it as a parameter. Bug: v8:7790 Change-Id: I93b27f3baf8c3841a60f5ac5ed09993d1caf19bc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2351667Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#69366}
-
- 12 Aug, 2020 1 commit
-
-
Santiago Aboy Solanes authored
The (now unique)PersistentHandles container follows this path: 1) PersistentHandles created via PersistentHandlesScope inside of CompilationHandleScope 2) Owned by OptimizedCompilationInfo 3) Owned by JSHeapBroker 4) Owned by the broker's LocalHeap 5) Back to the broker for a brief moment (after tearing down the LocalHeap as part of exiting LocalHeapScope) 6) Back to OptimizedCompilationInfo when exiting the LocalHeapScope. There is a special case in GenerateCodeForTesting where the JSHeapBroker will not be retired in that same method. In this case, we need to re-attach the PersistentHandles container to the JSHeapBroker. The identity map of the persistent & canonical handles also gets passed around like the persistent handles. The only difference is that is created in the CanonicalHandleScope (i.e step 1) is different). Bug: v8:7790 Change-Id: I2da77a7e08f3fd360a46b606c5fbda08c0af27df Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2332811 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#69360}
-
- 28 Jul, 2020 2 commits
-
-
Mythri A authored
1. Adds a flag to specify if minimorphic accesses should be optimized using dynamic map checks operators. This flag is disabled by default. 2. Builds the PropertyAccessInfo from handlers instead of reading it from maps for minimorphic accesses 3. Uses DynamicMapChecks operator to lower the minimorphic accesses. Bug: v8:10582, v8:9684 Change-Id: I0b7b26b876f9ad12d6fc38788137b66ee6455aeb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2241524Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#69112}
-
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}
-
- 14 Jul, 2020 1 commit
-
-
Santiago Aboy Solanes authored
This CL adds functionality to read the source positions directly from the JS heap rather than from serialized data. In order to do this, we create a PersistentHandles container in the OptimizedCompilationInfo which gets passed onto the JSHeapBroker. This allows us to create the handles in the main thread and pass them safely to the background thread. In order to read safely from the background thread, we need a LocalHeap which blocks the GC from running and potentially moving the handles. This LocalHeap is created only when the JSHeapBroker has finalized serializing and destroyed when retiring it. Bug: v8:7790 Change-Id: I19f8b08d12e5be0a3df34d6af2043310c0c7b6fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2277802Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#68836}
-
- 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: Iec2b3102bd35ad7e50b90882ade78d27999a71f2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2288866Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#68803}
-
- 07 Jul, 2020 1 commit
-
-
Jakob Gruber authored
Native context independent code generation should, at the moment, not use any collected feedback. We implement this by returning InsufficientFeedback from the heap broker's ReadFeedbackForX methods if currently compiling nci code. Thus all feedback.IsInsufficient() calls inside the compiler will return true (disabling feedback-based optimizations). FeedbackSource::IsValid() (used in generic lowering) can still return true. Bug: v8:8888 Change-Id: I198b6457276073e7376c777b206c50726f1b3645 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2284494 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68726}
-
- 15 Jun, 2020 1 commit
-
-
Jakob Gruber authored
... to OptimizedCompilationInfo, BytecodeGraphBuilder, and JSHeapBroker. Also add first uses of these flags in pipeline.cc by skipping certain phases when nci is enabled. With this change, tests in the NCI variant will start to fail since generic lowering is not fully implemented. These implementations will follow incrementally in the next days. Bug: v8:8888 Change-Id: I3f570fb92f09059d1f1f4015f88ffe80ccf746ad Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2239572 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#68339}
-
- 18 May, 2020 1 commit
-
-
Clemens Backes authored
We constantly fight against scrambled output with --print-wasm-code and other flags. Passing --single-threaded only partially mitigates this, because there could still be multiple isolates (e.g. Workers), and we sometimes failed to really execute in a single thread if that flag was set. Hence this CL solves the problem in a more fundamental way: Whenever a {StdoutStream} is constructed, it implicitly takes a global recursive mutex. The recursive mutex is needed because we still have some printing methods that don't take a stream as parameter, and instead create their own instance of {StdoutStream}, which should not crash of course. The overhead of taking a mutex should be acceptable, since output to stdout mostly happens if special tracing flags have been passed, and is slow anyway. This CL ensures that the {StdoutStream} is used at least for --print-code, --print-wasm-code, and --trace-turbo-graph. More flags can later be ported on demand. The {JSHeapBroker} class was modified to not contain a {StdoutStream}, but instead create one on demand. R=mlippautz@chromium.org, tebbi@chromium.org CC=ahaas@chromium.org Bug: v8:10506 Change-Id: Ib9cf8d76aa79553b4215bb7775e6d47a8179aafa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201767Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#67855}
-
- 09 Mar, 2020 1 commit
-
-
Nico Hartmann authored
Bug: v8:7790 Change-Id: Ibdfe1c1a1ad2eb082583285493227fb833be4690 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2093501 Auto-Submit: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#66629}
-
- 22 Jan, 2020 1 commit
-
-
Georg Neis authored
... and consult it there from the various reducers. The flag makes no sense without the broker and the reducers already have access to the broker, so we can avoid an additional flag per reducer. Bug: v8:7790 Change-Id: I448050a55951b94d5313c1a79a502be906b98b25 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2013108 Auto-Submit: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#65918}
-
- 16 Jan, 2020 1 commit
-
-
Georg Neis authored
... and remove a related, unused function. Bug: v8:7790 Change-Id: I803f4b747220a1722e096ef77fcc6c8a9e18fe1a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002534Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#65805}
-
- 09 Jan, 2020 1 commit
-
-
Maya Lekova authored
Bug: v8:7790 Change-Id: Idf066adcd5c3dca3004e2eaa0d8fa389755720af Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1991490Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#65671}
-
- 08 Jan, 2020 1 commit
-
-
Mythri A authored
Reland after disabling flaky test-cpu-profiler tests Reland the cl with fixes to TSAN failures. This reverts commit 03c9de73. Original change's description: > Revert "[TurboFan] Don't serialize read-only heap objects" > > This reverts commit 9f18e55f. > > Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/29660 > > Original change's description: > > [TurboFan] Don't serialize read-only heap objects > > > > Read-only heap objects are immutable and immovable. It is safe to access > > these objects directly from the heap. Not having to serialize them > > reduces the time we spend on main thread especially for TurboProp. > > > > Bug: v8:9684 > > Change-Id: Ibabb7076af50c9007d2a8ed57fe257406958fb6a > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955596 > > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > > Reviewed-by: Maya Lekova <mslekova@chromium.org> > > Commit-Queue: Mythri Alle <mythria@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#65490} > > TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org > > Change-Id: If2d8649cdc083f7d064684352501320a96a1ba2c > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:9684 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973732 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65492} TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org Bug: v8:9684 Change-Id: I71fb438b9387f7fef8b36629bb947335065474f0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980573Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#65584} Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981163Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#65631}
-
- 07 Jan, 2020 1 commit
-
-
Maya Lekova authored
The current value of 200 is fine with the TypeScript run time (less than 8s) as long as the limit is checked at an earlier stage, which was overlooked in the initial implementation. Fixed: chromium:1038292 Change-Id: Ia512e709a79450eed631f03129ddbbff65fd81b1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1985992Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#65598}
-
- 06 Jan, 2020 2 commits
-
-
Mythri Alle authored
This reverts commit a4db68d4. Reason for revert: Speculatively reverting: failure on win32 bot https://ci.chromium.org/p/v8/builders/ci/V8%20Win32%20-%20debug/23495 Not sure if the test is flaky or this cl is actually making it flaky. Reverting while I investigate this issue. Original change's description: > Reland "[TurboFan] Don't serialize read-only heap objects" > > Reland the cl with fixes to TSAN failures. > > This reverts commit 03c9de73. > > > Original change's description: > > Revert "[TurboFan] Don't serialize read-only heap objects" > > > > This reverts commit 9f18e55f. > > > > Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/29660 > > > > Original change's description: > > > [TurboFan] Don't serialize read-only heap objects > > > > > > Read-only heap objects are immutable and immovable. It is safe to access > > > these objects directly from the heap. Not having to serialize them > > > reduces the time we spend on main thread especially for TurboProp. > > > > > > Bug: v8:9684 > > > Change-Id: Ibabb7076af50c9007d2a8ed57fe257406958fb6a > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955596 > > > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > > > Reviewed-by: Maya Lekova <mslekova@chromium.org> > > > Commit-Queue: Mythri Alle <mythria@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#65490} > > > > TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org > > > > Change-Id: If2d8649cdc083f7d064684352501320a96a1ba2c > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: v8:9684 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973732 > > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#65492} > > TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: v8:9684 > Change-Id: I54c9973d0f4d88504b2fb920feb3480fe1f1e1fc > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980573 > Reviewed-by: Mythri Alle <mythria@chromium.org> > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Commit-Queue: Mythri Alle <mythria@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65584} TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org Change-Id: Ic28774a2530bb7b6688a974f2af4a23ec04ef236 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9684 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1987250Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#65585}
-
Mythri A authored
Reland the cl with fixes to TSAN failures. This reverts commit 03c9de73. Original change's description: > Revert "[TurboFan] Don't serialize read-only heap objects" > > This reverts commit 9f18e55f. > > Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/29660 > > Original change's description: > > [TurboFan] Don't serialize read-only heap objects > > > > Read-only heap objects are immutable and immovable. It is safe to access > > these objects directly from the heap. Not having to serialize them > > reduces the time we spend on main thread especially for TurboProp. > > > > Bug: v8:9684 > > Change-Id: Ibabb7076af50c9007d2a8ed57fe257406958fb6a > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955596 > > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > > Reviewed-by: Maya Lekova <mslekova@chromium.org> > > Commit-Queue: Mythri Alle <mythria@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#65490} > > TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org > > Change-Id: If2d8649cdc083f7d064684352501320a96a1ba2c > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:9684 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973732 > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65492} TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org,nicohartmann@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:9684 Change-Id: I54c9973d0f4d88504b2fb920feb3480fe1f1e1fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980573Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#65584}
-
- 31 Dec, 2019 1 commit
-
-
Mike Stanton authored
This limit hangs TypeScript and needs further investigation. Bug: chromium:1038292 Change-Id: I5270052cb2b357f9f872d6de42a8122cee81b13e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1981499Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#65568}
-
- 20 Dec, 2019 1 commit
-
-
Maya Lekova authored
This CL limits the total number of hints of each type (constants, maps, etc.) to 50. It also adds a limit to the number of seen functions with the same SFI and feedback vector to 200. Octane already hits those limits in DeltaBlue and TypeScript, but that doesn't affect the scores. Bug: v8:7790 Change-Id: I644519955115c09bfb8ba6d98cf21087b153668d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1975757Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#65535}
-
- 18 Dec, 2019 2 commits
-
-
Nico Hartmann authored
This reverts commit 9f18e55f. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/29660 Original change's description: > [TurboFan] Don't serialize read-only heap objects > > Read-only heap objects are immutable and immovable. It is safe to access > these objects directly from the heap. Not having to serialize them > reduces the time we spend on main thread especially for TurboProp. > > Bug: v8:9684 > Change-Id: Ibabb7076af50c9007d2a8ed57fe257406958fb6a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955596 > Reviewed-by: Michael Stanton <mvstanton@chromium.org> > Reviewed-by: Maya Lekova <mslekova@chromium.org> > Commit-Queue: Mythri Alle <mythria@chromium.org> > Cr-Commit-Position: refs/heads/master@{#65490} TBR=mvstanton@chromium.org,neis@chromium.org,mythria@chromium.org,mslekova@chromium.org Change-Id: If2d8649cdc083f7d064684352501320a96a1ba2c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9684 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1973732Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#65492}
-
Mythri A authored
Read-only heap objects are immutable and immovable. It is safe to access these objects directly from the heap. Not having to serialize them reduces the time we spend on main thread especially for TurboProp. Bug: v8:9684 Change-Id: Ibabb7076af50c9007d2a8ed57fe257406958fb6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1955596Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#65490}
-
- 31 Oct, 2019 1 commit
-
-
Maya Lekova authored
Implement the possibility to revisit the same function in the serializer using equality of its arguments. Bug: v8:7790 Change-Id: I609a6009bf503e378e50d0b32c6f1c13721d2557 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863198 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64683}
-
- 14 Oct, 2019 1 commit
-
-
Maya Lekova authored
This analysis shows the number of used/unused refs as well as their by-type distribution and outputs the broker zone memory. It introduces a new flag --trace-heap-broker-memory. Doc: https://docs.google.com/document/d/1oUMxlC2YbficEVkQ1X8TK9WNCWRmLqzDRFy4z3cJsII/edit#heading=h.3sde9siqk2yw Bug: v8:9720 Change-Id: I4fafc225134d0548e976ce00d67bd5cabeda60c3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1849526 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64269}
-
- 27 Sep, 2019 1 commit
-
-
Mike Stanton authored
Almost everywhere, we use the ProcessedFeedback abstraction to query feedback in the compiler. The remaining exception is in handling RegExp, Object and Array literals. By bringing this in line with other feedback queries, we no longer need to serialize all feedback vector slots (possibly wasteful of memory), and offer a uniform way to pick up feedback everywhere. Bug: v8:7790, v8:9396 Change-Id: Ice42587595fe30bebfbd7835d2b2e9e49601c92e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1807358 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#64016}
-
- 02 Sep, 2019 2 commits
-
-
Georg Neis authored
Print the file name instead of the function name, as the function name can be ambiguous. Bug: v8:7790 Change-Id: I079eb0e5a0012aff1d241618d132ecd2d3d93c8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1781043Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63498}
-
Maya Lekova authored
Bug: chromium:998802 Change-Id: I243c00b367ffd1c5c54ca6930681b1b1d3317b26 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1773273 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63492}
-
- 30 Aug, 2019 2 commits
-
-
Georg Neis authored
E.g. make the setup of the ObjectRef hash table more explicit. Tbr: jgruber@chromium.org Bug: v8:7790 Change-Id: I58c03848e7da5c418ff2d6ae1e71b644278f406b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1776089 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63475}
-
Maya Lekova authored
Introduce JSGlobalObjectRef to the heap broker. Bug: v8:7790 Change-Id: I055a0545b582d6ff4c4e0dd639ce532311a76fec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1773267Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63472}
-
- 26 Aug, 2019 1 commit
-
-
Maya Lekova authored
This is a reland of 8ff8ddba Original change's description: > [turbofan] Further brokerize BytecodeGraphBuilder > > Replace all usages of VectorSlotPair with FeedbackSource. > > Bug: v8:7790 > Change-Id: I0ac6e9cd8f5730154cc1842e267ca1ebfdebc874 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763536 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63378} Bug: v8:7790 Change-Id: I54fbf4433a65681780fda4ded09ec2d145d36ec1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1768361Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63391}
-
- 23 Aug, 2019 2 commits
-
-
Bill Budge authored
This reverts commit 8ff8ddba. Reason for revert: Causes failures on GC Stress and TSan: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/24138 https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/27969 Original change's description: > [turbofan] Further brokerize BytecodeGraphBuilder > > Replace all usages of VectorSlotPair with FeedbackSource. > > Bug: v8:7790 > Change-Id: I0ac6e9cd8f5730154cc1842e267ca1ebfdebc874 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763536 > Commit-Queue: Maya Lekova <mslekova@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63378} TBR=neis@chromium.org,mslekova@chromium.org Change-Id: Ieb6fb24dd0626fd9eb2183844614ac5b3c8084e8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7790 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1769287Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#63387}
-
Maya Lekova authored
Replace all usages of VectorSlotPair with FeedbackSource. Bug: v8:7790 Change-Id: I0ac6e9cd8f5730154cc1842e267ca1ebfdebc874 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763536 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63378}
-
- 21 Aug, 2019 1 commit
-
-
Maya Lekova authored
Bug: v8:7790 Change-Id: I5659dd0fd9cc9eb6c129dbdafbc678d6c62289c9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763528 Commit-Queue: Maya Lekova <mslekova@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Auto-Submit: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63305}
-
- 20 Aug, 2019 1 commit
-
-
Maya Lekova authored
ReduceTypedArrayPrototypeToStringTag, ReduceObjectGetPrototype and ReduceObjectGetPrototype are now heap-access free. Bug: v8:7790 Change-Id: If7f7ae4c7712326240aa50e02189fee94a57afa9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1762022 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63291}
-
- 19 Aug, 2019 4 commits
-
-
Georg Neis authored
- Eliminate unconditional heap reads in tracing code. - Change operator<< on ObjectRef to additionally print the Brief() output when the broker is disabled. - Print line number in TRACE_BROKER_MISSING and make some messages more consistent. - Make PrintCandidates output clearer. - Be more consistent about dereferencing optionals. Bug: v8:7790, chromium:990478 Change-Id: I2917529d5138a0d63ad476d3f8fee6a963767b23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758311 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63242}
-
Georg Neis authored
This is a reland of 29585a06 after removing an incorrect DCHECK. Original change's description: > [turbofan] Various serializer/broker improvements > > They are all somewhat entangled, sorry for the big CL. > > - Brokerize remaining feedback vector slots. > - Introduce Hints::SingleConstant helper. > - Introduce SerializationPolicy enum. > - Eliminate use of nullptr for megamorphic load/store ic feedback. > Instead use the corresponding ProcessedFeedback with an empty list > of maps or the like. new class MegamorphicFeedback. > - Separate processing of feedback from serialization. This eliminates > code duplication. > - Be very careful when clearing hints not to overwrite hints that are > being processed. > - Move AccessInfos out of NamedAccessFeedback. Always store them in > property_access_infos_ map on broker. (This was actually unused > before, somewhat by mistake.) > - Support map inference in concurrent inlining. Rewrite > ElementAccessFeedback such that we can refine it with the set of > inferred maps. > > TBR: mvstanton@chromium.org > Change-Id: I05e9eb250bdffc6dff29db01742550a86a41cb31 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752853 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63232} TBR: mvstanton@chromium.org Bug: v8:7790 Change-Id: Ia4acd31b339a941ee065e1ae4835bb7b85d5685e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758319Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63241}
-
Maya Lekova authored
This reverts commit 29585a06. Reason for revert: Breaks GC stress bots - https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20gc%20stress/24009 https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/27281 Original change's description: > [turbofan] Various serializer/broker improvements > > They are all somewhat entangled, sorry for the big CL. > > - Brokerize remaining feedback vector slots. > - Introduce Hints::SingleConstant helper. > - Introduce SerializationPolicy enum. > - Eliminate use of nullptr for megamorphic load/store ic feedback. > Instead use the corresponding ProcessedFeedback with an empty list > of maps or the like. new class MegamorphicFeedback. > - Separate processing of feedback from serialization. This eliminates > code duplication. > - Be very careful when clearing hints not to overwrite hints that are > being processed. > - Move AccessInfos out of NamedAccessFeedback. Always store them in > property_access_infos_ map on broker. (This was actually unused > before, somewhat by mistake.) > - Support map inference in concurrent inlining. Rewrite > ElementAccessFeedback such that we can refine it with the set of > inferred maps. > > TBR: mvstanton@chromium.org > Change-Id: I05e9eb250bdffc6dff29db01742550a86a41cb31 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752853 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63232} TBR=mvstanton@chromium.org,neis@chromium.org Change-Id: I88625d92fddf993db63661666c59af05a47b2b58 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1758314Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#63237}
-
Georg Neis authored
They are all somewhat entangled, sorry for the big CL. - Brokerize remaining feedback vector slots. - Introduce Hints::SingleConstant helper. - Introduce SerializationPolicy enum. - Eliminate use of nullptr for megamorphic load/store ic feedback. Instead use the corresponding ProcessedFeedback with an empty list of maps or the like. new class MegamorphicFeedback. - Separate processing of feedback from serialization. This eliminates code duplication. - Be very careful when clearing hints not to overwrite hints that are being processed. - Move AccessInfos out of NamedAccessFeedback. Always store them in property_access_infos_ map on broker. (This was actually unused before, somewhat by mistake.) - Support map inference in concurrent inlining. Rewrite ElementAccessFeedback such that we can refine it with the set of inferred maps. TBR: mvstanton@chromium.org Change-Id: I05e9eb250bdffc6dff29db01742550a86a41cb31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752853 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63232}
-