1. 26 Dec, 2018 1 commit
  2. 20 Dec, 2018 1 commit
  3. 14 Dec, 2018 1 commit
  4. 26 Nov, 2018 1 commit
  5. 23 Nov, 2018 1 commit
  6. 12 Nov, 2018 1 commit
  7. 24 Oct, 2018 1 commit
  8. 04 Jul, 2018 1 commit
  9. 11 Jun, 2018 1 commit
  10. 02 Nov, 2017 1 commit
  11. 26 Oct, 2017 1 commit
  12. 18 Oct, 2017 1 commit
  13. 13 Oct, 2017 1 commit
  14. 07 Sep, 2017 1 commit
  15. 05 Sep, 2017 1 commit
    • Juliana Franco's avatar
      Remove weak-list of optimized JS functions. · f0acede9
      Juliana Franco authored
      This CL removes the weak-list of JS functions from the context
      and all the code that iterares over it. This list was being used
      mainly during deoptimization (for code unlinking) and during
      garbage collection. Removing it will improve performance of
      programs that create many closures and trigger many scavenge GC
      cycles.
      
      No extra work is required during garbage collection. However,
      given that we no longer unlink code from JS functions during
      deoptimization, we leave it as it is, and on its next activation
      we check whether the mark_for_deoptimization bit of that code is
      set, and if it is, than we unlink it and jump to lazy compiled
      code. This check happens in the prologue of every code object.
       
      We needed to change/remove the cctests that used to check
      something on this list.
       
      Working in x64, ia32, arm64, arm, mips64 and mips. 
       
      
      Bug: v8:6637
      Change-Id: Ica99a12fd0351ae985e9a287918bf28caf6d2e24
      TBR: mstarzinger@chromium.org
      Reviewed-on: https://chromium-review.googlesource.com/647596
      Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47808}
      f0acede9
  16. 04 Sep, 2017 2 commits
    • Michael Achenbach's avatar
      Revert "Remove weak-list of optimized JS functions." · 36b50283
      Michael Achenbach authored
      This reverts commit 84c2dfce.
      
      Reason for revert:
      https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/14876
      
      Original change's description:
      > Remove weak-list of optimized JS functions.
      > 
      > This CL removes the weak-list of JS functions from the context
      > and all the code that iterares over it. This list was being used
      > mainly during deoptimization (for code unlinking) and during
      > garbage collection. Removing it will improve performance of
      > programs that create many closures and trigger many scavenge GC
      > cycles.
      > 
      > No extra work is required during garbage collection. However,
      > given that we no longer unlink code from JS functions during
      > deoptimization, we leave it as it is, and on its next activation
      > we check whether the mark_for_deoptimization bit of that code is
      > set, and if it is, than we unlink it and jump to lazy compiled
      > code. This check happens in the prologue of every code object.
      > 
      > We needed to change/remove the cctests that used to check
      > something on this list.
      > 
      > Working in x64, ia32, arm64, arm, mips64 and mips. 
      > 
      > Bug: v8:6637
      > Change-Id: I7f192652c8034b16a9ea71303fa8e78cda3c48f3
      > Reviewed-on: https://chromium-review.googlesource.com/600427
      > Commit-Queue: Juliana Patricia Vicente Franco <jupvfranco@google.com>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
      > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#47790}
      
      TBR=mstarzinger@chromium.org,jarin@chromium.org,leszeks@chromium.org,bmeurer@chromium.org,jupvfranco@google.com
      
      Change-Id: Ia4f1a8acf6ca5cd5c74266437a03d854b3739af2
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6637
      Reviewed-on: https://chromium-review.googlesource.com/647540Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47792}
      36b50283
    • Juliana Franco's avatar
      Remove weak-list of optimized JS functions. · 84c2dfce
      Juliana Franco authored
      This CL removes the weak-list of JS functions from the context
      and all the code that iterares over it. This list was being used
      mainly during deoptimization (for code unlinking) and during
      garbage collection. Removing it will improve performance of
      programs that create many closures and trigger many scavenge GC
      cycles.
      
      No extra work is required during garbage collection. However,
      given that we no longer unlink code from JS functions during
      deoptimization, we leave it as it is, and on its next activation
      we check whether the mark_for_deoptimization bit of that code is
      set, and if it is, than we unlink it and jump to lazy compiled
      code. This check happens in the prologue of every code object.
      
      We needed to change/remove the cctests that used to check
      something on this list.
      
      Working in x64, ia32, arm64, arm, mips64 and mips. 
      
      Bug: v8:6637
      Change-Id: I7f192652c8034b16a9ea71303fa8e78cda3c48f3
      Reviewed-on: https://chromium-review.googlesource.com/600427
      Commit-Queue: Juliana Patricia Vicente Franco <jupvfranco@google.com>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#47790}
      84c2dfce
  17. 01 Aug, 2017 1 commit
  18. 29 Jun, 2017 1 commit
  19. 26 Jun, 2017 1 commit
    • hans's avatar
      Make some functions that are hit during renderer startup available for inlining · 777da354
      hans authored
      This is towards closing the perf gap between the MSVC build (which uses link-
      time optimization) and Clang (where LTO isn't ready on Windows yet). We did
      a study (see bug) to see which non-inlined functions are hit a lot during render
      start-up, and which would be inlined during LTO. This should benefit performance
      in all builds which currently don't use LTO (Android, Linux, Mac) as well as
      the Win/Clang build.
      
      The binary size of chrome_child.dll increases by 2KB with this.
      
      BUG=chromium:728324
      CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
      
      Review-Url: https://codereview.chromium.org/2950993002
      Cr-Commit-Position: refs/heads/master@{#46229}
      777da354
  20. 25 Jun, 2017 1 commit
  21. 23 Jun, 2017 1 commit
    • hans's avatar
      Make some functions that are hit during renderer startup available for inlining · d00d52be
      hans authored
      This is towards closing the perf gap between the MSVC build (which uses link-
      time optimization) and Clang (where LTO isn't ready on Windows yet). We did
      a study (see bug) to see which non-inlined functions are hit a lot during render
      start-up, and which would be inlined during LTO. This should benefit performance
      in all builds which currently don't use LTO (Android, Linux, Mac) as well as
      the Win/Clang build.
      
      The binary size of chrome_child.dll increases by 2KB with this.
      
      BUG=chromium:728324
      
      Review-Url: https://codereview.chromium.org/2950993002
      Cr-Commit-Position: refs/heads/master@{#46191}
      d00d52be
  22. 20 Jun, 2017 1 commit
  23. 29 May, 2017 1 commit
  24. 22 May, 2017 1 commit
  25. 27 Apr, 2017 1 commit
    • ulan's avatar
      [heap] Introduce HeapVisitor interface. · 8ff8d674
      ulan authored
      HeapVisitor is similar to StaticVisitor but uses virtual dispatch
      instead of static function table. It is intended as replacement
      of StaticVisitor using the CRTP.
      
      This CL also changes the concurrent marker to use the HeapVisitor.
      
      BUG=chromium:709075
      
      Review-Url: https://codereview.chromium.org/2808093003
      Cr-Commit-Position: refs/heads/master@{#44948}
      8ff8d674
  26. 07 Apr, 2017 1 commit
  27. 06 Apr, 2017 1 commit
  28. 29 Mar, 2017 2 commits
    • Caitlin Potter's avatar
      [async-iteration] implement AsyncGenerator · bf463c4d
      Caitlin Potter authored
      - Introduce new struct AsyncGeneratorRequest, which holds
        information pertinent to resuming execution of an
        AsyncGenerator, such as the Promise associated with the async
        generator request. It is intended to be used as a singly
        linked list, and holds a pointer to the next item in te queue.
      
      - Introduce JSAsyncGeneratorObject (subclass of
        JSGeneratorObject), which includes several new internal fields
        (`queue` which contains a singly linked list of
        AsyncGeneratorRequest objects, and `await_input` which
        contains the sent value from an Await expression (This is
        necessary to prevent function.sent (used by yield*) from
        having the sent value observably overwritten during
        execution).
      
      - Modify SuspendGenerator to accept a set of Flags, which
        indicate whether the suspend is for a Yield or Await, and
        whether it takes place on an async generator or ES6
        generator.
      
      - Introduce interpreter intrinsics and TF intrinsic lowering for
        accessing the await input of an async generator
      
      - Modify the JSGeneratorStore operator to understand whether or
        not it's suspending for a normal yield, or an AsyncGenerator
        Await. This ensures appropriate registers are stored.
      
      - Add versions of ResumeGeneratorTrampoline which store the
        input value in a different field depending on wether it's an
        AsyncGenerator Await resume, or an ordinary resume. Also modifies
        whether debug code will assert that the generator object is a
        JSGeneratorObject or a JSAsyncGeneratorObject depending on the
        resume type.
      
      BUG=v8:5855
      R=bmeurer@chromium.org, rmcilroy@chromium.org, jgruber@chromium.org,
      littledan@chromium.org, neis@chromium.org
      TBR=marja@chromium.org
      
      Change-Id: I9d58df1d344465fc937fe7eed322424204497187
      Reviewed-on: https://chromium-review.googlesource.com/446961
      Commit-Queue: Caitlin Potter <caitp@igalia.com>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#44240}
      bf463c4d
    • ulan's avatar
      [heap] Remove size specializations in static object visitors. · dbb1cbe3
      ulan authored
      Apart from that this patch adds kVisitJSObjectFast for JSObjects that
      do not have any unboxed double fields and can be visited without
      run-time layout check.
      
      BUG=chromium:694255
      
      Review-Url: https://codereview.chromium.org/2763413007
      Cr-Commit-Position: refs/heads/master@{#44237}
      dbb1cbe3
  29. 24 Feb, 2017 1 commit
  30. 23 Feb, 2017 1 commit
  31. 14 Feb, 2017 1 commit
  32. 13 Feb, 2017 4 commits
  33. 19 Jan, 2017 1 commit
  34. 12 Jan, 2017 1 commit
  35. 11 Jan, 2017 1 commit