1. 28 Mar, 2013 1 commit
  2. 11 Mar, 2013 1 commit
  3. 22 Oct, 2012 1 commit
  4. 14 Sep, 2012 1 commit
    • erik.corry@gmail.com's avatar
      Refactoring of snapshots. This simplifies and improves · 5a8d1764
      erik.corry@gmail.com authored
      the speed of deserializing code.  The current startup
      time improvement for V8 is around 6%, but code deserialization
      is speeded up disproportionately, and we will soon have more
      code in the snapshot.
      * Removed support for deserializing into large object space.
        The regular pages are 1Mbyte now and that is plenty.  This
        is a big simplification.
      * Instead of reserving space for the snapshot we actually
        allocate it now.  This removes some special casing from
        the memory management and simplifies deserialization since
        we are just bumping a pointer rather than calling the
        normal allocation routines during deserialization.
      * Record in the snapshot how much we need to boot up and
        allocate it instead of just assuming that allocations in
        a new VM will always be linear.
      * In the snapshot we always address an object as a negative
        offset from the current allocation point.  We used to
        sometimes address from the start of the deserialized data,
        but this is less useful now that we have good support for
        roots and repetitions in the deserialization data.
      * Code objects were previously deserialized (like other
        objects) by alternating raw data (deserialized with memcpy)
        and pointers (to external references, other objects, etc.).
        Now we deserialize code objects with a single memcpy,
        followed by a series of skips and pointers that partially
        overwrite the code we memcopied out of the snapshot.
        The skips are sometimes merged into the following
        instruction in the deserialization data to reduce dispatch
        time.
      * Integers in the snapshot were stored in a variable length
        format that gives a compact representation for small positive
        integers.  This is still the case, but the new encoding can
        be decoded without branches or conditional instructions,
        which is faster on a modern CPU.
      Review URL: https://chromiumcodereview.appspot.com/10918067
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      5a8d1764
  5. 25 Apr, 2012 2 commits
  6. 02 Apr, 2012 1 commit
  7. 23 Feb, 2012 1 commit
  8. 31 Jan, 2012 2 commits
  9. 30 Jan, 2012 2 commits
  10. 18 Jan, 2012 1 commit
  11. 17 Jan, 2012 3 commits
  12. 16 Jan, 2012 1 commit
  13. 09 Nov, 2011 1 commit
  14. 13 Oct, 2011 1 commit
  15. 22 Sep, 2011 1 commit
  16. 19 Sep, 2011 1 commit
  17. 06 Sep, 2011 1 commit
  18. 25 Aug, 2011 2 commits
  19. 11 Jul, 2011 1 commit
  20. 22 Mar, 2011 1 commit
  21. 18 Mar, 2011 3 commits
  22. 15 Dec, 2010 1 commit
  23. 08 Dec, 2010 1 commit
  24. 07 Dec, 2010 3 commits
  25. 25 Oct, 2010 1 commit
  26. 19 Oct, 2010 1 commit
  27. 18 Oct, 2010 1 commit
  28. 01 Sep, 2010 1 commit
  29. 18 Aug, 2010 2 commits