1. 27 Mar, 2018 1 commit
  2. 23 Mar, 2018 1 commit
  3. 16 Mar, 2018 1 commit
  4. 09 Mar, 2018 1 commit
  5. 05 Mar, 2018 3 commits
  6. 21 Feb, 2018 1 commit
  7. 19 Feb, 2018 1 commit
  8. 15 Feb, 2018 1 commit
  9. 13 Feb, 2018 1 commit
    • Mike Stanton's avatar
      [turbofan] Masking/poisoning in codegen (optimized code, x64) · 8f489e73
      Mike Stanton authored
      This introduces masking of loads with speculation bit during code generation.
      At the moment, this is done only for x64 optimized code, under the
      --branch-load-poisoning flag.
      
      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: Ie51fdbde578fc289dff029794f3cfe8eaf33e1ef
      Reviewed-on: https://chromium-review.googlesource.com/901625
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51272}
      8f489e73
  10. 12 Feb, 2018 1 commit
    • Ross McIlroy's avatar
      [Ignition] [TurboFan] Generate speculation poison in code generator. · a021b6c4
      Ross McIlroy authored
      Moves generation of speculation poison to be based on the PC target vs the
      actual PC being executed. The speculation poison is generated in the prologue
      of the generated code if CompilationInfo::kGenerateSpeculationPoison is set.
      The result is stored in a known register, which can then be read using the
      SpeculationPoison machine node.
      
      Currently we need to ensure the SpeculationPoison node is scheduled right after
      the code prologue so that the poison register doesn't get clobbered. This is
      currently not verified, however it's only use is in RawMachineAssembler where
      it is manually scheduled early.
      
      The Ignition bytecode handlers are updated to use this speculation poison
      rather than one generated by comparing the target bytecode.
      
      BUG=chromium:798964
      
      Change-Id: I2a3d0cfc694e88d7a8fe893282bd5082f693d5e2
      Reviewed-on: https://chromium-review.googlesource.com/893160
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51229}
      a021b6c4
  11. 07 Feb, 2018 1 commit
  12. 02 Feb, 2018 1 commit
  13. 01 Feb, 2018 1 commit
  14. 31 Jan, 2018 1 commit
  15. 29 Jan, 2018 1 commit
  16. 26 Jan, 2018 1 commit
  17. 04 Jan, 2018 1 commit
  18. 07 Nov, 2017 2 commits
  19. 06 Nov, 2017 1 commit
  20. 27 Oct, 2017 1 commit
  21. 26 Oct, 2017 2 commits
  22. 18 Oct, 2017 1 commit
  23. 13 Oct, 2017 2 commits
  24. 09 Oct, 2017 8 commits
  25. 14 Sep, 2017 1 commit
  26. 13 Sep, 2017 1 commit
  27. 07 Sep, 2017 1 commit
  28. 04 Sep, 2017 1 commit