[pypy-svn] r11005 - pypy/dist/pypy/interpreter

tismer at codespeak.net tismer at codespeak.net
Thu Apr 21 23:18:13 CEST 2005


Author: tismer
Date: Thu Apr 21 23:18:13 2005
New Revision: 11005

Modified:
   pypy/dist/pypy/interpreter/gateway.py
Log:
removed the old cache code.
changed the name of code with no sourcefile name
to start with "zznoname" for convenience

Modified: pypy/dist/pypy/interpreter/gateway.py
==============================================================================
--- pypy/dist/pypy/interpreter/gateway.py	(original)
+++ pypy/dist/pypy/interpreter/gateway.py	Thu Apr 21 23:18:13 2005
@@ -538,90 +538,6 @@
     def _freeze_(self):
         return True  # hint for the annotator: applevel instances are constants
 
-class old_ApplevelInterpClass(ApplevelClass):
-    """ similar to applevel, but using translation to interp-level.
-    """
-    NOT_RPYTHON_ATTRIBUTES = []
-
-    def __init__(self, source, filename = None, modname = 'applevelinterp', do_imports=False):
-        "NOT_RPYTHON"
-        self.filename = filename
-        self.source = source
-        self.modname = modname
-        self.do_imports = do_imports
-
-    def _builddict(self, space):
-        "NOT_RPYTHON"
-        if not self._setup_done:
-            self._setup()
-        from pypy.translator.geninterplevel import translate_as_module, \
-             render_docstr
-        initfunc = self.known_source.get(self.source)
-        if not initfunc:
-            initfunc, newsrc = translate_as_module(
-                self.source, self.filename, self.modname, self.do_imports)
-            f = file(self.cache_filename, "a")
-            print >> f
-            print >> f, "#"+72*"_"
-            print >> f
-            print >> f, render_docstr(
-                self.source, "source = ")
-            print >> f
-            print >> f, newsrc
-            print >> f, "known_source[source] = %s" % initfunc.__name__
-        w_glob = initfunc(space)
-        return w_glob
-
-    _setup_done = False
-    
-    def _setup(cls):
-        """NOT_RPYTHON"""
-        import os
-        cls.cache_filename = os.path.join(os.path.dirname(__file__),
-                                      "_interplevel_cache.py")
-        try:
-            if not os.path.exists(cls.cache_filename):
-                raise ImportError  # don't import if only a .pyc file left!!!
-            from pypy.interpreter._interplevel_cache import known_source, \
-                 GI_VERSION_RENDERED
-        except ImportError:
-            GI_VERSION_RENDERED = 0
-        from pypy.translator.geninterplevel import GI_VERSION
-        if GI_VERSION != GI_VERSION_RENDERED or GI_VERSION is None:
-            file(cls.cache_filename, "w").write("""\
-# This file acts as a cache for code snippets which have been
-# compiled by compile_as_module().
-# It will get a new entry for every piece of code that has
-# not been seen, yet.
-#
-# Caution! Only the code snippet is checked. If something
-# is imported, changes are not detected. Also, changes
-# to geninterplevel or gateway are also not checked.
-# Exception: There is a checked version number in geninterplevel.py
-#
-# If in doubt, remove this file from time to time.
-
-known_source = {}
-
-GI_VERSION_RENDERED = %r
-
-# self-destruct on double-click:
-if __name__ == "__main__":
-    from pypy.interpreter import _interplevel_cache
-    import os
-    namestart = os.path.splitext(_interplevel_cache.__file__)[0]
-    for ending in ('.py', '.pyc', '.pyo'):
-        try:
-            os.unlink(namestart+ending)
-        except os.error:
-            pass
-
-""" % GI_VERSION)
-            known_source = {}
-        cls.known_source = known_source
-        cls._setup_done = True
-    _setup = classmethod(_setup)
-
 class ApplevelInterpClass(ApplevelClass):
     """ similar to applevel, but using translation to interp-level.
         This version maintains a cache folder with single files.
@@ -646,10 +562,12 @@
         initfunc = self.known_source.get(key)
         if not initfunc:
             # try to get it from file
-            name = '_' + key
+            name = key
             if self.filename:
                 prename = os.path.splitext(os.path.basename(self.filename))[0]
-                name = prename + name
+            else:
+                prename = 'zznoname'
+            name = "%s_%s" % (prename, name)
             try:
                 __import__("pypy._cache."+name)
             except ImportError, x:



More information about the Pypy-commit mailing list