1. 12 Apr, 2016 1 commit
    • hlopko's avatar
      Use EmbedderHeapTracer instead of object grouping when embedder sets the heap tracer. · 6d1f7282
      hlopko authored
      When the embedder sets the heap tracer, V8, during marking, will collect all reachable wrappers, and then ask embedder to trace its heap. The embedder is expected to call PersistentBase::RegisterExternalReference with all wrappers reachable from the given ones. This fixed point iteration happens in MarkCompact::ProcessEphemeralMarking.
      
      For more efficient object visiting during marking, we need a special JS_API_OBJECT_TYPE (in tandem with already existing JS_SPECIAL_API_OBJECT_TYPE) and corresponding visitor (JSApiObjectVisitor).
      
      BUG=chromium:468240
      LOG=no
      
      Review URL: https://codereview.chromium.org/1844413002
      
      Cr-Commit-Position: refs/heads/master@{#35412}
      6d1f7282
  2. 09 Dec, 2015 1 commit
  3. 08 Dec, 2015 1 commit
    • ulan's avatar
      Optimize clearing of map transitions. · 8c376b46
      ulan authored
      Instead of iterating the whole map space to find dead transitions,
      look in weak cell list and transition array list.
      
      Simple transitions are in the weak cell list.
      
      Full transitions are in the transitions array list.
      
      BUG=chromium:554488
      LOG=NO
      
      Review URL: https://codereview.chromium.org/1488593003
      
      Cr-Commit-Position: refs/heads/master@{#32684}
      8c376b46
  4. 07 Dec, 2015 1 commit
    • mstarzinger's avatar
      [heap] Make link from optimized code to inlined code explicit. · 0738f53d
      mstarzinger authored
      This makes the strong link from optimized code to code objects for all
      inlined functions explicit. It adds direct references to code objects
      into deoptimization data as literals. Note that this is not necessarily
      the code that will be deoptimized to, because the code on the shared
      function info might be replaced by other components (e.g. debugger).
      Those replacement code objects however are all non-flushable, marking
      explicit strong links for reachability unnecessary.
      
      R=hpayer@chromium.org
      
      Review URL: https://codereview.chromium.org/1490233009
      
      Cr-Commit-Position: refs/heads/master@{#32654}
      0738f53d
  5. 04 Dec, 2015 1 commit
  6. 03 Dec, 2015 3 commits
  7. 30 Nov, 2015 2 commits
  8. 26 Nov, 2015 1 commit
  9. 13 Nov, 2015 1 commit
    • ishell's avatar
      Object's body descriptors refactoring. · 138eb324
      ishell authored
      1) Body descriptors moved to their own header files.
      2) Missing body descriptors added.
      3) Template versions of HeapObject::Iterate*() methods added.
      4) Body descriptors support new kind of queries: IsValidSlot(offset) which can be used for invalid slots filtering.
      
      This is a first step towards virtual and static visitors unification and support in-object properties in built-in (sub-)classes.
      
      Review URL: https://codereview.chromium.org/1440243002
      
      Cr-Commit-Position: refs/heads/master@{#31980}
      138eb324
  10. 10 Nov, 2015 1 commit
  11. 06 Nov, 2015 1 commit
  12. 05 Nov, 2015 1 commit
  13. 22 Oct, 2015 1 commit
  14. 30 Sep, 2015 1 commit
  15. 14 Sep, 2015 1 commit
  16. 27 Aug, 2015 1 commit
    • rmcilroy's avatar
      [interpreter] Add constant_pool() to BytecodeArray. · 69ce0f4d
      rmcilroy authored
      Adds a (currently unused) constant_pool() field to BytecodeArray objects.
      This field points to a FixedArray object which will be used to hold constants.
      
      The BytecodeArray is now a mixed values object type, with the
      kConstantPoolOffset object holding a tagged pointer, but the remainder of the
      object holding raw bytes (which could look like tagged pointers but are not).
      Modify the BytecodeArray GC visitors to deal with this and test that the
      field is migrated properly when evacuated.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1314953004
      
      Cr-Commit-Position: refs/heads/master@{#30404}
      69ce0f4d
  17. 18 Aug, 2015 1 commit
  18. 17 Aug, 2015 1 commit
  19. 14 Aug, 2015 1 commit
  20. 04 Aug, 2015 1 commit
  21. 24 Jul, 2015 1 commit
  22. 22 Jul, 2015 1 commit
    • mstarzinger's avatar
      [turbofan] Preserve cached code across GCs. · 2c07b0d0
      mstarzinger authored
      This preserves the context-independent entry in an optimized code map
      across GCs when the code is considered young (i.e. less than 3 ages).
      Note that any context-dependent entry for the same code will still be
      flushed immediately when the respective context dies, hence context
      lifetime is not increased.
      
      R=hpayer@chromium.org
      
      Review URL: https://codereview.chromium.org/1252463002
      
      Cr-Commit-Position: refs/heads/master@{#29790}
      2c07b0d0
  23. 18 Jun, 2015 1 commit
  24. 17 Jun, 2015 1 commit
  25. 04 Jun, 2015 1 commit
    • mbrandy's avatar
      Add support for Embedded Constant Pools for PPC and Arm · eac7f046
      mbrandy authored
      Embed constant pools within their corresponding Code
      objects.
      
      This removes support for out-of-line constant pools in favor
      of the new approach -- the main advantage being that it
      eliminates the need to allocate and manage separate constant
      pool array objects.
      
      Currently supported on PPC and ARM.  Enabled by default on
      PPC only.
      
      This yields a 6% improvment in Octane on PPC64.
      
      R=bmeurer@chromium.org, rmcilroy@chromium.org, michael_dawson@ca.ibm.com
      BUG=chromium:478811
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1162993006
      
      Cr-Commit-Position: refs/heads/master@{#28801}
      eac7f046
  26. 03 Jun, 2015 1 commit
  27. 02 Jun, 2015 1 commit
    • mbrandy's avatar
      Add support for Embedded Constant Pools for PPC and Arm · a9404029
      mbrandy authored
      Embed constant pools within their corresponding Code
      objects.
      
      This removes support for out-of-line constant pools in favor
      of the new approach -- the main advantage being that it
      eliminates the need to allocate and manage separate constant
      pool array objects.
      
      Currently supported on PPC and ARM.  Enabled by default on
      PPC only.
      
      This yields a 6% improvment in Octane on PPC64.
      
      R=danno@chromium.org, svenpanne@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
      BUG=chromium:478811
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1131783003
      
      Cr-Commit-Position: refs/heads/master@{#28770}
      a9404029
  28. 30 Apr, 2015 2 commits
  29. 29 Apr, 2015 1 commit
  30. 14 Apr, 2015 1 commit
  31. 18 Mar, 2015 1 commit
  32. 11 Mar, 2015 1 commit
  33. 16 Feb, 2015 1 commit
  34. 12 Feb, 2015 1 commit
  35. 22 Dec, 2014 1 commit
  36. 15 Dec, 2014 1 commit