Author: Tim Felgentreff <timfelgentr...@gmail.com> Branch: Changeset: r584:42d00b2f7502 Date: 2014-01-17 09:21 +0100 http://bitbucket.org/pypy/lang-smalltalk/changeset/42d00b2f7502/
Log: fix translation diff --git a/spyvm/model.py b/spyvm/model.py --- a/spyvm/model.py +++ b/spyvm/model.py @@ -18,7 +18,7 @@ from spyvm import constants, error from rpython.rlib import rrandom, objectmodel, jit, signature -from rpython.rlib.rarithmetic import intmask, r_uint +from rpython.rlib.rarithmetic import intmask, r_uint, r_int from rpython.tool.pairtype import extendabletype from rpython.rlib.objectmodel import instantiate, compute_hash from rpython.rtyper.lltypesystem import lltype, rffi @@ -757,13 +757,13 @@ byte0 = ord(self.getchar(byte_index0)) byte1 = ord(self.getchar(byte_index0 + 1)) << 8 if byte1 & 0x8000 != 0: - byte1 = intmask(intmask(0xffff0000) | byte1) + byte1 = intmask(r_uint(0xffff0000) | r_uint(byte1)) return space.wrap_int(byte1 | byte0) def short_atput0(self, space, index0, w_value): from rpython.rlib.rarithmetic import int_between i_value = space.unwrap_int(w_value) - if not int_between(-32768, i_value, 0x8000): + if not int_between(-0x8000, i_value, 0x8000): raise error.PrimitiveFailedError byte_index0 = index0 * 2 byte0 = i_value & 0xff @@ -895,18 +895,18 @@ else: short = (word >> 16) & 0xffff if short & 0x8000 != 0: - short = intmask(0xffff0000) | short + short = r_uint(0xffff0000) | r_uint(short) return space.wrap_int(intmask(short)) def short_atput0(self, space, index0, w_value): from rpython.rlib.rarithmetic import int_between i_value = space.unwrap_int(w_value) - if not int_between(-32768, i_value, 0x8000): + if not int_between(-0x8000, i_value, 0x8000): raise error.PrimitiveFailedError word_index0 = index0 / 2 word = intmask(self.getword(word_index0)) if index0 % 2 == 0: - word = (word & intmask(0xffff0000)) | (i_value & 0xffff) + word = intmask(r_uint(word) & r_uint(0xffff0000)) | (i_value & 0xffff) else: word = (i_value << 16) | (word & 0xffff) value = r_uint(word) diff --git a/spyvm/primitives.py b/spyvm/primitives.py --- a/spyvm/primitives.py +++ b/spyvm/primitives.py @@ -649,9 +649,10 @@ try: s_frame._sendSelfSelector(interp.image.w_simulateCopyBits, 0, interp) except Return: - w_dest_form = w_rcvr.fetch(space, 0) - if w_dest_form.is_same_object(space.objtable['w_display']): - w_bitmap = w_dest_form.fetch(space, 0) + w_rcvr = s_frame.peek(0) + w_dest_form = w_rcvr.fetch(interp.space, 0) + if w_dest_form.is_same_object(interp.space.objtable['w_display']): + w_bitmap = w_dest_form.fetch(interp.space, 0) assert isinstance(w_bitmap, model.W_DisplayBitmap) w_bitmap.flush_to_screen() except shadow.MethodNotFound: _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit