Hi Matti,

I've checked in some new code in rawstorage.py on default:
raw_storage_{get,set}item_unaligned().  It's regular RPython code that
checks if the argument is aligned or not, and if not, it falls back to
a memcpy().  It should be relatively jit-friendly.  Note that I also
changed the non-unaligned functions so that, when untranslated, they
complain if the address is unaligned, whatever the platform.

Can you try to change some or all of the raw_storage_{get,set}item()
calls in micronumpy?  I don't really know which ones are at a risk of
seeing unaligned accesses, and which ones not.  It seems that all of
them are at risk: see the failure in
test_numarray.AppTestRecordDtype.test_string_record.


A bientôt,

Armin.
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to