PyPy Hildesheim2 sprint -- DONE ------------------------------- - do we want to continue to work with the snapshsot? does it make sense during the sprint? decision: during the sprint use directly the trunk, mail pypy-dev about this (holger, samuele) - we want to work on pypy/translator/goal/ISSUES.txt pairs:: Samuele, Carl Friedrich (progressing on External functions) DONE: refactored math and os function out of annotation/builtin and rpython/rbuiltin into the extfunctable, implemented some math.*, os.* functions. fixed os.stat Open issues: - DONE (for C) RPython string -> C null-terminated string conversion. The null termination char is not there! - DONE (__builtin__/* don't raise, the rest does) The flow space kills exception handling for built-ins, this is not what we want e.g. for os.* functions; decide new criteria. Maybe only for thing in __builtin__ or list only the built-ins we want exception handling suppressed. - DONE finish os.path.exists and os.path.isdir support (Armin, Carl Friedrich) Armin, Christian (random RTyper problems) DONE: down to override:cpy_stablecompiler, up to wrap/unwrap issues related to faking. The hope is that we can get rid of faking. DONE Completing marshal, made it into a mixed-module that can be geninterped. (chris wishes to redo it in interplevel) DONE modulo some problems. Inconsistency about problems on different machines. PYC still untested. More tests needed. Plan: enable pyc loading to bootstrap compiler at app-level (Christian, Richard) Todo: Choose a PYC file version for PyPy (2.4.1) Using this version is ok, because our compiler exactly produces these. The extra functionality in our marshal is not related to magic numbers. Richard, Holger (getting rid of faked files) DONE: importing uses only os.* functions at interp-level. With --file option sys.std* use our own app-level implementation of files. --file is on by default now when translating Remaining problem list: - DONE Samuele, Holger make py.py --file --nofakedmodules work (crashes somehow) - DONE (chris) allways enforce geninterping of marshal, maybe similar to what we did with exceptions - DONE Samuele, Holger primitive math is done. Implement applevel math, have many tests (we are using compliance tests only). - Samuele, Holger, transitional unify the way stdobjspace is configured. the basic objspace configuration interface becomes a set of keyword arguments. The current command line arguments will be mapped onto this interface. This also includes configuration of which modules should be loaded. - Samuele, eleumaS extend the testing framework to allow to specify a space with options for a test. Related to the latter. - Holger, Armin bug to be fixed: applevel test stdout is no longer captured. - Armin, and everybody else, please run translation and try to avoid any faking at all. An example where it still happens is EllipsisType which gets wrapped by geninterplevel. - DONE Richard, Chris Choose a PYC file version for PyPy (2.4.1) Using this version is ok, because our compiler exactly produces these. The extra functionality in our marshal is not related to magic numbers. - Richard, Chris track down remaining .pyc file issues. Getting rid of faking:: DONE. no faking left if you use --file --nofakedmodules. (of course in this case you can't import most modules like _sre at all.) - DONE unify the way stdobjspace is configured. the basic objspace configuration interface becomes a set of keyword arguments. The current command line arguments will be mapped onto this interface. This also includes configuration of which modules should be loaded. - DONE extend the testing framework to allow to specify a space with options for a test. Related to the latter. Remaining problem about pyc files:: DONE (could be better) The inconsistency problems are more or less solved now, but PYC file support is disabled at the moment because it is just too slow in general. Bootstrapping is right but messy. Christian will rewrite marshal at interp-level at some point. We won't use PYC file support for translate_pypy anyway. We will construct and initialize the object space just like now, and then import at app-level the 'compiler' package, and finally patch the executioncontext.compiler to use this 'compiler' package. The resulting object space is what translate_pypy is seeing. Ultimately the compiler and marshal should both be at interp-level anyway. - DONE bug to be fixed: applevel test stdout is no longer captured. - DONE running translate_pypy! - DONE try to extend test framework a bit to make applevel tests allow to use 'self.somevalue' coming from interplevel 'self.w_somevalue'. - DONE finish/send out the Heidelberg sprint announcement goals: do the 0.7 release! (0.7 is meant as a first self-contained pypy release with quite some c-extension modules missing (everything below 1.0 is implicitly alpha'ed or XXXed or both) - translation efforts - work on 2.4.1 compliancy (let's have a lib-python/ISSUE.txt well before the sprint and let's try to count by failing tests not failing test files) - rewriting c-extension modules/integrating existing rewrites - all kinds of small release issues - possibly some more LLVM efforts - DONE finally start with garbage collection (CF) - DONE (plus no more segfaults, and all "class" tests are working) let llvm support varsize structs and possibly refactor/cleanup a bit the current code (richard already contacted Eric and also worked a bit on improving PBC support for llvm)