1. 25 Feb, 2020 1 commit
    • Mythri A's avatar
      Set bytecode budget to interrupt_budget when allocating feedback vector · 443721bd
      Mythri A authored
      We use the same interrupt to both allocate feedback vectors and
      for updating the profiler ticks. If there is a feedback vector already
      available, we just increment the profiler ticks that we use to mark
      for optimizing function. Calling JSFunction::EnsureFeedbackVector
      allocates a feedback vector, but doesn't reset the budget, so we
      optimize much earlier than expected. This is currently only a problem
      with %PrepareFunctionForOptimize that doesn't reset the budget. Other
      code paths do also reset the interrupt budget.
      
      Bug: chromium:10243
      Change-Id: I611a9202e5e71077bf897def5959bcfe11b8fdf4
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2064980
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#66426}
      443721bd
  2. 20 Jan, 2020 1 commit
    • Mythri A's avatar
      Only flush feedback vector on bytecode flush · 92df7d10
      Mythri A authored
      When bytecode is flushed we also want to flush the feedback vectors to
      save memory. There was a bug in this code and we flushed
      ClosureFeedbackCellArray too. Flushing ClosureFeedbackCellArrays causes
      the closures created by this function before and after the bytecode
      flush to have different feedback cells and hence different feedback
      vectors. This cl fixes it so we only flush feedback vectors on a
      bytecode flush.
      
      Also this cl pretenures ClosureFeedbackCellArrays. Only FeedbackCells
      and FeedbackVectors can contain ClosureFeedbackCellArrays which are
      pretenured, so it is better to pretenure ClosureFeedbackCellArrays as
      well.
      
      
      Bug: chromium:1031479
      Change-Id: I7831441a95420b9e5711f4143461f1eb7fa1616a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1980582
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#65866}
      92df7d10
  3. 07 Oct, 2019 1 commit
  4. 23 May, 2019 1 commit
  5. 08 May, 2019 1 commit
  6. 25 Apr, 2019 1 commit
  7. 10 Apr, 2019 3 commits
  8. 15 Feb, 2019 1 commit
  9. 09 Jan, 2019 1 commit
  10. 20 Dec, 2018 1 commit
  11. 18 Dec, 2018 1 commit
  12. 17 Dec, 2018 1 commit
  13. 14 Dec, 2018 1 commit
  14. 05 Nov, 2018 1 commit
  15. 14 Sep, 2018 3 commits
  16. 04 Sep, 2018 1 commit
  17. 29 Aug, 2018 1 commit
  18. 27 Aug, 2018 1 commit
    • Sathya Gunasekaran's avatar
      [Intl] Correctly pass usage option to Collator · 59c03fef
      Sathya Gunasekaran authored
      The spec specifies that search and standard can not be valid values
      for the collation extension keyword. Instead users are expected to use
      the options bag to set the correct usage options.
      
      But, ICU expects the usage option to be set through the collation
      extension value.
      
      In this patch, we set the usage option using the collation extension
      value in ICU. For resolvedOptions, we filter out this extension value
      using ICU to be spec compatible.
      
      Previously, we stored the usage option on the JSCollator instance. But
      this patch changes the logic to just look it up from the icu::Collator
      when required. This saves one word of memory.
      
      This fails a test262 that was incorrectly fixed. A follow on patch
      will fix the test262 test.
      
      Bug: v8:5751
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: I8c66c6286287e686f4cd152fa1301f9d51c38654
      Reviewed-on: https://chromium-review.googlesource.com/1180488Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#55437}
      59c03fef
  19. 14 Aug, 2018 1 commit
  20. 08 Aug, 2018 1 commit
    • Sathya Gunasekaran's avatar
      [Intl] Optimize Intl.Collator · 363fe1eb
      Sathya Gunasekaran authored
      This patch ports most of the Intl.Collator from JS to C++.
      
      The Intl.Collator object no longer stores all the resolved
      values. Instead these are looked up on demand as part of
      Intl.Collator.prototype.resolvedOptions(), saving several words. In
      the future, we can cache the result of the resolvedOptions as well.
      
      In this patch, we use ICU to do parsing of the unicode extension in
      the bcp47 language tag instead of using a custom extension parser.
      
      This patch also fixes several spec compliance bugs as well.
      
      Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
      Change-Id: Iaaa7be4a628404da1bd83d882e04a2c6de70ebd9
      Bug: v8:5751, v8:7480
      Reviewed-on: https://chromium-review.googlesource.com/1165084
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#54965}
      363fe1eb