- 20 Jan, 2021 1 commit
-
-
Jakob Gruber authored
This reflects the actual contents of the type, which is an offset into the bytecode (or certain marker values). Historically, in the days of FCG the bailout id used to refer to node ids - this is why certain tracing output still calls the bailout id 'node id' and 'ast id'. These spots will be fixed in a follow-up CL. This change is mechanical: git grep -l BailoutId | while read f; do \ sed -i 's/BailoutId/BytecodeOffset/g' $f; done With a manual component of updating the DeoptimizationData method name from 'BytecodeOffset' to 'GetBytecodeOffset'. Bug: v8:11332 Change-Id: I956b947a480bf52263159c0eb1e895360bcbe6d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639754 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#72189}
-
- 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}
-
- 08 Jan, 2020 2 commits
-
-
Santiago Aboy Solanes authored
We were missing some possible load compressions due to not having these bitcasts as cases. Bug: v8:7703 Change-Id: I866196c4fd09d313d3a461cb7f8f80bc92278e13 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1989830Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#65647}
-
Santiago Aboy Solanes authored
The only one remaining was the one in CSA. Once that was removed, we can simplify the pipeline. In order to remove it, we have to update the machine graph verifer so that Word32Equal can accept Tagged values as well. Bug: v8:7703 Change-Id: Ia3c4d872babc2005be1b402b4614a6039c59dbf3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1987254 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#65634}
-
- 28 Nov, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Even though they don't generate any code, it breaks some pattern matching when these nodes are present (e.g comparisons with compressed heap objects). Bug: v8:7703 Change-Id: I9670c2b4e85b1635061b16d4b125de9ff51fd403 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1940153Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#65227}
-
- 26 Nov, 2019 1 commit
-
-
Santiago Aboy Solanes authored
In both ChangeIntPtrToSmi and ChangeInt32ToSmi we can use bitcasts instead of change nodes for Smi Tagging, when we are using 31 bit smis in 64 bit architectures with pointer compression enabled. In ChangeIntPtrToSmi we can ignore the truncation as well. Updated DecompressionOptimizer to match the new pattern. Change-Id: I4487ba40ba9fda7b1ab31da95ff7bd144407d02d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1924355 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#65168}
-
- 13 Nov, 2019 1 commit
-
-
Santiago Aboy Solanes authored
This reverts commit 4d1b7af7. Reason for revert: Broke clusterfuzz asan build Original change's description: > [turbofan][64] Remove Smi Untagging extra nodes for 31 bit smis > > There are some cases where we can ignore some truncations or > change nodes for Smi Untagging, when we are using 31 bit smis > in 64 bit architectures. > > Updated DecompressionOptimizer to match the new pattern. > > Change-Id: I89d34407e6f780ec0399cd427cf9d3e24ee5669a > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889877 > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Cr-Commit-Position: refs/heads/master@{#64909} TBR=jgruber@chromium.org,tebbi@chromium.org,solanes@chromium.org Bug: chromium:1023972 Change-Id: I7773455a970a11c345a020c1421c961314c8eb5c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1914202 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64930}
-
- 12 Nov, 2019 1 commit
-
-
Santiago Aboy Solanes authored
There are some cases where we can ignore some truncations or change nodes for Smi Untagging, when we are using 31 bit smis in 64 bit architectures. Updated DecompressionOptimizer to match the new pattern. Change-Id: I89d34407e6f780ec0399cd427cf9d3e24ee5669a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1889877 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64909}
-
- 11 Nov, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Including but not limiting to removing: * BitcastCompressedXXX * CheckedCompressedXXX * ChangeXXXToCompressedYYY * ChangeCompressedXXX As a note, ChangeTaggedToCompressed can't be removed just yet as it is still in use. Bug: v8:7703 Change-Id: I98cf88a32adfa976d419e69702d1cac4d3e811a5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1903435 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64880}
-
- 07 Nov, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Since the turbo_decompression_elimination flag is removed, there are several methods in machine-type.h that get simplified, e.g TypeCompressedTaggedPointer() can be replaced by just "TaggedPointer()". Also Removing the creation of Change to/from Compressed nodes. Removing these Change nodes' logic is left to a follow-up CL. Bug: v8:7703 Change-Id: Iff1f9aa8361189cf781a26317fd342b942fd5aa4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897537 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64834}
-
- 06 Nov, 2019 2 commits
-
-
Santiago Aboy Solanes authored
There is at least one case where a Load output flows into an In32LessThanOrEqual node without any bitcasts or truncations in the middle. We have to consider these cases in the reducer. Bug: v8:7703 Change-Id: I1ed9c41e80c0603fd287d096c3050c5ae27c2b3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879945 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64811}
-
Santiago Aboy Solanes authored
Phis act as proxys: a phi's input has only 32 bits observed iff the phi's output has only 32 bits observed. When the Tagged Phi has only 32 bits observed, the Phi's MachineRepresentation changes to the Compressed counterpart. Also, update machine graph verifier so that Phis of Compressed accept Tagged inputs as well. Bug: v8:7703 Change-Id: I365d0b38f76edbaecbfea29f603abd2ce2224878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879943Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64802}
-
- 04 Nov, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Relevant opcodes: * kFrameState * kStateValues * kTypedStateValues The code to decompress CompressedHeapConstants is not there for the opcodes stated above. We can only do this optimization for Loads for the moment. Bug: v8:7703 Change-Id: I226089f1b2b78d0bd742785c7c9924284a97c72d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879942 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64732}
-
- 30 Oct, 2019 4 commits
-
-
Santiago Aboy Solanes authored
Test for the HeapConstant reduction. Move heap_constants to a scope where it can be reused by other tests. Bug: v8:7703 Change-Id: I1da1dd7ad65670980867aa5319b96cc9c701c5a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876064 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64648}
-
Santiago Aboy Solanes authored
Bug: v8:7703 Change-Id: I33e0c82c25d0c43f940d6cf0aff0abc04403b095 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876058 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64644}
-
Santiago Aboy Solanes authored
Bug: v8:7703 Change-Id: I06c47aa4057362d52e53b6a45d4e8a5febb92c82 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876055 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64643}
-
Santiago Aboy Solanes authored
Smi checks get lowered to Word32And, so they are important to consider in the reducer. Bug: v8:7703 Change-Id: Ie6e2403db84f83808edcc1e44ecb60ecd72ae34d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1876053 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64638}
-
- 23 Oct, 2019 1 commit
-
-
Santiago Aboy Solanes authored
Added the opcodes kWord32Equal and kChangeTaggedToCompressed to DecompressionOptimizer. Currently TaggedEqual node generates ChangeTaggedToCompressed nodes before the Word32Equal inputs. This means we need to also propagate kOnly32BitsObserved from kChangeTaggedToCompressed. Bug: v8:7703 Change-Id: I61fee07269696c60e065e1bbfee3a65c1b1537fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1871911Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64513}
-
- 22 Oct, 2019 1 commit
-
-
Santiago Aboy Solanes authored
We should be encountering this due to TaggedEquality. DecompressionElimination used to take care of this, but it will not be present in the new system. Bug: v8:7703 Change-Id: I9fe00ee116ed1514cb4c465a8d19df6e785ef913 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1868623Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#64471}
-
- 17 Oct, 2019 1 commit
-
-
Santiago Aboy Solanes authored
The DecompressionOptimizer aims to avoid adding the root in AnyTagged or TaggedPointer loads. For the TaggedSigned case, we already solve it in instruction selection. The new phase will run only when pointer compression is enabled. For the moment, it's also requires FLAG_turbo_decompression_elimination to be false. This latter flag is only temporary to test out the implementation. The phase needs to be run when Machine are present in the graph, i.e at the very end of the pipeline. Also, since this phase may change the load's MachineRepresentation from Tagged to Compressed, it's best to run it as late as possible in order to keep the phases that know about Compressed MachineRepresentation to a minimum. As an example, if we Load a Tagged value only to Store it back again (i.e Load -> Store nodes, with the Load being the Store's value) we don't need to fully decompress it since the Store will ignore the top bits. Bug: v8:7703 Change-Id: I6b4aec203ab8cbb540b2513cabb1e2a5691ce938 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1859615 Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#64358}
-