[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