1. 28 Apr, 2017 4 commits
  2. 25 Apr, 2017 2 commits
    • ulan's avatar
      Add a host parameter to ObjectVisitor methods. · c59f78f6
      ulan authored
      This makes an ObjectVisitor as powerful as a StaticVisitor and allows
      slots recording in ObjectVisitor.
      
      This patch also renames VisitCell method of ObjectVisitor to
      VisitCellPointer, so that VisitCell is free to be used for actually
      visiting a cell.
      
      BUG=chromium:709075
      
      Review-Url: https://codereview.chromium.org/2810653002
      Cr-Commit-Position: refs/heads/master@{#44860}
      c59f78f6
    • ulan's avatar
      Decouple root visitors from object visitors. · e671ed36
      ulan authored
      This patch adds a new interface called RootVisitor and changes the root
      iteration functions to accept a RootVisitor instead of an ObjectVisitor.
      
      Future CLs will change ObjectVisitor to provide the host object to all
      visiting functions, which will bring it in sync with static visitors.
      
      Having separate visitors for roots and objects removes ambiguity in
      VisitPointers and reduces chances of forgetting to record slots.
      
      This is intended as pure refactoring. All places that require behavior
      change are marked with TODO and will addressed in future CLs.
      
      BUG=chromium:709075
      
      Review-Url: https://codereview.chromium.org/2801073006
      Cr-Commit-Position: refs/heads/master@{#44852}
      e671ed36
  3. 07 Apr, 2017 4 commits
  4. 22 Mar, 2017 2 commits
  5. 17 Mar, 2017 2 commits
  6. 15 Mar, 2017 1 commit
  7. 02 Mar, 2017 1 commit
  8. 23 Feb, 2017 1 commit
  9. 17 Feb, 2017 1 commit
  10. 14 Feb, 2017 1 commit
  11. 13 Feb, 2017 4 commits
  12. 10 Feb, 2017 1 commit
  13. 09 Feb, 2017 1 commit
  14. 08 Feb, 2017 1 commit
    • yangguo's avatar
      Link type feedback vectors to the shared function info. · c78d7fa1
      yangguo authored
      Previously, both type feedback vector and the shared function info
      of a function points to the matching type feedback metadata. This
      makes finding the shared function info of a type feedback vector
      difficult.
      
      Instead, we now point the type feeback vector to the shared function
      info, and find the metadata through the shared function info.
      
      Also remove the obsolete empty type feedback vector.
      
      R=hpayer@chromium.org, mvstanton@chromium.org
      BUG=v8:5808
      
      Review-Url: https://codereview.chromium.org/2672363002
      Cr-Commit-Position: refs/heads/master@{#43026}
      c78d7fa1
  15. 07 Feb, 2017 1 commit
  16. 06 Feb, 2017 1 commit
    • mvstanton's avatar
      [TypeFeedbackVector] Root feedback vectors at function literal site. · aea3ce3d
      mvstanton authored
      TypeFeedbackVectors are strongly rooted by a closure. However, in modern
      JavaScript closures are created and abandoned more freely. An important
      closure may not be present in the root-set at time of garbage collection,
      even though we've cached optimized code and use it regularly. For
      example, consider leaf functions in an event dispatching system. They may
      well be "hot," but tragically non-present when we collect the heap.
      
      Until now, we've relied on a weak root to cache the feedback vector in
      this case. Since there is no way to signal intent or relative importance,
      this weak root is as susceptible to clearing as any other weak root at
      garbage collection time.
      
      Meanwhile, the feedback vector has become more important. All of our
      ICs store their data there. Literal and regex boilerplates are stored there.
      If we lose the vector, then we not only lose optimized code built from
      it, we also lose the very feedback which allowed us to create that optimized
      code. Therefore it's vital to express that dependency through the root
      set.
      
      This CL does this by creating a strong link to a feedback
      vector at the instantiation site of the function closure.
      This instantiation site is in the code and feedback vector
      of the outer closure.
      
      BUG=v8:5456
      
      Review-Url: https://codereview.chromium.org/2674593003
      Cr-Commit-Position: refs/heads/master@{#42953}
      aea3ce3d
  17. 04 Feb, 2017 1 commit
    • kozyatinskiy's avatar
      [inspector] fixed taskHeapSnapshot on pause · 39afa5af
      kozyatinskiy authored
      Blink uses access checks to be sure that objects from one context doesn't access objects in another. Heap profiler uses current context to call this checks, we need to be sure that current context is empty to allow heap profiler collect all objects without crash.
      
      BUG=chromium:661223
      R=alph@chromium.org,ulan@chromium.org
      
      Review-Url: https://codereview.chromium.org/2669393002
      Cr-Commit-Position: refs/heads/master@{#42939}
      39afa5af
  18. 30 Jan, 2017 1 commit
    • mvstanton's avatar
      [TypeFeedbackVector] Combine the literals array and the feedback vector. · 93f05b64
      mvstanton authored
      They have the same lifetime. It's a match!
      
      Both structures are native context dependent and dealt with (creation,
      clearing, gathering feedback) at the same time. By treating the spaces used
      for literal boilerplates as feedback vector slots, we no longer have to keep
      track of the materialized literal count elsewhere.
      
      A follow-on CL removes even more parser infrastructure related to this count.
      
      BUG=v8:5456
      
      Review-Url: https://codereview.chromium.org/2655853010
      Cr-Commit-Position: refs/heads/master@{#42771}
      93f05b64
  19. 27 Jan, 2017 1 commit
  20. 24 Jan, 2017 1 commit
  21. 19 Jan, 2017 2 commits
  22. 12 Jan, 2017 1 commit
  23. 11 Jan, 2017 2 commits
  24. 10 Jan, 2017 3 commits