-
Michael Stanton authored
This reverts commit 46a3c772. Reason for revert: This is actually not quite ready. What we need is a speculation free poisoning, and if we do another branch, then I think that won't happen. Original change's description: > [turbofan] Masking/poisoning in codegen (optimized code, mips & mips64) > > This introduces masking of loads with speculation bit during code generation. > At the moment, this is done only under the > --branch-load-poisoning flag, and this CL enlarges the set of supported > platforms from {x64, arm, arm64} to {x64, arm, arm64, mips, mips64}. > > Overview of changes: > - new register configuration configuration with one register reserved for > the speculation poison/mask (kSpeculationPoisonRegister). > - in codegen, we introduce an update to the poison register at the starts > of all successors of branches (and deopts) that are marked as safety > branches (deopts). > - in memory optimizer, we lower all field and element loads to PoisonedLoads. > - poisoned loads are then masked in codegen with the poison register. > * only integer loads are masked at the moment. > > Bug: chromium:798964 > Change-Id: I211395b8305ed0ad9288d6da48fa159fa970c827 > Reviewed-on: https://chromium-review.googlesource.com/951382 > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> > Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@mips.com> > Cr-Commit-Position: refs/heads/master@{#52042} TBR=mvstanton@chromium.org,mstarzinger@chromium.org,ivica.bogosavljevic@mips.com Change-Id: Ief4d9ef56d918172f0b545d321a64b1ab5b46915 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:798964 Reviewed-on: https://chromium-review.googlesource.com/969041Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#52045}
11831378