1. 04 Jul, 2012 1 commit
  2. 05 Jun, 2012 1 commit
  3. 24 May, 2012 1 commit
    • svenpanne@chromium.org's avatar
      Re-land: Use map transitions when defining accessor properties. · ff216c9c
      svenpanne@chromium.org authored
      This is basically r11496, with the following changes:
      
       * Set back pointers in maps (cherry-picked from r11528)
      
       * Fixed size calculation in CopyInsert, as proposed by mstarzinger/rossberg
      
       * DefineFastAccessor uses GetCallbackObject instead of GetValue (for __proto__)
      
       * Put the code under a new flag, which is disabled by default
      
       * Cut down the corresponding regression test
      
       * Adapted bootup memory test, we actually only need a bit more memory on 64bit without snapshots, which can easily explained by more live maps lying around. Note that the snapshot variants are back to their previous limits.
      
      Next steps: Investigate any performance degradationswith the flag enabled, and finally remove the flag when things are OK. Furthermore, GetCallbackObject should be merged into GetValue, the distinction is confusing and error-prone.
      
      Review URL: https://chromiumcodereview.appspot.com/10445009
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      ff216c9c
  4. 16 May, 2012 1 commit
  5. 03 May, 2012 1 commit
    • svenpanne@chromium.org's avatar
      Use map transitions when defining accessor properties. · 065cc144
      svenpanne@chromium.org authored
      AccessorPairs can now contain map transitions, which is similar to our current
      handling of CONSTANT_FUNCTION/CONSTANT_TRANSITION, but generalized to a pair for
      holding info about the getter and the setter. This way we can achieve map
      sharing for objects with accessor properties, which is a prerequisite for making
      them fast via inlining. We fall back to the previous way of handling accessor
      properties when sharing is not possible or we don't handle a special case.
      
      Note: When an exisiting accessor property is redefined we could in principle
      move the AccessorPair out of the descriptor into the object itself (again just
      like the way we do something similar for CONSTANT_FUNCTION/CONSTANT_TRANSITION),
      but this would require a new property kind for holding a pair of values. Perhaps
      we can implement this later, but for now this hopefully rare case is handled
      like before, losing map sharing and potentially creating more maps than strictly
      necessary.
      
      Review URL: https://chromiumcodereview.appspot.com/10238005
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      065cc144