Source

pypy / pypy / objspace / std / multimethod.py

Author Commit Message Labels Comments Date
Alex Gaynor
change a pair of range to xrange, to remove 1 guard each during annotation
Armin Rigo
Reintroduce this check, using __new__ to avoid it getting in the way of the translation. See comment in new test.
Alex Gaynor
Remove a debugging bit from the previous commit.
Alex Gaynor
#480. FailedToImplement is now split into FailedToImplement and FailedToImplementArgs which has w_type and w_value.
Maciej Fijalkowski
kill hint in multimethods
Armin Rigo
svn merge -r58379:59313 svn+ssh://codespeak.net/svn/pypy/dist
Armin Rigo
Build a sensible summarizing name for the generated functions, instead of picking a random names among the possible ones.
Antonio Cuni
(antocuni, fed by arigo and pedronis) Select the multimethod installer depending on the typesystem. Added a sanity check to be sure not to mix the two installers.
Armin Rigo
Forgot to check this in with r35224.
Armin Rigo
A comment, and an attempt to reduce the amount of isinstance() checks in the last step of multimethod dispatch. The result appears to work and makes pypy-c smaller by some 175kb.
Armin Rigo
Correctly add a integer suffix... and only one! I got the name __encode23456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 from this code.
Armin Rigo
Generate type checks that produce slightly less redundant code after translation. The flow space rules!
Armin Rigo
So far, multimethod.py uses the InstallerVersion1 by default because it is much faster both to initialize and run on top of CPython. The InstallerVersion2 is optimized for making a translator-friendly structure. So we patch it in-place from targetpypystandalone... That's temporary, hopefully.
Armin Rigo
Fixed broken multimethod version 2.
Armin Rigo
Fixed the multimethod code. It's still quite slower to setup, and also slower at run-time on top of CPython.
Armin Rigo
Fixed the start-up speed problem with a short hack: ask the InstallerVersion1 if it thinks there is a chance to see anything in the given area...
Armin Rigo
A working version of compressed multimethod. Still quite slow at start-up.
Carl Friedrich Bolz
add link
Armin Rigo
Fixed multimethod installer version 2 to check the types of the arguments. Now the (very limited) test_multimethod passes with this installer too.
Armin Rigo
(arigo, a bit of pedronis) Starting multimethod table compression. The new code is not finished, and not enabled yet.
Armin Rigo
Just for fun, or maybe to try to win the largest diff award: refactored the StdObjSpace to no longer store the 'space' attribute on any of the W_XxxObject classes. It was not really used in any essential way any more.
Samuele Pedroni
be careful with list default args
holger krekel
fixed syntax error ...
Christian Tismer
some more stuff is not rpythonic
Armin Rigo
issue47 testing First phase of clean-up of the 'tool' directory. Includes a merge of compile.py, hack.py and template.py into sourcetools.py, which triggers a host of import fixes all over the place. Files that have been fully deleted: D pypy/tool/example_pytest.py D pypy/tool/methodChecker.py D pypy/tool/stdprofile.py D pypy/tool/testpm.py D pypy/tool/fiximport.py D pypy/tool/ppdb.py D pyp…
Armin Rigo
Dont' use the .args attribute of Exceptions to store meaningful information. Added custom constructors to the Exception subclasses as needed. This avoids annotation conflicts, like FailedToImplement.args which could be of length 0 or 2. It also makes code generally clearer.
holger krekel
hands-on-hack to avoid the many duplicate functions+globals which arise on multimethod construction. Maybe there is a nicer way to avoid the occurence of the duplicate definitions?
holger krekel
added a new compile2 convenience tool and made most places which used compile(source, '', 'exec') use compile2 now. compile2 uses a cache dependend on its arguments. compile2 is also a good place now to raise Errors or warnings in order to detect all the places where duplicate code (often duplicate functions with different globals) is generated. These places are interesting to revisit and "optimize" because the amount of generated code increases the amo…
holger krekel
merge of the dist-interpapp branch where Samuele Armin and me worked for 9 days (summing up to a hundred commits, as you may have noticed in your inbox). Major results (apart from little stuff here and there) are: - a new app2interp mechanism that is now indepedent from the interp2app implementation - a new way to do "mixed modules" which contain applevel and interplevel definitions. We also ported the builtin and sys module and they now live as packages/directory structures. in pypy/module/sys2/__init__.py and pypy/module/builtin/__i…
Armin Rigo
Python 2.2 compatibility.
  1. Prev
  2. 1
  3. 2
  4. 3
  5. Next