Marc-Andre Lemburg <[email protected]> added the comment:
Ezio Melotti wrote:
>
> Ezio Melotti <[email protected]> added the comment:
>
> The attached patch skips the peepholer optimizations for BINARY_SUBSCR if the
> resulting char is a surrogate on narrow builds or a non-bmp char in wide
> builds.
> Note that this affects the optimization of lone surrogates on narrow builds
> too, but I think it's not worth to adding more complexity on the peepholer
> and check if they are part of a surrogate pair.
> The patch still lacks comments and could have better tests.
newconst = PyObject_GetItem(v, w);
+ if (PyUnicode_Check(v)) {
+ Py_UNICODE ch = PyUnicode_AS_UNICODE(newconst)[0];
Without checking, you shouldn't assume that newconst is a PyUnicodeObject.
Other than that the patch looks fine.
----------
nosy: +lemburg
title: Unicode-width dependent optimization leads to non-portable pyc file ->
Unicode-width dependent optimization leads to non-portable pyc file
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue5057>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com