1. 13 Nov, 2012 1 commit
  2. 27 Aug, 2012 1 commit
    • verwaest@chromium.org's avatar
      Make order of addition the primary order of descriptor arrays. · efb53e14
      verwaest@chromium.org authored
      The order by name is maintained as secondary order by using unused bits in the property details.
      
      This is preliminary work towards sharing descriptors arrays.
      
      The change allows us
      - to get rid of the LastAdded bits in the map, binding it to the number of valid descriptors for the given map
      - to avoid resorting by enumeration index to create the cache
      - (maybe in the future, depending on performance) to get rid of the enumeration cache altogether.
      
      Although generally the number_of_descriptors equals the NumberOfOwnDescriptors in the current version, this is preliminary work towards sharing    descriptors, where maps may have more descriptors than are valid for the map.
      
      Review URL: https://chromiumcodereview.appspot.com/10879013
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      efb53e14
  3. 05 Jul, 2012 1 commit
    • verwaest@chromium.org's avatar
      Separating transitions from descriptors. · d7a5b7d5
      verwaest@chromium.org authored
      In this design maps contain descriptor arrays, which in turn can contain transition arrays. If transitions are needed when no descriptor array is present, a descriptor array without real descriptors is inserted just so it can point at the transition array.
      
      The transition array does not contain details about the field it transitions to. In order to weed out transitions to FIELDs from CONSTANT_FUNCTION (what used to be MAP_TRANSITION vs CONSTANT_TRANSITION), the transition needs to be followed and the details need to be looked up in the target map. CALLBACKS transitions are still easy to recognize since the transition targets are stored as an AccessorPair containing the maps, rather than the maps directly.
      
      Currently AccessorPairs containing a transition and an accessor are shared between the descriptor array and the transition array. This simplifies lookup since we only have to look in one of both arrays. This will change in subsequent revisions, when descriptor arrays will become shared between multiple maps, since transitions cannot be shared.
      
      Review URL: https://chromiumcodereview.appspot.com/10697015
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      d7a5b7d5
  4. 25 Jun, 2012 1 commit
  5. 11 Jun, 2012 1 commit
  6. 03 Feb, 2012 1 commit
    • svenpanne@chromium.org's avatar
      Removed IsTransitionType predicate. · b34e202b
      svenpanne@chromium.org authored
      With the upcoming changes to CALLBACKS properties, a predicate on the transition
      type alone doesn't make sense anymore: For CALLBACKS one has to look into the
      property's value to decide, and there is even the possibility of having a an
      accessor function *and* a transition in the same property.
      
      I am not completely happy with some parts of this CL, because they contain
      redundant code, but given the various representations we currently have for
      property type/value pairs, I can see no easy way around that. Perhaps one can
      improve this a bit in a different CL, the current diversity really, really hurts
      productivity...
      
      As a bonus, this CL includes a few minor things:
      
       * CaseClause::RecordTypeFeedback has been cleaned up and it handles the
         NULL_DESCRIPTOR case correctly now. Under some (very unlikely) circumstances,
         we previously missed some opportunities for monomorphic calls. In general, it
         is rather unfortunate that NULL_DESCRIPTOR "shines through", it is just a
         hack for the inability to remove a descriptor entry during GC, something
         callers shouldn't have to be aware of.
      
       * DescriptorArray::CopyInsert has been cleaned up a bit, preparing it for later
         CALLBACKS-related changes.
      
       * LookupResult::Print is now more informative for CONSTANT_TRANSITION.
      
      Review URL: https://chromiumcodereview.appspot.com/9320066
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      b34e202b
  7. 18 Oct, 2011 1 commit
  8. 09 Sep, 2011 1 commit
  9. 16 May, 2011 1 commit
  10. 23 Mar, 2011 1 commit
  11. 20 Dec, 2010 1 commit
  12. 18 Feb, 2010 1 commit
  13. 10 Jul, 2009 1 commit
  14. 25 May, 2009 1 commit
  15. 09 Sep, 2008 1 commit
  16. 27 Aug, 2008 1 commit
  17. 03 Jul, 2008 1 commit