<p dir="ltr">Can you show the diffs you have so far? Somebody's got to look at your code.</p>
<p dir="ltr">--Guido (mobile)</p>
<div class="gmail_quote">On Dec 27, 2015 16:51, "Erik" <<a href="mailto:python@lucidity.plus.com">python@lucidity.plus.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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).<br>
<br>
<br>
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).<br>
<br>
<br>
"""<br>
./python -E -S -m sysconfig --generate-posix-vars ;\<br>
        if test $? -ne 0 ; then \<br>
                echo "generate-posix-vars failed" ; \<br>
                rm -f ./pybuilddir.txt ; \<br>
                exit 1 ; \<br>
        fi<br>
XXX lineno: 241, opcode: 1<br>
Fatal Python error: Py_Initialize: can't import _frozen_importlib<br>
Traceback (most recent call last):<br>
  File "<frozen importlib._bootstrap>", line 698, in <module><br>
  File "<frozen importlib._bootstrap>", line 751, in BuiltinImporter<br>
  File "<frozen importlib._bootstrap>", line 241, in _requires_builtin<br>
SystemError: unknown opcode<br>
Aborted (core dumped)<br>
generate-posix-vars failed<br>
make: *** [pybuilddir.txt] Error 1<br>
"""<br>
<br>
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).<br>
<br>
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.<br>
<br>
Thanks, E.<br>
_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org" target="_blank">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/guido%40python.org" rel="noreferrer" target="_blank">https://mail.python.org/mailman/options/python-dev/guido%40python.org</a><br>
</blockquote></div>