[pypy-commit] pypy win64-stage1: remove changes no longer needed
ctismer
noreply at buildbot.pypy.org
Tue Mar 13 21:30:03 CET 2012
Author: Christian Tismer <tismer at stackless.com>
Branch: win64-stage1
Changeset: r53476:d81853126fab
Date: 2012-03-13 13:28 -0700
http://bitbucket.org/pypy/pypy/changeset/d81853126fab/
Log: remove changes no longer needed
diff --git a/pypy/objspace/std/model.py b/pypy/objspace/std/model.py
--- a/pypy/objspace/std/model.py
+++ b/pypy/objspace/std/model.py
@@ -30,6 +30,11 @@
"proxyobject.W_TransparentDict"],
}
+IDTAG_INT = 1
+IDTAG_LONG = 3
+IDTAG_FLOAT = 5
+IDTAG_COMPLEX = 7
+
class StdTypeModel:
def __init__(self, config):
diff --git a/pypy/objspace/std/objspace.py b/pypy/objspace/std/objspace.py
--- a/pypy/objspace/std/objspace.py
+++ b/pypy/objspace/std/objspace.py
@@ -460,77 +460,6 @@
self.wrap("Expected tuple of length 3"))
return self.int_w(l_w[0]), self.int_w(l_w[1]), self.int_w(l_w[2])
- def is_(self, w_one, w_two):
- return self.newbool(self.is_w(w_one, w_two))
-
- def is_w(self, w_one, w_two):
- from pypy.rlib.longlong2float import float2longlong
- w_typeone = self.type(w_one)
- # cannot use self.is_w here to not get infinite recursion
- if w_typeone is self.w_int:
- return (self.type(w_two) is self.w_int and
- self.int_w(w_one) == self.int_w(w_two))
- elif w_typeone is self.w_float:
- if self.type(w_two) is not self.w_float:
- return False
- one = float2longlong(self.float_w(w_one))
- two = float2longlong(self.float_w(w_two))
- return one == two
- elif w_typeone is self.w_long:
- return (self.type(w_two) is self.w_long and
- self.bigint_w(w_one).eq(self.bigint_w(w_two)))
- elif w_typeone is self.w_complex:
- if self.type(w_two) is not self.w_complex:
- return False
- real1 = self.float_w(self.getattr(w_one, self.wrap("real")))
- real2 = self.float_w(self.getattr(w_two, self.wrap("real")))
- imag1 = self.float_w(self.getattr(w_one, self.wrap("imag")))
- imag2 = self.float_w(self.getattr(w_two, self.wrap("imag")))
- real1 = float2longlong(real1)
- real2 = float2longlong(real2)
- imag1 = float2longlong(imag1)
- imag2 = float2longlong(imag2)
- return real1 == real2 and imag1 == imag2
- elif w_typeone is self.w_str:
- return (self.type(w_two) is self.w_str and
- self.str_w(w_one) is self.str_w(w_two))
- elif w_typeone is self.w_unicode:
- return (self.type(w_two) is self.w_unicode and
- self.unicode_w(w_one) is self.unicode_w(w_two))
- return w_one is w_two
-
- def id(self, w_obj):
- from pypy.rlib.rbigint import rbigint
- from pypy.rlib import objectmodel
- from pypy.rlib.longlong2float import float2longlong
- w_type = self.type(w_obj)
- if w_type is self.w_int:
- tag = 1
- return self.or_(self.lshift(w_obj, self.wrap(3)), self.wrap(tag))
- elif w_type is self.w_long:
- tag = 3
- return self.or_(self.lshift(w_obj, self.wrap(3)), self.wrap(tag))
- elif w_type is self.w_float:
- tag = 5
- val = float2longlong(self.float_w(w_obj))
- w_obj = self.newlong_from_rbigint(rbigint.fromrarith_int(val))
- return self.or_(self.lshift(w_obj, self.wrap(3)), self.wrap(tag))
- elif w_type is self.w_complex:
- real = self.float_w(self.getattr(w_obj, self.wrap("real")))
- imag = self.float_w(self.getattr(w_obj, self.wrap("imag")))
- tag = 5
- real_b = rbigint.fromrarith_int(float2longlong(real))
- imag_b = rbigint.fromrarith_int(float2longlong(imag))
- val = real_b.lshift(8 * 8).or_(imag_b).lshift(3).or_(rbigint.fromint(3))
- return self.newlong_from_rbigint(val)
- elif w_type is self.w_str:
- res = objectmodel.compute_unique_id(self.str_w(w_obj))
- elif w_type is self.w_unicode:
- res = objectmodel.compute_unique_id(self.unicode_w(w_obj))
- else:
- res = objectmodel.compute_unique_id(w_obj)
- return self.wrap(res)
-
def is_true(self, w_obj):
# a shortcut for performance
# NOTE! this method is typically overridden by builtinshortcut.py.
More information about the pypy-commit
mailing list