
hi, I wanted to give a quick update on the state of the implementation. Good news! I think there is not that much left to be done! I'm currently waiting for a bigger VM (already wrote an email to linux1@us.ibm.com, 2 days ago? They are maybe on holiday?) to translate the full project. There are approx. 20 Failing tests that are left (own-linux-s390x). All other pass on my virtual machine. They are mostly related to big endian issues. Here are some questions: 1) Generally I got the impression that there are some tests that do not consider endianess (e.g. micronumpy). I guess it is time to change them to handle this? What about PPC? Did those not come up there? 2) It seems that the gcc on the build bot is quite old? It can for instance not assemble the instruction LAY (load address), but the VM I got (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4)) is able to. As soon as I can get my hands on a Debian machine that is configured similarly I can say more (end of Jan?). Cheers, Richard

Hi Richard, On Tue, Jan 19, 2016 at 12:12 PM, Richard Plangger <planrichi@gmail.com> wrote:
I must admit I did not try to run the whole test suite of PyPy on PPC; only the JIT's. Yes, it is expected to discover such small issues. I expect most of the issues to be in tests not written with that case in mind. A bientôt, Armin.

On Tue, Jan 19, 2016 at 6:12 AM, Richard Plangger <planrichi@gmail.com> wrote:
The default GCC on the buildbot is GCC 5.2 gcc version 5.2.1 20150911 (Debian 5.2.1-17) I just updated Binutils on the system in case something was out of date. I can try translating on the buildbot, if you wish. - David

It seems that I'm using old software on the vm. :) I kicked the build bot to see if the update has any effect. Some of the failing tests (on the buildbot only) are very severe, and it is hard to find out the cause if they do not fail on the development machine... We could try to start a translation, but I'm unsure if it will really work. Cheers, Richard On 01/19/2016 04:40 PM, David Edelsohn wrote:

Hi Richard, On Tue, Jan 19, 2016 at 4:47 PM, Richard Plangger <planrichi@gmail.com> wrote:
Note: at this point where a JIT backend is "mostly done", subtle bugs left in the JIT backend generate hard crashes that show up very rarely. I recommend that you use test_zll_stress_*.py in jit/backend/test/ --- and not just once. For example, leave them running repeatedly for 12 or 24 hours and be happy only if they pass successfully every time. These tests are good at figuring out such rare cases. A bientôt, Armin.

Debian apparently supports all z/Arch processors, so the toolchain defaults to much older processor model. For zEC12 and above, one must explicitly invoke GCC with -march=zEC12. I set CFLAGS and the translation is much happier. The s390x buildbot should explicitly use -march=zEC12. Thanks, David On Tue, Jan 19, 2016 at 10:47 AM, Richard Plangger <planrichi@gmail.com> wrote:

Translation got pretty far, until ... ***%**********++++++++++++++++[37a03] translation-task} [Timer] Timings: [Timer] annotate --- 485.9 s [Timer] rtype_lltype --- 822.1 s [Timer] pyjitpl_lltype --- 933.9 s [Timer] backendopt_lltype --- 255.8 s [Timer] =========================================== [Timer] Total: --- 2497.6 s [translation:info] Error: [translation:info] File "/home/dje/src/pypy/rpython/translator/goal/translate.py", line 318, in main [translation:info] drv.proceed(goals) [translation:info] File "/home/dje/src/pypy/rpython/translator/driver.py", line 549, in proceed [translation:info] result = self._execute(goals, task_skip = self._maybe_skip()) [translation:info] File "/home/dje/src/pypy/rpython/translator/tool/taskengine.py", line 114, in _execute [translation:info] res = self._do(goal, taskcallable, *args, **kwds) [translation:info] File "/home/dje/src/pypy/rpython/translator/driver.py", line 278, in _do [translation:info] res = func() [translation:info] File "/home/dje/src/pypy/rpython/translator/driver.py", line 384, in task_backendopt_lltype [translation:info] backend_optimizations(self.translator) [translation:info] File "/home/dje/src/pypy/rpython/translator/backendopt/all.py", line 142, in backend_optimizations [translation:info] gilanalysis.analyze(graphs, translator) [translation:info] File "/home/dje/src/pypy/rpython/translator/backendopt/gilanalysis.py", line 51, in analyze [translation:info] " %s\n%s" % (func, err.getvalue())) [translation:ERROR] Exception: 'no_release_gil' function can release the GIL: <function assemble_loop at 0x3ffacb18ac8> [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.rtyper.lltypesystem.rffi:3)ccall_write__INT_arrayPtr_Unsigned): True [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.rlib.rposix:446)write): True [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.flowspace.specialcase:81)rpython_print_newline): True [translation:ERROR] [GilAnalyzer] analyze_indirect_call([<FunctionGraph of (rpython.jit.backend.zarch.opassembler:889)AssemblerZARCH._emit_gc_load at 0x3ff7c9cb278>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:905)AssemblerZARCH._emit_gc_load_indexed at 0x3ff7ca12e48>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1071)AssemblerZARCH.emit_force_token at 0x3ff7c860898>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:923)AssemblerZARCH.emit_gc_store at 0x3ff7c9b9940>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:937)AssemblerZARCH.emit_gc_store_indexed at 0x3ff7c8aca90>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1185)AssemblerZARCH.emit_increment_debug_counter at 0x3ff7c8ecba8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1032)AssemblerZARCH.emit_zero_array at 0x3ff7c82f860>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:612)AssemblerZARCH.emit_cond_call_gc_wb at 0x3ff7c8acb70>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:615)AssemblerZARCH.emit_cond_call_gc_wb_array at 0x3ff7c8c9d68>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:458)AssemblerZARCH.emit_debug_merge_point at 0x3ff7c860208>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:464)AssemblerZARCH.emit_enter_portal_frame at 0x3ff7c9cb0b8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:467)AssemblerZARCH.emit_leave_portal_frame at 0x3ff7c9d3278>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:964)AssemblerZARCH.emit_copystrcontent at 0x3ff7c963a58>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:967)AssemblerZARCH.emit_copyunicodecontent at 0x3ff7c963320>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:838)AssemblerZARCH.emit_save_exception at 0x3ff7c963cf8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:833)AssemblerZARCH.emit_save_exc_class at 0x3ff7c9636a0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:842)AssemblerZARCH.emit_restore_exception at 0x3ff7c9d3a20>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:298)AssemblerZARCH._genop_call at 0x3ff7c935160>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:365)AssemblerZARCH.emit_cond_call at 0x3ff7c826eb8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1075)AssemblerZARCH._genop_call_assembler at 0x3ff7c9b28d0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:334)AssemblerZARCH._genop_call_may_force at 0x3ff7c8c9a20>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:343)AssemblerZARCH._genop_call_release_gil at 0x3ff7c970a58>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:415)AssemblerZARCH.emit_call_malloc_gc at 0x3ff7c860470>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:419)AssemblerZARCH.emit_call_malloc_nursery at 0x3ff7c86b828>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:441)AssemblerZARCH.emit_call_malloc_nursery_varsize at 0x3ff7c9292e8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:431)AssemblerZARCH.emit_call_malloc_nursery_varsize_frame at 0x3ff7c9b9d30>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:49)AssemblerZARCH.emit_int_mul_ovf at 0x3ff7c920cc0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:193)AssemblerZARCH.emit_int_force_ge_zero at 0x3ff7c860358>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:51)AssemblerZARCH.emit at 0x3ff7ca12630>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:661)AssemblerZARCH.emit_guard_value at 0x3ff7ca12b00>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:680)AssemblerZARCH.emit_guard_class at 0x3ff7ca12978>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:62)AssemblerZARCH.emit at 0x3ff7c9a3320>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:799)AssemblerZARCH.emit_guard_not_forced at 0x3ff7c9b2320>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:728)AssemblerZARCH.emit_guard_gc_type at 0x3ff7c8a9588>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:657)AssemblerZARCH.emit_guard_no_overflow at 0x3ff7c9b2668>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:685)AssemblerZARCH.emit_guard_nonnull_class at 0x3ff7c9b2630>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1174)AssemblerZARCH._genop_same_as at 0x3ff7c9cb4e0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:733)AssemblerZARCH.emit_guard_is_object at 0x3ff7c9a3b38>, <FunctionGraph of (rpython.jit.backend.zarch.assembler:1160)AssemblerZARCH.emit_label at 0x3ff7c963b00>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:753)AssemblerZARCH.emit_guard_subclass at 0x3ff7c970208>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1203)AssemblerZARCH.emit_guard_no_exception at 0x3ff7c970e80>, <FunctionGraph of (rpython.jit.backend.zarch.assembler:1463)notimplemented_op at 0x3ff7c97f2e8>, <FunctionGraph of (rpython.jit.backend.zarch.assembler:1165)AssemblerZARCH.emit_jump at 0x3ff7c98f7f0>, <FunctionGraph of (rpython.jit.backend.zarch.assembler:1192)AssemblerZARCH.emit_finish at 0x3ff7c98fb00>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:646)AssemblerZARCH.emit_guard_true at 0x3ff7c9a3978>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:653)AssemblerZARCH.emit_guard_overflow at 0x3ff7c9d3ef0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:37)AssemblerZARCH.emit_int_sub at 0x3ff7c963f98>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:649)AssemblerZARCH.emit_guard_false at 0x3ff7ca05080>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:51)AssemblerZARCH.emit at 0x3ff7d496d68>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:796)AssemblerZARCH.emit_guard_not_invalidated at 0x3ff87ad71d0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:806)AssemblerZARCH.emit_guard_not_forced_2 at 0x3ff7d734470>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:813)AssemblerZARCH.emit_guard_exception at 0x3ff7c93b5f8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:62)AssemblerZARCH.emit at 0x3ff7cc8d048>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:62)AssemblerZARCH.emit at 0x3ff87b32160>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c899128>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8ec438>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c849748>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:29)AssemblerZARCH.f at 0x3ff7c8490b8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:29)AssemblerZARCH.f at 0x3ff7c8263c8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:29)AssemblerZARCH.f at 0x3ff7c826cc0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:181)AssemblerZARCH.emit_int_signext at 0x3ff7c82f898>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8499b0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8a99b0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8af2b0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8af400>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:250)AssemblerZARCH.emit_float_neg at 0x3ff7c849048>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:254)AssemblerZARCH.emit_float_abs at 0x3ff7c839c88>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:258)AssemblerZARCH.emit_cast_float_to_int at 0x3ff7c839588>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:262)AssemblerZARCH.emit_cast_int_to_float at 0x3ff7c839cc0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:266)AssemblerZARCH.emit_convert_float_bytes_to_longlong at 0x3ff7c8acef0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:270)AssemblerZARCH.emit_convert_longlong_bytes_to_float at 0x3ff7c8acb38>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8accc0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c92e8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c906a58>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c9cf8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c9be0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c9eb8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c9e10>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860080>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860048>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860320>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860be0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860828>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860c50>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860748>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860cc0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860940>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:199)AssemblerZARCH.emit_int_is_zero at 0x3ff7c860438>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:204)AssemblerZARCH.emit_int_is_true at 0x3ff7c860dd8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:177)AssemblerZARCH.emit_int_neg at 0x3ff7c860f98>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:172)AssemblerZARCH.emit_int_invert at 0x3ff7c860fd0>]): True [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.jit.backend.zarch.regalloc:470)Regalloc.walk_operations): True [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.jit.backend.zarch.assembler:840)AssemblerZARCH._assemble): True [translation:ERROR] [translation] start debugger...
/home/dje/src/pypy/rpython/translator/backendopt/gilanalysis.py(51)analyze() -> " %s\n%s" % (func, err.getvalue()))
On Tue, Jan 19, 2016 at 10:47 AM, Richard Plangger <planrichi@gmail.com> wrote:

This is caused by the print statement in the notimplemented_op() function (file rpython/jit/backend/zarch/assembler.py , line 1464). I'll look into improving the output of GraphAnalyzer later today, so it shows more clearly which function caused the problem. -Manuel On 2016-01-19 20:52, David Edelsohn wrote:

Hi Richard, On Tue, Jan 19, 2016 at 12:12 PM, Richard Plangger <planrichi@gmail.com> wrote:
I must admit I did not try to run the whole test suite of PyPy on PPC; only the JIT's. Yes, it is expected to discover such small issues. I expect most of the issues to be in tests not written with that case in mind. A bientôt, Armin.

On Tue, Jan 19, 2016 at 6:12 AM, Richard Plangger <planrichi@gmail.com> wrote:
The default GCC on the buildbot is GCC 5.2 gcc version 5.2.1 20150911 (Debian 5.2.1-17) I just updated Binutils on the system in case something was out of date. I can try translating on the buildbot, if you wish. - David

It seems that I'm using old software on the vm. :) I kicked the build bot to see if the update has any effect. Some of the failing tests (on the buildbot only) are very severe, and it is hard to find out the cause if they do not fail on the development machine... We could try to start a translation, but I'm unsure if it will really work. Cheers, Richard On 01/19/2016 04:40 PM, David Edelsohn wrote:

Hi Richard, On Tue, Jan 19, 2016 at 4:47 PM, Richard Plangger <planrichi@gmail.com> wrote:
Note: at this point where a JIT backend is "mostly done", subtle bugs left in the JIT backend generate hard crashes that show up very rarely. I recommend that you use test_zll_stress_*.py in jit/backend/test/ --- and not just once. For example, leave them running repeatedly for 12 or 24 hours and be happy only if they pass successfully every time. These tests are good at figuring out such rare cases. A bientôt, Armin.

Debian apparently supports all z/Arch processors, so the toolchain defaults to much older processor model. For zEC12 and above, one must explicitly invoke GCC with -march=zEC12. I set CFLAGS and the translation is much happier. The s390x buildbot should explicitly use -march=zEC12. Thanks, David On Tue, Jan 19, 2016 at 10:47 AM, Richard Plangger <planrichi@gmail.com> wrote:

Translation got pretty far, until ... ***%**********++++++++++++++++[37a03] translation-task} [Timer] Timings: [Timer] annotate --- 485.9 s [Timer] rtype_lltype --- 822.1 s [Timer] pyjitpl_lltype --- 933.9 s [Timer] backendopt_lltype --- 255.8 s [Timer] =========================================== [Timer] Total: --- 2497.6 s [translation:info] Error: [translation:info] File "/home/dje/src/pypy/rpython/translator/goal/translate.py", line 318, in main [translation:info] drv.proceed(goals) [translation:info] File "/home/dje/src/pypy/rpython/translator/driver.py", line 549, in proceed [translation:info] result = self._execute(goals, task_skip = self._maybe_skip()) [translation:info] File "/home/dje/src/pypy/rpython/translator/tool/taskengine.py", line 114, in _execute [translation:info] res = self._do(goal, taskcallable, *args, **kwds) [translation:info] File "/home/dje/src/pypy/rpython/translator/driver.py", line 278, in _do [translation:info] res = func() [translation:info] File "/home/dje/src/pypy/rpython/translator/driver.py", line 384, in task_backendopt_lltype [translation:info] backend_optimizations(self.translator) [translation:info] File "/home/dje/src/pypy/rpython/translator/backendopt/all.py", line 142, in backend_optimizations [translation:info] gilanalysis.analyze(graphs, translator) [translation:info] File "/home/dje/src/pypy/rpython/translator/backendopt/gilanalysis.py", line 51, in analyze [translation:info] " %s\n%s" % (func, err.getvalue())) [translation:ERROR] Exception: 'no_release_gil' function can release the GIL: <function assemble_loop at 0x3ffacb18ac8> [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.rtyper.lltypesystem.rffi:3)ccall_write__INT_arrayPtr_Unsigned): True [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.rlib.rposix:446)write): True [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.flowspace.specialcase:81)rpython_print_newline): True [translation:ERROR] [GilAnalyzer] analyze_indirect_call([<FunctionGraph of (rpython.jit.backend.zarch.opassembler:889)AssemblerZARCH._emit_gc_load at 0x3ff7c9cb278>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:905)AssemblerZARCH._emit_gc_load_indexed at 0x3ff7ca12e48>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1071)AssemblerZARCH.emit_force_token at 0x3ff7c860898>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:923)AssemblerZARCH.emit_gc_store at 0x3ff7c9b9940>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:937)AssemblerZARCH.emit_gc_store_indexed at 0x3ff7c8aca90>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1185)AssemblerZARCH.emit_increment_debug_counter at 0x3ff7c8ecba8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1032)AssemblerZARCH.emit_zero_array at 0x3ff7c82f860>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:612)AssemblerZARCH.emit_cond_call_gc_wb at 0x3ff7c8acb70>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:615)AssemblerZARCH.emit_cond_call_gc_wb_array at 0x3ff7c8c9d68>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:458)AssemblerZARCH.emit_debug_merge_point at 0x3ff7c860208>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:464)AssemblerZARCH.emit_enter_portal_frame at 0x3ff7c9cb0b8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:467)AssemblerZARCH.emit_leave_portal_frame at 0x3ff7c9d3278>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:964)AssemblerZARCH.emit_copystrcontent at 0x3ff7c963a58>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:967)AssemblerZARCH.emit_copyunicodecontent at 0x3ff7c963320>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:838)AssemblerZARCH.emit_save_exception at 0x3ff7c963cf8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:833)AssemblerZARCH.emit_save_exc_class at 0x3ff7c9636a0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:842)AssemblerZARCH.emit_restore_exception at 0x3ff7c9d3a20>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:298)AssemblerZARCH._genop_call at 0x3ff7c935160>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:365)AssemblerZARCH.emit_cond_call at 0x3ff7c826eb8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1075)AssemblerZARCH._genop_call_assembler at 0x3ff7c9b28d0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:334)AssemblerZARCH._genop_call_may_force at 0x3ff7c8c9a20>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:343)AssemblerZARCH._genop_call_release_gil at 0x3ff7c970a58>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:415)AssemblerZARCH.emit_call_malloc_gc at 0x3ff7c860470>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:419)AssemblerZARCH.emit_call_malloc_nursery at 0x3ff7c86b828>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:441)AssemblerZARCH.emit_call_malloc_nursery_varsize at 0x3ff7c9292e8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:431)AssemblerZARCH.emit_call_malloc_nursery_varsize_frame at 0x3ff7c9b9d30>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:49)AssemblerZARCH.emit_int_mul_ovf at 0x3ff7c920cc0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:193)AssemblerZARCH.emit_int_force_ge_zero at 0x3ff7c860358>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:51)AssemblerZARCH.emit at 0x3ff7ca12630>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:661)AssemblerZARCH.emit_guard_value at 0x3ff7ca12b00>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:680)AssemblerZARCH.emit_guard_class at 0x3ff7ca12978>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:62)AssemblerZARCH.emit at 0x3ff7c9a3320>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:799)AssemblerZARCH.emit_guard_not_forced at 0x3ff7c9b2320>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:728)AssemblerZARCH.emit_guard_gc_type at 0x3ff7c8a9588>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:657)AssemblerZARCH.emit_guard_no_overflow at 0x3ff7c9b2668>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:685)AssemblerZARCH.emit_guard_nonnull_class at 0x3ff7c9b2630>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1174)AssemblerZARCH._genop_same_as at 0x3ff7c9cb4e0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:733)AssemblerZARCH.emit_guard_is_object at 0x3ff7c9a3b38>, <FunctionGraph of (rpython.jit.backend.zarch.assembler:1160)AssemblerZARCH.emit_label at 0x3ff7c963b00>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:753)AssemblerZARCH.emit_guard_subclass at 0x3ff7c970208>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:1203)AssemblerZARCH.emit_guard_no_exception at 0x3ff7c970e80>, <FunctionGraph of (rpython.jit.backend.zarch.assembler:1463)notimplemented_op at 0x3ff7c97f2e8>, <FunctionGraph of (rpython.jit.backend.zarch.assembler:1165)AssemblerZARCH.emit_jump at 0x3ff7c98f7f0>, <FunctionGraph of (rpython.jit.backend.zarch.assembler:1192)AssemblerZARCH.emit_finish at 0x3ff7c98fb00>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:646)AssemblerZARCH.emit_guard_true at 0x3ff7c9a3978>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:653)AssemblerZARCH.emit_guard_overflow at 0x3ff7c9d3ef0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:37)AssemblerZARCH.emit_int_sub at 0x3ff7c963f98>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:649)AssemblerZARCH.emit_guard_false at 0x3ff7ca05080>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:51)AssemblerZARCH.emit at 0x3ff7d496d68>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:796)AssemblerZARCH.emit_guard_not_invalidated at 0x3ff87ad71d0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:806)AssemblerZARCH.emit_guard_not_forced_2 at 0x3ff7d734470>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:813)AssemblerZARCH.emit_guard_exception at 0x3ff7c93b5f8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:62)AssemblerZARCH.emit at 0x3ff7cc8d048>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:62)AssemblerZARCH.emit at 0x3ff87b32160>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c899128>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8ec438>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c849748>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:29)AssemblerZARCH.f at 0x3ff7c8490b8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:29)AssemblerZARCH.f at 0x3ff7c8263c8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:29)AssemblerZARCH.f at 0x3ff7c826cc0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:181)AssemblerZARCH.emit_int_signext at 0x3ff7c82f898>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8499b0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8a99b0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8af2b0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:40)AssemblerZARCH.f at 0x3ff7c8af400>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:250)AssemblerZARCH.emit_float_neg at 0x3ff7c849048>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:254)AssemblerZARCH.emit_float_abs at 0x3ff7c839c88>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:258)AssemblerZARCH.emit_cast_float_to_int at 0x3ff7c839588>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:262)AssemblerZARCH.emit_cast_int_to_float at 0x3ff7c839cc0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:266)AssemblerZARCH.emit_convert_float_bytes_to_longlong at 0x3ff7c8acef0>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:270)AssemblerZARCH.emit_convert_longlong_bytes_to_float at 0x3ff7c8acb38>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8accc0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c92e8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c906a58>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c9cf8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c9be0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c9eb8>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c8c9e10>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860080>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860048>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860320>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860be0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860828>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860c50>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860748>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860cc0>, <FunctionGraph of (rpython.jit.backend.zarch.helper.assembler:24)AssemblerZARCH.f at 0x3ff7c860940>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:199)AssemblerZARCH.emit_int_is_zero at 0x3ff7c860438>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:204)AssemblerZARCH.emit_int_is_true at 0x3ff7c860dd8>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:177)AssemblerZARCH.emit_int_neg at 0x3ff7c860f98>, <FunctionGraph of (rpython.jit.backend.zarch.opassembler:172)AssemblerZARCH.emit_int_invert at 0x3ff7c860fd0>]): True [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.jit.backend.zarch.regalloc:470)Regalloc.walk_operations): True [translation:ERROR] [GilAnalyzer] analyze_direct_call((rpython.jit.backend.zarch.assembler:840)AssemblerZARCH._assemble): True [translation:ERROR] [translation] start debugger...
/home/dje/src/pypy/rpython/translator/backendopt/gilanalysis.py(51)analyze() -> " %s\n%s" % (func, err.getvalue()))
On Tue, Jan 19, 2016 at 10:47 AM, Richard Plangger <planrichi@gmail.com> wrote:

This is caused by the print statement in the notimplemented_op() function (file rpython/jit/backend/zarch/assembler.py , line 1464). I'll look into improving the output of GraphAnalyzer later today, so it shows more clearly which function caused the problem. -Manuel On 2016-01-19 20:52, David Edelsohn wrote:
participants (4)
-
Armin Rigo
-
David Edelsohn
-
Manuel Jacob
-
Richard Plangger