Thanks for your help so far (I'm experimenting with the peephole
optimizer - hence my question before as I was trying to work out how to
know what the small integer hard-coded offsets should be when looking
ahead in the bytecode).
I've successfully added a new opcode (generated by the optimizer and
understood by the interpreter loop) but when adding a second I
unexpectedly got the following error. I'm not doing anything different
to what I did with the first opcode as far as I can tell (I have a
TARGET(FOO) in ceval.c and have obviously defined the new opcode's value
in opcode.h).
"""
./python -E -S -m sysconfig --generate-posix-vars ;\
if test $? -ne 0 ; then \
echo "generate-posix-vars failed" ; \
rm -f ./pybuilddir.txt ; \
exit 1 ; \
fi
XXX lineno: 241, opcode: 1
Fatal Python error: Py_Initialize: can't import _frozen_importlib
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 698, in <module>
File "<frozen importlib._bootstrap>", line 751, in BuiltinImporter
File "<frozen importlib._bootstrap>", line 241, in _requires_builtin
SystemError: unknown opcode
Aborted (core dumped)
generate-posix-vars failed
make: *** [pybuilddir.txt] Error 1
"""
If I #ifdef out the code in peephole.c which generates my new (2nd)
opcode, then the error does not occur. I tried a "make clean" first, but
that didn't help (I realise that does not necessarily rule out a
makefile dependency issue).
Does anyone know if this is a well-known symptom of forgetting to add
something somewhere when adding a new opcode, or do I need to track it
down some more myself? I did not have this problem when introducing my
first new opcode.
Thanks, E.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com