1. 14 May, 2019 1 commit
  2. 10 May, 2019 1 commit
  3. 09 May, 2019 2 commits
  4. 07 May, 2019 1 commit
  5. 06 May, 2019 1 commit
  6. 29 Apr, 2019 3 commits
  7. 18 Apr, 2019 1 commit
  8. 08 Apr, 2019 1 commit
  9. 14 Mar, 2019 1 commit
  10. 12 Mar, 2019 1 commit
  11. 06 Mar, 2019 1 commit
    • Georg Neis's avatar
      [turbofan] Don't access heap in ReduceElementAccess · 4d39e342
      Georg Neis authored
      This CL builds on top of feedback preprocessing. It brokerizes
      all parts of element access reduction and disallows heap access there
      (except for debug tracing).
      
      To make this work without breaking tests (when concurrent inlining is
      enabled):
      - We don't inline functions that weren't serialized for compilation.
      - We don't optimize for constant typed-array receivers when the typed
        array wasn't serialized.
      
      This means that from now on --concurrent-inlining (and thus --future)
      may result in less optimization than the default configuration.
      
      Bug: v8:7790
      Change-Id: I22685258b7d841fc9183bf99775d3f09cd272927
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495556
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60061}
      4d39e342
  12. 19 Feb, 2019 1 commit
  13. 13 Feb, 2019 2 commits
  14. 22 Jan, 2019 1 commit
  15. 17 Jan, 2019 4 commits
  16. 14 Dec, 2018 1 commit
  17. 30 Nov, 2018 3 commits
    • Ross McIlroy's avatar
      Reland "[Compiler] Introduce IsCompiledScope which prevents flushing of compiled code" · e7ea6545
      Ross McIlroy authored
      This is a reland of 10ea3f8a
      
      Original change's description:
      > [Compiler] Introduce IsCompiledScope which prevents flushing of compiled code
      >
      > Introduces a IsCompiledScope object which can be used to check whether a
      > function is compiled, and ensure it remains compiled for the lifetime
      > of the scope without being uncompiled by bytecode flushing. The Compile
      > functions are modified to take a scope so that calling code can ensure
      > the function remains compiled for the lifetime they require.
      >
      > Also, don't allocate a feedback vector for asm-wasm code as this
      > is never used, and will be reallocated if the asm-wasm code fails to
      > instantiate the module and we fallback to regular JavaScript.
      >
      > Also restructure Compiler::PostInstantiation() to allocate the feedback
      > vector once, and do the optimized code check before optimizing for
      > always opt.
      >
      > BUG=v8:8395
      >
      > Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a
      > Reviewed-on: https://chromium-review.googlesource.com/c/1352295
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57971}
      
      TBR=jgruber@chromium.org,mstarzinger@chromium.org
      
      Bug: v8:8395
      Change-Id: I8dc00798a5680997990c879c3380fe4febd47297
      Reviewed-on: https://chromium-review.googlesource.com/c/1357045
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57982}
      e7ea6545
    • Ross McIlroy's avatar
      Revert "[Compiler] Introduce IsCompiledScope which prevents flushing of compiled code" · 07537cdb
      Ross McIlroy authored
      This reverts commit 10ea3f8a.
      
      Reason for revert: Causing failure on gc_stress bot: 
      https://logs.chromium.org/logs/v8/buildbucket/cr-buildbucket.appspot.com/8928421099411850688/+/steps/Bisect_10ea3f8a/0/steps/Retry/0/logs/collections-construct../0
      
      Original change's description:
      > [Compiler] Introduce IsCompiledScope which prevents flushing of compiled code
      > 
      > Introduces a IsCompiledScope object which can be used to check whether a
      > function is compiled, and ensure it remains compiled for the lifetime
      > of the scope without being uncompiled by bytecode flushing. The Compile
      > functions are modified to take a scope so that calling code can ensure
      > the function remains compiled for the lifetime they require.
      > 
      > Also, don't allocate a feedback vector for asm-wasm code as this
      > is never used, and will be reallocated if the asm-wasm code fails to
      > instantiate the module and we fallback to regular JavaScript.
      > 
      > Also restructure Compiler::PostInstantiation() to allocate the feedback
      > vector once, and do the optimized code check before optimizing for
      > always opt.
      > 
      > BUG=v8:8395
      > 
      > Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a
      > Reviewed-on: https://chromium-review.googlesource.com/c/1352295
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#57971}
      
      TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,jgruber@chromium.org
      
      Change-Id: I1449a02a0aceb9757440757628e586df33972a40
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8395
      Reviewed-on: https://chromium-review.googlesource.com/c/1357042Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57974}
      07537cdb
    • Ross McIlroy's avatar
      [Compiler] Introduce IsCompiledScope which prevents flushing of compiled code · 10ea3f8a
      Ross McIlroy authored
      Introduces a IsCompiledScope object which can be used to check whether a
      function is compiled, and ensure it remains compiled for the lifetime
      of the scope without being uncompiled by bytecode flushing. The Compile
      functions are modified to take a scope so that calling code can ensure
      the function remains compiled for the lifetime they require.
      
      Also, don't allocate a feedback vector for asm-wasm code as this
      is never used, and will be reallocated if the asm-wasm code fails to
      instantiate the module and we fallback to regular JavaScript.
      
      Also restructure Compiler::PostInstantiation() to allocate the feedback
      vector once, and do the optimized code check before optimizing for
      always opt.
      
      BUG=v8:8395
      
      Change-Id: I3f1a71143fcae3d1a0c01eefe91ebb4b8594221a
      Reviewed-on: https://chromium-review.googlesource.com/c/1352295Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#57971}
      10ea3f8a
  18. 23 Nov, 2018 1 commit
  19. 15 Nov, 2018 2 commits
  20. 17 Oct, 2018 1 commit
  21. 15 Oct, 2018 1 commit
  22. 12 Oct, 2018 1 commit
  23. 27 Sep, 2018 1 commit
  24. 15 Jun, 2018 1 commit
  25. 18 May, 2018 1 commit
  26. 05 Apr, 2018 1 commit
    • Peter Marshall's avatar
      Reland "[runtime] Remove the construct_stub field of the SFI" · b158bfdc
      Peter Marshall authored
      This is a reland of 63ecddc8
      
      Original change's description:
      > [runtime] Remove the construct_stub field of the SFI
      >
      > Don't dispatch based on the construct_stub field anymore. Rather than
      > read it out and jump to the construct stub, we can switch on the
      > builtin_id.
      >
      > Builtins will always have builtin_id as a Smi, so this signals we need
      > to jump to JSBuiltinsConstructStub. The only exception is for uncompiled
      > functions, which will have kCompileLazy as the builtin_id, but need to
      > jump to the generic stub instead.
      >
      > API function calls will have a FunctionTemplateInfo in the SFI
      > function_data field, and need to go to the builtins stub as well.
      >
      > The final case is everything else, which should go to the generic stub.
      >
      > Bug: v8:7503
      > Change-Id: I14790a5f9784dc0d940bf10a05f5310026e1d482
      > Reviewed-on: https://chromium-review.googlesource.com/980941
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52345}
      
      TBR=bmeurer@chromium.org
      
      Bug: v8:7503
      Change-Id: Ie46bfb0af173ad7ac8cbdfeed1865e60f3f413f7
      Reviewed-on: https://chromium-review.googlesource.com/997712Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52389}
      b158bfdc
  27. 04 Apr, 2018 3 commits
    • Ross McIlroy's avatar
      [Compiler] Split up Unoptimized/Optimized CompilationInfo and CompilationJobs · 3a0419a6
      Ross McIlroy authored
      With the Ignition + Turbofan pipeline there is very little overlap between the data
      needed for unoptimized compilation and optimized compilation. As a result, it is
      cleaner to split up the CompilationInfo into UnoptimizedCompilationInfo and
      OptimizedCompilationInfo.
      
      Doing so also necessitate splitting up CompilationJob into UnoptimizedCompilationJob
      and OptimizedCompilationJob - again there is not much overlap so this seems cleaner.
      
      Change-Id: I1056ad520937b7f8582e4fc3ca8f4910742de30a
      Reviewed-on: https://chromium-review.googlesource.com/995895
      Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52369}
      3a0419a6
    • Michael Achenbach's avatar
      Revert "[runtime] Remove the construct_stub field of the SFI" · f49a1a67
      Michael Achenbach authored
      This reverts commit 63ecddc8.
      
      Reason for revert:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20internal%20snapshot/builds/14773
      
      Original change's description:
      > [runtime] Remove the construct_stub field of the SFI
      > 
      > Don't dispatch based on the construct_stub field anymore. Rather than
      > read it out and jump to the construct stub, we can switch on the
      > builtin_id.
      > 
      > Builtins will always have builtin_id as a Smi, so this signals we need
      > to jump to JSBuiltinsConstructStub. The only exception is for uncompiled
      > functions, which will have kCompileLazy as the builtin_id, but need to
      > jump to the generic stub instead.
      > 
      > API function calls will have a FunctionTemplateInfo in the SFI
      > function_data field, and need to go to the builtins stub as well.
      > 
      > The final case is everything else, which should go to the generic stub.
      > 
      > Bug: v8:7503
      > Change-Id: I14790a5f9784dc0d940bf10a05f5310026e1d482
      > Reviewed-on: https://chromium-review.googlesource.com/980941
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#52345}
      
      TBR=petermarshall@chromium.org,leszeks@chromium.org,bmeurer@chromium.org
      
      Change-Id: I2031913ab5a12018ad932f920792aa1f6faa5e22
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7503
      Reviewed-on: https://chromium-review.googlesource.com/995293Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52346}
      f49a1a67
    • Peter Marshall's avatar
      [runtime] Remove the construct_stub field of the SFI · 63ecddc8
      Peter Marshall authored
      Don't dispatch based on the construct_stub field anymore. Rather than
      read it out and jump to the construct stub, we can switch on the
      builtin_id.
      
      Builtins will always have builtin_id as a Smi, so this signals we need
      to jump to JSBuiltinsConstructStub. The only exception is for uncompiled
      functions, which will have kCompileLazy as the builtin_id, but need to
      jump to the generic stub instead.
      
      API function calls will have a FunctionTemplateInfo in the SFI
      function_data field, and need to go to the builtins stub as well.
      
      The final case is everything else, which should go to the generic stub.
      
      Bug: v8:7503
      Change-Id: I14790a5f9784dc0d940bf10a05f5310026e1d482
      Reviewed-on: https://chromium-review.googlesource.com/980941Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Peter Marshall <petermarshall@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52345}
      63ecddc8
  28. 29 Mar, 2018 1 commit