[pypy-commit] pypy align_float_cast: mark places that need to check float alignment with xxx

mattip noreply at buildbot.pypy.org
Thu Feb 13 20:22:35 CET 2014


Author: Matti Picus <matti.picus at gmail.com>
Branch: align_float_cast
Changeset: r69132:cedf7339c28d
Date: 2014-02-13 18:59 +0200
http://bitbucket.org/pypy/pypy/changeset/cedf7339c28d/

Log:	mark places that need to check float alignment with xxx

diff --git a/rpython/jit/backend/arm/opassembler.py b/rpython/jit/backend/arm/opassembler.py
--- a/rpython/jit/backend/arm/opassembler.py
+++ b/rpython/jit/backend/arm/opassembler.py
@@ -766,6 +766,7 @@
     emit_op_getarrayitem_gc_pure = emit_op_getarrayitem_gc
 
     def emit_op_raw_load(self, op, arglocs, regalloc, fcond):
+        # Called when compiling a trace or loop
         xxx
         res_loc, base_loc, ofs_loc, scale, ofs = arglocs
         assert ofs_loc.is_core_reg()
diff --git a/rpython/jit/backend/llsupport/llmodel.py b/rpython/jit/backend/llsupport/llmodel.py
--- a/rpython/jit/backend/llsupport/llmodel.py
+++ b/rpython/jit/backend/llsupport/llmodel.py
@@ -402,6 +402,7 @@
 
     @specialize.argtype(1)
     def read_float_at_mem(self, gcref, ofs):
+        xxx
         return llop.raw_load(longlong.FLOATSTORAGE, gcref, ofs)
 
     @specialize.argtype(1)
diff --git a/rpython/rtyper/llinterp.py b/rpython/rtyper/llinterp.py
--- a/rpython/rtyper/llinterp.py
+++ b/rpython/rtyper/llinterp.py
@@ -954,7 +954,6 @@
     op_raw_memmove = op_raw_memcopy # this is essentially the same here
 
     def op_raw_load(self, RESTYPE, addr, offset):
-        xxx
         checkadr(addr)
         if isinstance(offset, int):
             from rpython.rtyper.lltypesystem import rffi
diff --git a/rpython/rtyper/lltypesystem/opimpl.py b/rpython/rtyper/lltypesystem/opimpl.py
--- a/rpython/rtyper/lltypesystem/opimpl.py
+++ b/rpython/rtyper/lltypesystem/opimpl.py
@@ -670,7 +670,6 @@
     p[0] = newvalue
 
 def op_raw_load(TVAL, p, ofs):
-    xxx
     from rpython.rtyper.lltypesystem import rffi
     p = rffi.cast(llmemory.Address, p)
     p = rffi.cast(rffi.CArrayPtr(TVAL), p + ofs)
diff --git a/rpython/translator/c/funcgen.py b/rpython/translator/c/funcgen.py
--- a/rpython/translator/c/funcgen.py
+++ b/rpython/translator/c/funcgen.py
@@ -695,15 +695,17 @@
     OP_BARE_RAW_STORE = OP_RAW_STORE
 
     def OP_RAW_LOAD(self, op):
-        xxx
         addr = self.expr(op.args[0])
         offset = self.expr(op.args[1])
         result = self.expr(op.result)
         TYPE = op.result.concretetype
         typename = cdecl(self.db.gettype(TYPE).replace('@', '*@'), '')
-        return (
+        res = (
           "%(result)s = ((%(typename)s) (((char *)%(addr)s) + %(offset)s))[0];"
           % locals())
+        if 'float' in res or 'double' in res:
+            xxx
+        return res    
 
     def OP_CAST_PRIMITIVE(self, op):
         TYPE = self.lltypemap(op.result)


More information about the pypy-commit mailing list