[pypy-svn] r7413 - in pypy/trunk/src/pypy: annotation objspace/std

arigo at codespeak.net arigo at codespeak.net
Fri Nov 19 10:15:34 CET 2004


Author: arigo
Date: Fri Nov 19 10:15:33 2004
New Revision: 7413

Modified:
   pypy/trunk/src/pypy/annotation/builtin.py
   pypy/trunk/src/pypy/objspace/std/dictobject.py
Log:
Treats subclasses of ints or long (e.g. r_int and r_uint, respectively) as int
in builtin_isinstance().  Put an assert back in in dictobject.py.  Fixed
initialization of Entry.hash.


Modified: pypy/trunk/src/pypy/annotation/builtin.py
==============================================================================
--- pypy/trunk/src/pypy/annotation/builtin.py	(original)
+++ pypy/trunk/src/pypy/annotation/builtin.py	Fri Nov 19 10:15:33 2004
@@ -37,6 +37,8 @@
     # XXX simple case only
     if s_type.is_constant():
         typ = s_type.const
+        if issubclass(typ, (int, long)):
+            typ = int
         if s_obj.is_constant():
             return immutablevalue(isinstance(s_obj.const, typ))
         elif issubclass(s_obj.knowntype, typ):

Modified: pypy/trunk/src/pypy/objspace/std/dictobject.py
==============================================================================
--- pypy/trunk/src/pypy/objspace/std/dictobject.py	(original)
+++ pypy/trunk/src/pypy/objspace/std/dictobject.py	Fri Nov 19 10:15:33 2004
@@ -14,7 +14,7 @@
 
 class Entry:
     def __init__(self):
-        self.hash = 0
+        self.hash = r_uint(0)
         self.w_key = None
         self.w_value = None
     def __repr__(self):
@@ -66,7 +66,7 @@
         return [entry for entry in self.data if entry.w_value is not None]
         
     def lookdict(self, lookup_hash, w_lookup):
-#        assert isinstance(lookup_hash, r_uint)
+        assert isinstance(lookup_hash, r_uint)
         space = self.space
         i = lookup_hash % len(self.data)
 



More information about the Pypy-commit mailing list