Conversation
|
I'm going to test this out with PGO and ubsan builds first. I agree that the obmalloc alignment leading to the ubsan issues is probably fixed by #13318 at this point. What I'm missing is why this is even necessary at this point given the obmalloc alignment change? What does this change actually cause to happen? |
Alignment is all or nothing. If this is not aligned, no need to align pointer returned by obmalloc. #13318 make pointer PyObject_Malloc returned (a) aligned to 16 byte. Now This pull request make sizeof(PyGC_Head) (b) aligned to 16 byte. Now C compiler align (c) part automatically. Now member of PyObject is aligned. |
|
thanks, that was helpful :) also, testing this on an ubsan build it shows a notable improvement. the two changes together work. |

Reverts #13569
#13318 fixed the issue happened by merging #13335.
https://bugs.python.org/issue27987