1. 22 Aug, 2019 1 commit
    • Sigurd Schneider's avatar
      [testing] Prevent heuristics from triggering optimization in tests · 6d9b7988
      Sigurd Schneider authored
      This CL adds a mechanism that prevents the RuntimeProfiler from
      triggering optimization of a function after
      %PrepareFunctionForOptimization has been called. This is useful to
      prevent flakiness in tests, as sometimes a function that already
      got deoptimized would receive a new code object from a concurrent
      compile that was triggered by a heuristic just in the right moment
      for the assertUnoptimized test to fail. For example, the following
      was happening:
      
      PrepareFunctionForOptimization
      [marking `testAdd` for optimized recompilation, reason: small function]
      [concurrently compiling method `testAdd` using TurboFan]
      [manually marking `testAdd` for non-concurrent optimization]
      [synchonously compiling method `testAdd` using TurboFan]
      [synchonously optimizing `testAdd` produced code object 0xAAAA - took 1.638 ms]
      Runtime_GetOptimizationStatus OPTIMIZED `testAdd` (code object 0xAAAA)
      DeoptimizeFunction `testAdd` with Code Object 0xAAAA
      [concurrently optimizing `testAdd` produced code object 0xBBBB - took 3.377 ms]
      Runtime_GetOptimizationStatus OPTIMIZED `testAdd` (code object 0xBBBB)
      
      Bug: v8:9563
      Change-Id: Ia4c846aba95281589317d43b82383e70fe0a35f5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1763546Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63343}
      6d9b7988
  2. 08 Aug, 2019 1 commit
    • Mythri A's avatar
      Reset optimization markers on OSR if function has insufficient feedback · 7c0e2003
      Mythri A authored
      With lazy feedback allocation, we don't have feedback vectors when function
      starts executing. If we mark the function on the first execution we would
      be missing feedback for the initial part of the function and hence the
      optimized code will not be useful.
      
      This cl resets the optimization markers on OSR if the invocation count of
      the function is less than 1. We may still do wasted optimizations if the
      function is hot enough for optimizing but not for OSRing. In the long term
      we may want to fix it differently. This fix covers the most common cases
      in benchmarks.
      
      Bug: chromium:987523
      Change-Id: I1cfe82e6b9f95278b77c99b77d4b981828b5c0ab
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1739373
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#63124}
      7c0e2003
  3. 08 May, 2019 1 commit
  4. 03 May, 2019 2 commits
  5. 11 Apr, 2019 1 commit
  6. 25 Mar, 2019 1 commit
  7. 07 Jan, 2019 1 commit
  8. 27 Oct, 2016 1 commit
  9. 21 Apr, 2016 1 commit
  10. 05 Feb, 2016 1 commit
  11. 15 Jan, 2016 1 commit
  12. 24 Jun, 2014 1 commit
  13. 04 Jun, 2014 1 commit
  14. 03 Apr, 2014 1 commit
  15. 31 Mar, 2014 1 commit
  16. 28 Feb, 2014 3 commits
  17. 25 Feb, 2014 1 commit
  18. 20 Feb, 2014 1 commit
  19. 14 Feb, 2014 1 commit