[pypy-commit] lang-smalltalk default: fixed translation and type problems with the new c_layout changes to bytes and words objects
lwassermann
noreply at buildbot.pypy.org
Thu Jun 20 13:05:31 CEST 2013
Author: Lars Wassermann <lars.wassermann at gmail.com>
Branch:
Changeset: r470:046f02416b4f
Date: 2013-06-20 13:05 +0200
http://bitbucket.org/pypy/lang-smalltalk/changeset/046f02416b4f/
Log: fixed translation and type problems with the new c_layout changes to
bytes and words objects
diff --git a/spyvm/model.py b/spyvm/model.py
--- a/spyvm/model.py
+++ b/spyvm/model.py
@@ -523,7 +523,7 @@
def size(self):
if self.has_shadow():
return self._shadow.size()
- return self._size()
+ return self.basic_size()
def store_shadow(self, shadow):
assert self._shadow is None or self._shadow is shadow
@@ -643,7 +643,7 @@
fieldtypes = jit.promote(self.fieldtypes)
return fieldtypes.store(self, n0, w_value)
- def _size(self):
+ def basic_size(self):
return len(self._vars)
def invariant(self):
@@ -685,7 +685,7 @@
assert w_value is not None
self._weakvars[n0] = weakref.ref(w_value)
- def _size(self):
+ def basic_size(self):
return len(self._weakvars)
def invariant(self):
@@ -831,7 +831,7 @@
return self.c_bytes
else:
size = self.size()
- c_bytes = self.c_bytes = rffi.str2charp(self.bytes)
+ c_bytes = self.c_bytes = rffi.str2charp(self.as_string())
self.bytes = None
return c_bytes
@@ -867,7 +867,7 @@
if self.words is not None:
return self.words[n]
else:
- return self.c_words[n]
+ return r_uint(self.c_words[n])
def setword(self, n, word):
if self.words is not None:
@@ -912,7 +912,7 @@
if self.words is not None:
w_result.words = list(self.words)
else:
- w_result.words = [self.c_words[i] for i in range(size)]
+ w_result.words = [r_uint(self.c_words[i]) for i in range(size)]
return w_result
def as_repr_string(self):
diff --git a/spyvm/shadow.py b/spyvm/shadow.py
--- a/spyvm/shadow.py
+++ b/spyvm/shadow.py
@@ -27,7 +27,7 @@
def store(self, n0, w_value):
return self.w_self()._store(n0, w_value)
def size(self):
- return self.w_self()._size()
+ return self.w_self().basic_size()
def w_self(self):
return self._w_self
def getname(self):
More information about the pypy-commit
mailing list