Source

pypy / pypy / rpython / extregistry.py

Author Commit Message Labels Comments Date
Maciej Fijalkowski
remove call to super and don't try to understand implications
Maciej Fijalkowski
2.6 fix, thanks fredreichbier
Amaury Forgeot d'Arc
Correctly call the super __init__() method. python2.6 does more checks in type.__init__.
Armin Rigo
(pedronis, arre, arigo) Clean-up: extregistry entries can assume that they always have a bookkeeper during annotation, nowadays.
Samuele Pedroni
(arigo, pedronis) introduced llhelper to define function pointer to callables taking lowlevel types with the side effect of also annotating them.
Armin Rigo
(pedronis, arigo) Minor {clean,speed}-up.
Armin Rigo
(pedronis, arigo) An extension to extregistry: you can pass a policy object to the various lookup functions, and register entries with conditions based on the policy. See test. Purpose: special-casing rgenop when compiling to C on a specific processor; but this could also be used e.g. to select between lltypesystem and ootypesystem versions of built-in functions.
Armin Rigo
Fix test_extregistry failures - my fault.
Armin Rigo
Support for 'ctype*int' at run-time, to build arrays of a length which is not a constant during annotation.
Armin Rigo
Refactored the extregistry interface. See mail to pypy-dev. This is a massive diff, mostly because all rctypes/a*.py are entierely modified. Tedious, but the result looks quite nicer than before in my humble opinion. The original motivation was a problem with annotating built-in functions: the 'analyser' attribute cannot be a local function with a closure, at least as used in rctypes, because re-building another closure with exactly the same values in th…
Armin Rigo
* annotating c_void_p and cast(). * 'ctypes.cast' has no __name__, fix a few places to default to None... * 'ctypes.cast' is not even hashable! Not easy to put it into the extregistry. Added a FlexibleWeakDict that accepts more or less any kind of keys...
Armin Rigo
extregistry support for things that cannot be weakly referenced, like built-in functions (duh). In rctypes, byref() and functions taking 'struct' arguments.
Armin Rigo
(arre, arigo) Remove the 'compute_result_annotation' support from bookkeeper.py. Replaced all usages with extregistry usage.
Eugene Oden
more work on ctypes pointer specialization
Christian Tismer
bad indent
Michael Twomey
(arigo, micktwomey, goden) Added get_repr support to the extregistry Implemented rctypes ARRAY support using the extregistry and get_repr. Added a register_type call for each primitive in rctypes.implementation which needs to be updated with the correct repr for each one.
Michael Twomey
Simplified extregistry and collapsed the different type classes together Registering ARRAY in the extregistry instead of using the RARRAY class.
Eugene Oden
- (micktwomey, arigo, goden) - support for specializing instances of ctypes function pointer metatypes
Eugene Oden
- (micktwomey, arigo, goden) - added support for specializing registered external functions. added a test.
Michael Twomey
Handle the case where old style classes make it this far.
Michael Twomey
Refactored extregistry to use more consistent get_annotation method signatures This allows us to implement generic lookup and is_registered functions.
Michael Twomey
Got annotation working for all ctypes types. Fixed up rctypes on darwin with the latest ctypes which will probably break on other OSs and other versions of ctypes. Needs to be fixed. Specialization doesn't work yet on the ctypes types so disabled 4 tests in test_rctypes.py.
Michael Twomey
Implemented types and metatypes in the extregistry
Joshua Gilbert
No longer skip test_extregistry. Implemented extregistry (enough to pass existence test). Added two cases to bookkeeper that are currently unused.