1. 15 Feb, 2018 14 commits
  2. 14 Feb, 2018 19 commits
  3. 13 Feb, 2018 7 commits
    • Junliang Yan's avatar
      Reland "PPC/s390: [turbofan] Masking/poisoning in codegen (optimized code, x64)" · 66ff72a7
      Junliang Yan authored
      This is a reland of cee362af.
      
      Original change's description:
      > PPC/s390: [turbofan] Masking/poisoning in codegen (optimized code, x64)
      > 
      > Port 8f489e73
      > 
      > Original Commit Message:
      > 
      >     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.
      > 
      > R=mvstanton@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
      > BUG=
      > LOG=N
      > 
      > Change-Id: I7decc16bbadf87a8c8b178278eb79a9b783f79e1
      > Reviewed-on: https://chromium-review.googlesource.com/916744
      > Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
      > Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      > Cr-Commit-Position: refs/heads/master@{#51275}
      
      Change-Id: Id22416487b05bef06c4cfdae35811a22f21cd0a0
      Reviewed-on: https://chromium-review.googlesource.com/916865Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#51278}
      66ff72a7
    • Camillo Bruni's avatar
      [errors] Use FATAL macro where possible · 52b3b491
      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: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51277}
      52b3b491
    • Junliang Yan's avatar
      Revert "PPC/s390: [turbofan] Masking/poisoning in codegen (optimized code, x64)" · 4513ee2e
      Junliang Yan authored
      This reverts commit cee362af.
      
      Reason for revert: forget to upload latest version
      
      Original change's description:
      > PPC/s390: [turbofan] Masking/poisoning in codegen (optimized code, x64)
      > 
      > Port 8f489e73
      > 
      > Original Commit Message:
      > 
      >     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.
      > 
      > R=​mvstanton@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
      > BUG=
      > LOG=N
      > 
      > Change-Id: I7decc16bbadf87a8c8b178278eb79a9b783f79e1
      > Reviewed-on: https://chromium-review.googlesource.com/916744
      > Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
      > Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      > Cr-Commit-Position: refs/heads/master@{#51275}
      
      TBR=mvstanton@chromium.org,michael_dawson@ca.ibm.com,jyan@ca.ibm.com,joransiu@ca.ibm.com
      
      Change-Id: I7e56cdcd99b3c6004803b4502ec1054e89c1e212
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/916864Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#51276}
      4513ee2e
    • Junliang Yan's avatar
      PPC/s390: [turbofan] Masking/poisoning in codegen (optimized code, x64) · cee362af
      Junliang Yan authored
      Port 8f489e73
      
      Original Commit Message:
      
          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.
      
      R=mvstanton@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: I7decc16bbadf87a8c8b178278eb79a9b783f79e1
      Reviewed-on: https://chromium-review.googlesource.com/916744Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#51275}
      cee362af
    • Andreas Haas's avatar
      [heap] Make setting use_tasks_ explicit · 1e9504ba
      Andreas Haas authored
      At the moment the flag is set too late, it is possible that the GC still
      tries to post tasks in Isolate::Deinit when the isolate is already
      disconnected from the platform, see the referenced bug.
      
      R=ulan@chromium.org
      
      Bug: chromium:810739
      Change-Id: Ibcd226cb44cc903f2a46e7cccf682b3938c9d408
      Reviewed-on: https://chromium-review.googlesource.com/915942Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#51274}
      1e9504ba
    • Junliang Yan's avatar
      PPC/s390: [Ignition] [TurboFan] Generate speculation poison in code generator. · abac06aa
      Junliang Yan authored
      Port a021b6c4
      
      Original Commit Message:
      
          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.
      
      R=rmcilroy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=chromium:798964
      LOG=N
      
      Change-Id: I4b9a1b0865b6164171cf83f0e45c36c69ac08a18
      Reviewed-on: https://chromium-review.googlesource.com/914848Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#51273}
      abac06aa
    • 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