This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Demur Rumed
Recipients Adrian Wielgosik, Demur Rumed, mark.dickinson, serhiy.storchaka
Date 2016-05-24.21:19:48
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1464124788.97.0.846150269982.issue27097@psf.upfronthosting.co.za>
In-reply-to
Content
There is no strict aliasing issues because aliasing is explicitly allowed for char buffers. The only issue is unaligned memory reads, but allocations are well aligned, so there'd have to be explicit work to allocate & then put code at an uneven offset. CPython never does this. This leaves the only issue being if a jump has an uneven jump offset. But jumping into the middle of an instruction is already undefined behavior because if I jump into a byte that happens to be BINARY_ADD on an empty stack it's undefined behavior. Jumping into the middle of an instruction thus falls under "Undefined behavior due to invalid bytecode"

tl;dr There is no undefined behavior given correct bytecode layout, & we already have undefined behavior given incorrect bytecode layout. PREDICT concerns may be valid; the solution there may be to have a PEEKOPARG which we can then check the short value before splitting it if the opcode portion matches
History
Date User Action Args
2016-05-24 21:19:49Demur Rumedsetrecipients: + Demur Rumed, mark.dickinson, serhiy.storchaka, Adrian Wielgosik
2016-05-24 21:19:48Demur Rumedsetmessageid: <1464124788.97.0.846150269982.issue27097@psf.upfronthosting.co.za>
2016-05-24 21:19:48Demur Rumedlinkissue27097 messages
2016-05-24 21:19:48Demur Rumedcreate