Source

pypy / pypy / rpython / ootypesystem / rlist.py

Author Commit Message Labels Comments Date
Maciej Fijalkowski
backout b02477f065b2, reinstantiane newlist hint. this time we want to use it
Branches
space-iterator-improvements
Antonio Cuni
test&fix for yet another case in ootype list comprehension
Antonio Cuni
remove the oopspec from ll_known_maxlength2fixed. This makes test_listcomp passing on ootype, although the produced loop looks inefficient both on lltype and ootype
Antonio Cuni
enable list comprehension optimization for ootype. This is slightly more convoluted than in lltype because there is no simple way to convert from an ootype.List to an ootype.Array apart copying item by item. Thus, to optimize the common case instead of a List we use a temporary record holding an array and the length. For the other cases, items are just copied one by one
Antonio Cuni
disable list comprehension detection for ootype. See doc/discussion/list_comprehension_ootype.txt
Maciej Fijalkowski
Support for newlist(sizehint=xxx), with a test!
Carl Friedrich Bolz
continue the move of pypy.annotation.pairtype to pypy.tool.pairtype: fix imports and kill the import forwarding file.
Armin Rigo
Finished the list comprehension optimization. Disabled by default for now, until we know a bit more if it really gives any benefit and/or what kind of subtle bugs it contains.
Antonio Cuni
(antocuni, nikh) - Marked some tests as lltypesystem-specific - Removed two skip from tests that now are passing - Fixed a bug about list of void
Antonio Cuni
Don't use separate internal and external item repr for ootypesystem list, because high level backends don't need it.
Antonio Cuni
Add support for list to string conversion to ootypesystem.
Antonio Cuni
Added support for string formatting in ootypesystem.
Niklaus Haldimann
use Record for list iterators. remove old iterator type caching code.
Niklaus Haldimann
(dialtone, nik) get rid of ForwardReferences in ListReprs.
Antonio Cuni
Added ll_newlist to rlist.py
Antonio Cuni
Basic ootypesystem.rdict support
Antonio Cuni
- rdict has been made type-system depended. Almost all old code has been moved to lltypesystem/rdict.py. - some files has been fixed because they imported directly rpython.rdict. - a new Dict definition has been added to ootype.py. Three tests in test_rtuple.py fail because by now ootypesystem lacks a DictRepr, but they should automatically pass as soon as ootypesystem.rdict.DictRepr will be added.
Antonio Cuni
Modified newlist in order to use _ll_resize and ll_setitem_fast instead of append.
Antonio Cuni
Added support for rtype_alloc_and_set in ootypesystem's list.
Antonio Cuni
- Added support for is_, eq and ne between two OOInstanceRepr. - Added convert_constant to ootypeststem/rlist.py - Added more tests for ootypesystem's list.
Antonio Cuni
ootypesystem's lists and lltypesystem's lists have been unified as much as possible. Now they share almost all ll_* helper functions that have been placed in rpython/rlist.py. Two ADT methods have been added both to lltypesystem's ListRepr and ootypesystem's ListRepr: _ll_resize_ge and _ll_resize_le. The CLI backend has been modified to reflect the changes to the interface.
Antonio Cuni
The interface of ootypesystem.ootype.List has been modified to reflect the changes in lltypesystem's list. In particular the 'length', 'getitem_nonneg' and 'setitem_nonneg' have been renamed to 'll_length', 'll_getitem_fast' and 'll_setitem_fast'.
Antonio Cuni
Added support for the following operations in ootypesystem/rlist.py: bltn_list, is_true, method_index. Added some tests both in rpython/test/test_rlist.py and translator/cli/test/test_list.py.
Antonio Cuni
- Added support for deleting items and slices in ootypesystem rlist - Added some ootypesystem tests in rpython/test/test_rlist.py - Improved support for lists in the CLI backend. At the moment two tests in test_rlist skip because they need to return a tuple of lists and ootypesystem doesn't support that, yet. TODO: Remove the skip as soon as ootypesystem is fixed.
Antonio Cuni
- Added support for basic slice operations on ootypesystem.rlist - Added some tests for basic slice operations in the CLI backend
Antonio Cuni
rpython.rslice has been made typesystem-specific; the old rslice implementation has been moved to lltypesystem, and a new one (based on classes) has been placed in ootypesystem.
Antonio Cuni
Added support for negative indexes in list.
Antonio Cuni
Added the "extend" method to ootype.List
Niklaus Haldimann
implement rtyping of list concatenation and extenion for ootypes. this introduces a slightly convoluted multiple inheritance setup for ListReprs to allow for maximum code sharing between lltype and ootype.
Niklaus Haldimann
some subtle reshuffling of code to make sure setup for ListReprs is called before IteratorReprs are created. this fixes a failure that i missed at the last checkin.
  1. Prev
  2. 1
  3. 2
  4. Next