1. 03 Dec, 2020 3 commits
  2. 02 Dec, 2020 31 commits
  3. 01 Dec, 2020 6 commits
    • Andreas Haas's avatar
      Reland [wasm] Reduce job priority once baseline compilation finishes · 83d289b8
      Andreas Haas authored
      ReduceCompilationPriority takes a lock now.
      
      Original message:
      This Cl changes the priority of baseline compilation from kUserVisible
      to kUserBlocking. Once baseline compilation finishes, the priority is
      reduced to kUserVisible. The reason for using kUserBlocking is that
      thereby TurboFan compilation cannot block Liftoff compilation anymore.
      Additionally, kUserBlocking is quite appropriate, as the initial
      compilation does block a whole section of a web app from execution.
      
      R=clemensb@chromium.org
      
      Bug: v8:11088
      Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
      Change-Id: I6e1bcc809148198a4b4f88bfd4f2e62b1b061439
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563675
      Commit-Queue: Andreas Haas <ahaas@chromium.org>
      Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71546}
      83d289b8
    • Ross McIlroy's avatar
      [Turboprop] Move deoptimizations for dynamic map checks into builtin. · b6643320
      Ross McIlroy authored
      In order to reduce the codegen size of dynamic map checks, add the
      ability to have an eager with resume deopt point, which can call
      a given builitin to perform a more detailed check than can be done
      in codegen, and then either deoptimizes itself (as if the calling
      code had performed an eager deopt) or resumes execution in the
      calling code after the check.
      
      In addition, support for adding extra arguments to a
      deoptimization continuation is added to enable us to pass the
      necessary arguments to the DynamicMapChecks builtin.
      
      Finally, a trampoline is added to the DynamicMapChecks which saves
      the registers that might be clobbered by that builtin, to avoid
      having to save them in the generated code. This trampoline also
      performs the deoptimization based on the result of the
      DynamicMapChecks builtin.
      
      In order to ensure both the trampoline and DynamicMapChecks
      builtin have the same call interface, and to limit the number
      of registers that need saving in the trampoline, the
      DynamicMapChecks builtin is moved to be a CSA builtin with a
      custom CallInterfaceDescriptor, that calls an exported Torque
      macro that implements the actual functionality.
      
      All told, this changes the codegen for a monomorphic dynamic
      map check from:
          movl rbx,<expected_map>
          cmpl [<object>-0x1],rbx
          jnz <deferred_call>
         resume_point:
          ...
         deferred_call:
          <spill registers>
          movl rax,<slot>
          movq rbx,<object>
          movq rcx,<handler>
          movq r10,<DynamicMapChecks>
          call r10
          cmpq rax,0x0
          jz <restore_regs>
          cmpq rax,0x1
          jz <deopt_point_1>
          cmpq rax,0x2
          jz <deopt_point_2>
          int3l
         restore_regs:
          <restore_regs>
          jmp <resume_point>
          ...
         deopt_point_1:
          call Deoptimization_Eager
         deopt_point_2:
          call Deoptimization_Bailout
      
      To: movl rax,<slot>
          movl rcx,<expected_map>
          movq rdx,<handler>
          cmpl [<object>-0x1],rcx
          jnz <deopt_point>
         resume_point:
          ...
         deopt_point:
          call DynamicMapChecksTrampoline
          jmp <resume_point>
      
      BUG=v8:10582
      
      Change-Id: Ica4927b9acc963b9b73dc62d9379a7815335650f
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2560197
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71545}
      b6643320
    • Michael Achenbach's avatar
      [tools] Clean up insensitive terms · 60f45db4
      Michael Achenbach authored
      Follow up on renamed configurations, porting:
      https://crrev.com/c/2565170
      
      TBR=gsathya@chromium.org
      
      Bug: v8:10619,chromium:1097270
      Change-Id: Ibfeb6ee817642b16d79e673b2d91d4142a2b6cd4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2566761Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71544}
      60f45db4
    • Milad Fa's avatar
      PPC: [wasm-simd] Load specific amount of data for LoadTransform · 2b39e305
      Milad Fa authored
      In this CL we fix the emitted code for Load Splat and Load Extend.
      Load Splat loads a byte, half word, word or double word based
      on the specific opcode.
      
      Load Extend always loads a double word and then unpacks it
      accordingly.
      
      Change-Id: Ic1619c81a58f4997d69612f08edb6975d17e8bb3
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2568132Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
      Commit-Queue: Milad Fa <mfarazma@redhat.com>
      Cr-Commit-Position: refs/heads/master@{#71543}
      2b39e305
    • v8-ci-autoroll-builder's avatar
      Update V8 DEPS. · a90fdd2c
      v8-ci-autoroll-builder authored
      Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4fd0dec..b031112
      
      TBR=machenbach@chromium.org,tmrts@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com
      
      Change-Id: Ic9a9082919cc7de8c816c33dcc62d219440a342c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567562Reviewed-by: 's avatarv8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
      Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#71542}
      a90fdd2c
    • Camillo Bruni's avatar
      [tools] Extend optimizations markers · c0f72de7
      Camillo Bruni authored
      This CL extends the existing optimization markers:
      
      - "~" for interpreted code
      - "-" for native context independent code (new)
      - "+" for turboprop code (new)
      - "*" for turbofan code
      
      Bug: v8:10644
      Change-Id: If8940a8c3f32c6f347f61a901be101078df66331
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2567693
      Commit-Queue: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71541}
      c0f72de7