1. 23 Jun, 2014 1 commit
  2. 20 Jun, 2014 2 commits
  3. 10 Jun, 2014 2 commits
  4. 06 Jun, 2014 1 commit
  5. 03 Jun, 2014 2 commits
    • rmcilroy@chromium.org's avatar
      Add support for extended constant pool arrays. · 97c962c2
      rmcilroy@chromium.org authored
      This CL adds support for ConstantPoolArrays which contain an extended section.
      This will be used to enable larger constant pools than can be addressed by a
      single ldr with immediate offset instruction (which has a limit of a 4KB range).
      Extended constant pools will have a small section, which is addressable via a
      single ldr instruction, and an extended section, which will require a multi-
      instruction sequence to load from.
      
      Currently, no code uses the extended ConstantPoolArray's - this change will
      be made in a followup CL.
      
      A number of changes are made to the ConstantPoolArray object in order to
      support this:
        - Small section layout is now entirely defined by the small layout bitmaps.
        - The ConstantPoolArray no longer extends FixedArrayBase since the length
          field is not useful for extended layouts.
        - Enums are used to represent the type of an entry and the layout section.
        - An iterator can be used to iterate through all elements of a given type.
        - A number of tests were added for these features.
      
      R=ulan@chromium.org
      
      Review URL: https://codereview.chromium.org/304143002
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      97c962c2
    • jochen@chromium.org's avatar
      Use full include paths everywhere · 56a486c3
      jochen@chromium.org authored
      - this avoids using relative include paths which are forbidden by the style guide
      - makes the code more readable since it's clear which header is meant
      - allows for starting to use checkdeps
      
      BUG=none
      R=jkummerow@chromium.org, danno@chromium.org
      LOG=n
      
      Review URL: https://codereview.chromium.org/304153016
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      56a486c3
  6. 20 May, 2014 1 commit
    • adamk@chromium.org's avatar
      ES6 Map/Set iterators/forEach improvements · 70c3a714
      adamk@chromium.org authored
      This changes how Map/Set interacts with its iterators. When the
      underlying table is rehashed or cleared, we create a new table (like
      before) but we add a reference from the old table to the new table. We
      also add an array describing how to transition the iterator from the
      old table to the new table.
      
      When Next is called on the iterator it checks if there is a newer table
      that it should transition to. If there is, it updates the index based
      on the previously recorded changes and finally changes itself to point
      at the new table.
      
      With these changes Map/Set no longer keeps the iterators alive. Also,
      as before, the iterators keep the underlying table(s) alive but not the
      actual Map/Set.
      
      BUG=v8:1793
      LOG=Y
      R=mstarzinger@chromium.org, rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/289503002
      
      Patch from Erik Arvidsson <arv@chromium.org>.
      
      git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      70c3a714
  7. 30 Apr, 2014 2 commits
  8. 29 Apr, 2014 1 commit
  9. 25 Apr, 2014 1 commit
  10. 24 Apr, 2014 2 commits
  11. 17 Apr, 2014 1 commit
    • adamk@chromium.org's avatar
      ES6: Add support for Map/Set forEach · 3308cb58
      adamk@chromium.org authored
      This implements MapIterator and SetIterator which matches
      the same constructs in the ES6 spec. However, these 2
      iterators are not exposed to user code yet. They are only
      used internally to implement Map.prototype.forEach and
      Set.prototype.forEach.
      
      Each iterator has a reference to the OrderedHashTable where
      it directly accesses the hash table's entries.
      
      The OrderedHashTable has a reference to the newest iterator
      and each iterator has a reference to the next and previous
      iterator, effectively creating a double linked list.
      
      When the OrderedHashTable is mutated (or replaced) all the
      iterators are updated.
      
      When the iterator iterates passed the end of the data table
      it closes itself. Closed iterators no longer have a
      reference to the OrderedHashTable and they are removed from
      the double linked list. In the case of Map/Set forEach, we
      manually call Close on the iterator in case an exception was
      thrown so that the iterator never reached the end.
      
      At this point the OrderedHashTable keeps all the non finished
      iterators alive but since the only thing we currently expose
      is forEach there are no unfinished iterators outside a forEach
      call. Once we expose the iterators to user code we will need
      to make the references from the OrderedHashTable to the
      iterators weak and have some mechanism to close an iterator
      when it is garbage collected.
      
      BUG=1793, 2323
      LOG=Y
      R=adamk@chromium.org
      TBR=mstarzinger@chromium.org
      
      Review URL: https://codereview.chromium.org/238063009
      
      Patch from Erik Arvidsson <arv@chromium.org>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      3308cb58
  12. 16 Apr, 2014 4 commits
    • adamk@chromium.org's avatar
      Revert "ES6: Add support for Map/Set forEach" · 91618cf1
      adamk@chromium.org authored
      This reverts https://code.google.com/p/v8/source/detail?r=20823
      
      It broke Windows builds. Will need to find a Windows try bot to figure
      out why.
      
      TBR=mstarzinger@chromium.org,arv@chromium.org
      
      Review URL: https://codereview.chromium.org/238973011
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      91618cf1
    • adamk@chromium.org's avatar
      ES6: Add support for Map/Set forEach · 7c300d1f
      adamk@chromium.org authored
      This implements MapIterator and SetIterator which matches
      the same constructs in the ES6 spec. However, these 2
      iterators are not exposed to user code yet. They are only
      used internally to implement Map.prototype.forEach and
      Set.prototype.forEach.
      
      Each iterator has a reference to the OrderedHashTable where
      it directly accesses the hash table's entries.
      
      The OrderedHashTable has a reference to the newest iterator
      and each iterator has a reference to the next and previous
      iterator, effectively creating a double linked list.
      
      When the OrderedHashTable is mutated (or replaced) all the
      iterators are updated.
      
      When the iterator iterates passed the end of the data table
      it closes itself. Closed iterators no longer have a
      reference to the OrderedHashTable and they are removed from
      the double linked list. In the case of Map/Set forEach, we
      manually call Close on the iterator in case an exception was
      thrown so that the iterator never reached the end.
      
      At this point the OrderedHashTable keeps all the non finished
      iterators alive but since the only thing we currently expose
      is forEach there are no unfinished iterators outside a forEach
      call. Once we expose the iterators to user code we will need
      to make the references from the OrderedHashTable to the
      iterators weak and have some mechanism to close an iterator
      when it is garbage collected.
      
      BUG=1793,2323
      LOG=Y
      TBR=mstarzinger@chromium.org
      
      Review URL: https://codereview.chromium.org/240323003
      
      Patch from Erik Arvidsson <arv@chromium.org>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      7c300d1f
    • adamk@chromium.org's avatar
      Revert "ES6: Add support for Map/Set forEach" · a44e10ca
      adamk@chromium.org authored
      This reverts commit https://code.google.com/p/v8/source/detail?r=20781.
      
      It broke the Win32 builders.
      
      TBR=mstarzinger@chromium.org
      
      Review URL: https://codereview.chromium.org/239163012
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      a44e10ca
    • adamk@chromium.org's avatar
      ES6: Add support for Map/Set forEach · a1af5a2a
      adamk@chromium.org authored
      This implements MapIterator and SetIterator which matches
      the same constructs in the ES6 spec. However, these 2
      iterators are not exposed to user code yet. They are only
      used internally to implement Map.prototype.forEach and
      Set.prototype.forEach.
      
      Each iterator has a reference to the OrderedHashTable where
      it directly accesses the hash table's entries.
      
      The OrderedHashTable has a reference to the newest iterator
      and each iterator has a reference to the next and previous
      iterator, effectively creating a double linked list.
      
      When the OrderedHashTable is mutated (or replaced) all the
      iterators are updated.
      
      When the iterator iterates passed the end of the data table
      it closes itself. Closed iterators no longer have a
      reference to the OrderedHashTable and they are removed from
      the double linked list. In the case of Map/Set forEach, we
      manually call Close on the iterator in case an exception was
      thrown so that the iterator never reached the end.
      
      At this point the OrderedHashTable keeps all the non finished
      iterators alive but since the only thing we currently expose
      is forEach there are no unfinished iterators outside a forEach
      call. Once we expose the iterators to user code we will need
      to make the references from the OrderedHashTable to the
      iterators weak and have some mechanism to close an iterator
      when it is garbage collected.
      
      BUG=1793,2323
      LOG=Y
      R=adamk@chromium.org, mstarzinger@chromium.org
      
      Review URL: https://codereview.chromium.org/236143002
      
      Patch from Erik Arvidsson <arv@chromium.org>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      a1af5a2a
  13. 04 Apr, 2014 1 commit
  14. 17 Mar, 2014 1 commit
  15. 14 Mar, 2014 1 commit
  16. 13 Mar, 2014 1 commit
  17. 11 Mar, 2014 1 commit
  18. 10 Mar, 2014 1 commit
  19. 07 Mar, 2014 2 commits
  20. 28 Feb, 2014 3 commits
  21. 11 Feb, 2014 1 commit
  22. 10 Feb, 2014 1 commit
  23. 24 Jan, 2014 1 commit
  24. 16 Jan, 2014 5 commits
  25. 13 Jan, 2014 1 commit