1. 20 Aug, 2015 2 commits
  2. 01 Jun, 2015 1 commit
  3. 27 Mar, 2015 1 commit
  4. 04 Mar, 2015 1 commit
    • vogelheim's avatar
      Fix Initialize & Dispose for external snapshot. Make sure... · 2525e8f4
      vogelheim authored
      Fix Initialize & Dispose for external snapshot. Make sure v8::V8::(Initialize|Dispose) can be called in any order.
      
      This is a follow-on to crrev.com/960883003, which fixed a memory leak in this code, but uncovered another, more subtle bug:
      
      Previously, the code expected you would v8::V8::Initialize once, and v8::V8::Dispose once. The first bug was that in this case the holder_ variable would point to deallocated memory. The second bug was that once the snapshot was disposed, there was no way to get it back on a future Initialize. These are uncovered by the InitializeAndDisposeMultiple test case.
      
      The fix is to keep memory to the raw snapshot and to then cleanly build & destroy the tables in Initialize & Dispose. Since sometimes setNativesBlob is called just after Initialize, that situation must be handled, too.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/974943003
      
      Cr-Commit-Position: refs/heads/master@{#26978}
      2525e8f4
  5. 26 Feb, 2015 1 commit
  6. 25 Feb, 2015 1 commit
  7. 10 Dec, 2014 1 commit
  8. 09 Dec, 2014 2 commits
  9. 05 Dec, 2014 1 commit
  10. 04 Dec, 2014 2 commits
  11. 25 Sep, 2014 1 commit
  12. 03 Jun, 2014 1 commit
  13. 29 Apr, 2014 1 commit
  14. 12 Jun, 2013 1 commit
  15. 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
  16. 29 Apr, 2011 1 commit
  17. 23 Mar, 2010 1 commit
  18. 25 May, 2009 1 commit
  19. 26 Jan, 2009 1 commit
  20. 09 Sep, 2008 1 commit
  21. 25 Jul, 2008 1 commit
    • kasper.lund's avatar
      Fixed bug in JSObject::GetPropertyAttributePostInterceptor where map... · 44510671
      kasper.lund authored
      Fixed bug in JSObject::GetPropertyAttributePostInterceptor where map transitions would count as properties.
      
      Allowed aliased eval invocations by treating them as evals in the global context. This may change in the future.
      
      Added support for accessing the last entered context through the API and renamed Context::Current to Context::GetCurrent and Context::GetSecurityContext to Context::GetCurrentSecurityContext.
      
      Fixed bug in the debugger that would cause the debugger scripts to be recursively loaded and changed all disabling of interrupts to be block-structured.
      
      Made snapshot data read-only to allow it to be more easily shared across multiple users of V8 when linked as a shared library.
      
      
      git-svn-id: http://v8.googlecode.com/svn/trunk@6 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      44510671
  22. 03 Jul, 2008 1 commit