Paolo 'Blaisorblade' Giarrusso <p.giarru...@gmail.com> added the comment:
@skip: In simple words, the x86 call: call 0x2000 placed at address 0x1000 becomes: call %rip + 0x1000 RIP holds the instruction pointer, which will be 0x1000 in this case (actually, I'm ignoring the detail that when executing the call, RIP points to the first byte of the next instruction). If I execute the same instruction from a different location (i.e. different RIP), things will break. So, only code for opcodes without real calls, nor access to globals can be copied like this (inlines are OK). With refcounting, not even POP_TOP is safe since it can call destructors. DUP_TOP is still safe, I guess. _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue4753> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com