Created
April 10, 2011 17:47
-
-
Save c-spencer/912564 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pypy ./pypy/pypy/translator/goal/translate.py --opt=jit --gcrootfinder=shadowstack example5.py | |
[translation:info] Translating target as defined by example5 | |
[platform:msg] Setting platform to 'host' cc=None | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/gcctest.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/gcctest.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/gcctest.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/gcctest | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_0.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_0.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_0.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_0 | |
[translation] translate.py configuration: | |
[translation] [translate] | |
[translation] opt = jit | |
[translation] targetspec = example5 | |
[translation] translation configuration: | |
[translation] [translation] | |
[translation] gc = minimark | |
[translation] gcrootfinder = shadowstack | |
[translation] gctransformer = framework | |
[translation] jit = True | |
[translation] list_comprehension_operations = True | |
[translation] withsmallfuncsets = 5 | |
[translation:info] Annotating&simplifying... | |
[translation:info] with policy: pypy.annotation.policy.AnnotatorPolicy | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_1.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_1.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_1.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_1 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_2.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_2.o | |
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_2.c: In function ‘main’: | |
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_2.c:31: error: too many arguments to function ‘getpgrp’ | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_3.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_3.o | |
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_3.c: In function ‘main’: | |
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_3.c:31: error: too many arguments to function ‘setpgrp’ | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_4.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_4.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_4.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_4 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_5.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_5.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_5.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_5 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_6.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_6.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_6.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_6 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_7.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_7.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_7.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_7 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_8.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_8.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_8.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_8 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_9.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_9.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_9.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_9 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_10.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_10.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_10.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_10 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_11.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_11.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_11.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_11 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_12.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_12.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_12.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_12 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_13.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_13.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_13.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_13 | |
.++++++++++++++ | |
[translation:info] -- someobjectness 0% (0 of 15 functions polluted by SomeObjects) | |
[translation:info] RTyping... | |
.+++++++++++++++************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%############# | |
[rtyper] specializing: 100 / 393 blocks (25%) | |
[rtyper] specializing: 200 / 393 blocks (50%) | |
[rtyper] specializing: 300 / 393 blocks (76%) | |
[rtyper] -=- specialized 393 blocks -=- | |
.+++++++++++++++****** | |
[rtyper] specializing: 400 / 551 blocks (72%) | |
. | |
[rtyper] specializing: 500 / 556 blocks (89%) | |
[rtyper] -=- specialized 163 more blocks -=- | |
.+++ | |
[rtyper] -=- specialized 12 more blocks -=- | |
[translation:info] JIT compiler generation... | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_14.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_14.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_14.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_14 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_15.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_15.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_15.o -arch x86_64 -mmacosx-version-min=10.4 -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_15 | |
[platform:Error] Undefined symbols for architecture x86_64: | |
[platform:Error] "_mremap", referenced from: | |
[platform:Error] _main in platcheck_15.o | |
[platform:Error] ld: symbol(s) not found for architecture x86_64 | |
[platform:Error] collect2: ld returned 1 exit status | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_16.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_16.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_16.o -arch x86_64 -mmacosx-version-min=10.4 -ldl -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_16 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -I/usr/include/ffi /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.o | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_double_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:118: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_double_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:138: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_float_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:148: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_float_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:168: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_longdouble_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:178: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_longdouble_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:198: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_pointer_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:208: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_pointer_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:228: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_schar_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:238: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_schar_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:258: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint16_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:268: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint16_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:288: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint32_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:298: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint32_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:318: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint64_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:328: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint64_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:348: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint8_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:358: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint8_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:378: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:388: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sint_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:408: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sshort_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:418: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_sshort_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:438: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uchar_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:448: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uchar_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:468: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint16_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:478: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint16_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:498: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint32_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:508: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint32_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:528: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint64_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:538: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint64_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:558: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint8_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:568: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint8_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:588: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:598: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_uint_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:618: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_ushort_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:628: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_ushort_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:648: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_void_alignment’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:658: warning: comparison is always false due to limited range of data type | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c: In function ‘dump_section_ffi_type_void_type’: | |
[platform:WARNING] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.c:678: warning: comparison is always false due to limited range of data type | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17.o -L/usr/lib -arch x86_64 -mmacosx-version-min=10.4 -lffi -I/usr/include/ffi -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_17 | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_18.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_18.o | |
[platform:Error] /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/platcheck_18.c:20:31: error: valgrind/valgrind.h: No such file or directory | |
. | |
[rtyper] -=- specialized 8 more blocks -=- | |
. | |
[rtyper] -=- specialized 6 more blocks -=- | |
. | |
[rtyper] -=- specialized 5 more blocks -=- | |
. | |
[rtyper] -=- specialized 8 more blocks -=- | |
. | |
[rtyper] specializing: 600 / 601 blocks (99%) | |
[rtyper] -=- specialized 6 more blocks -=- | |
. | |
[rtyper] -=- specialized 5 more blocks -=- | |
. | |
[rtyper] -=- specialized 4 more blocks -=- | |
. | |
[rtyper] -=- specialized 3 more blocks -=- | |
[backendopt:removeassert] Could not remove 0 asserts, but removed 0 asserts. | |
[backendopt:inlining] phase with threshold factor: 32.4 | |
[backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heuristic | |
.++++++++++ | |
[backendopt:inlining] inlined 22 callsites. | |
[backendopt:malloc] starting malloc removal | |
[backendopt:malloc] removed 0 simple mallocs in total | |
[backendopt:mergeifblocks] starting to merge if blocks | |
. | |
[rtyper] -=- specialized 0 more blocks -=- | |
.+ | |
[jitcodewriter:info] making JitCodes... | |
[jitcodewriter:info] there are 3 JitCode instances. | |
.+++++++++++++++************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#######################################################################%#%%%************** | |
++++++++++++++********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########################################################################%%%%%%%*********** | |
+++++++++++*******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%######################################################################%%%%%%%%%%%%******** | |
+++++++++*****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#############################################################################%%%%%%%%%%%%%%%%%***** | |
+++++++****************%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%############################################################################%%%%%%%%%%%%%%%%%*** | |
+++++****************%%%%%%##%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%#%####################################################################################%#%%%%%%%%%%%%* | |
++++***************%%%%%%%%%%#%###%%%%%%%%%%%############################################################################################################%#%%%%%%%%%%%%% | |
+++**************%%%%%%%%%%%%%%%#######################################################################################################################%%%%%%%%%%%%%%%%% | |
++*************%%%%%%%%%%%%%%%%################################################################################################# | |
[annrpython:WARNING] <FunctionGraph of (pypy.jit.backend.x86.regalloc:423)RegAlloc._compute_vars_longevity at 0x10ff30bb8> block@249 op=2/ no precise annotation supplied for iter(SomePBC(can_be_None=True, const=None, subset_of=None),) | |
++*************%%%%%%%%%%%%%%%%#########################################################################################################################%%#%%%%%%%%%%%%% | |
+*************%%%%%%%%%%%%%%%%############################################################################################################################%%%%%%%%%%%%%% | |
*************%%%%%%%%%%################################################################################################################################%%%%%%%%%%%%%%%%% | |
***********%%%%%%#%###################################################################################################################################%%%%%%%%%%%%%%%%%% | |
%*********%%%%%%####################################################################################################################################%%%%%%%%%%%%%%%%%%%% | |
%%%%****%%%%%%%#####################################################################################################################################%%%%%%%%%%%%%%%%%%%% | |
####################################################################################################################################################%%%%%%%%%%%%%%%%%%%% | |
%%%%****%%%%%%%#####################################################################################################################################%%%%%%%%%%%%%%%%%%%% | |
%*********%%%%%%####################################################################################################################################%%%%%%%%%%%%%%%%%%%% | |
***********%%%%%%#%###################################################################################################################################%%%%%%%%%%%%%%%%%% | |
*************%%%%%%%%%%################################################################################################################################%%%%%%%%%%%%%%%%% | |
+*************%%%%%%%%%%%%%%%%############################################################################################################################%%%%%%%%%%%%%% | |
++*************%%%%%%%%%%%%%%%%#########################################################################################################################%%#%%%%%%%%%%%%% | |
+++**************%%%%%%%%%%%%%%%#######################################################################################################################%%%%%%%%%%%%%%%%% | |
++++***************%%%%%%%%%%#%###%%%%%%%%%%%############################################################################################################%#%%%%%%%%%%%%% | |
+++++****************%%%%%%##%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%#%####################################################################################%#%%%%%%%%%%%%* | |
+++++++****************%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%############################################################################%%%%%%%%%%%%%%%%%*** | |
+++++++++*****************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#############################################################################%%%%%%%%%%%%%%%%%***** | |
+++++++++++*******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###%%%%######################################################################%%%%%%%%%%%%******** | |
++++++++++++++********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%########################################################################%%%%%%%*********** | |
***************************%%%%%%%%%%%%%%%%%%%%%%%%%%#######################%%%%%%%%%%%%%%%%%*****%%%%######%%%****++***%%####%***%**********+++++...................... | |
*************#**********%%###%%%%%%%%%%%%%%%%%%%%%############################%%%%%%%%%%%%%%%%****%%%%%%##%%%%****++++*****%***%*%%%%%%%%*******++++.................... | |
************#%**%********%%%%%%%%%%%%%%%%%%%%%%%################################%%#####%%%%%%%%%##%****%%%******+++++********%%%%%%%%%%%%%%%%****++++................... | |
**************%###%%****##%%%%%%%%%%%%%%%%%%%%%##################################%%%##%%%#%##%%#************++++++++********%%%%%%%#######%%%%%***++++.................. | |
*******************%#%**%%%%%%%%%%%%%%%%%%%%%%%##################################%%%%%%%%%%%%%%%**##%*******+++++++*********%%%%#%#########%%%%****+++*#%............... | |
************************%%%%%###%%#%%%%%%##%%%%##################################%%%%%%%%%%%%##%************++++++++********%%%%%%%#######%#%%****++*%%*+............... | |
*******************%%%**%%%%%%%%%%%%%%########%%################################%%%%%%%%%%%%%%%%************+++++++++*********%%%%%%%%%%%%%%%**%##%%**##%##*+*.......... | |
%%%%%%%%%*******%%%###%%*%%%%%%%%%%%%%%#######%%%##############################%%%%%%%%%%%%%%%%************++++++++++++************%%%%********++++*%#*+**++............ | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%% | |
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.DoneWithThisFrameDescrVoid object at 0x0000000104bb4058> has no attribute '_x86_current_depths' | |
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.DoneWithThisFrameDescrVoid object at 0x0000000104bb4058> has no attribute '_x86_adr_jump_offset' | |
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.ExitFrameWithExceptionDescrRef object at 0x0000000104bb4250> has no attribute '_x86_current_depths' | |
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.ExitFrameWithExceptionDescrRef object at 0x0000000104bb4250> has no attribute '_x86_adr_jump_offset' | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%% | |
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.jitprof.Profiler object at 0x0000000104bdafa8> has no attribute 'tk' | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%########### | |
[rtyper] specializing: 1800 / 35058 blocks (5%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%##########################%%%%%%%%%%%%%%%%%*************++++++++++++++++*********** | |
[rtyper:WARNING] prebuilt instance <pypy.jit.backend.llsupport.gc.GcRefList instance at 0x00000001066a8840> has no attribute 'nextindex' | |
[rtyper:WARNING] prebuilt instance <pypy.jit.backend.llsupport.gc.GcRefList instance at 0x00000001066a8840> has no attribute 'oldlists' | |
[rtyper:WARNING] prebuilt instance <pypy.jit.backend.llsupport.gc.GcRefList instance at 0x00000001066a8840> has no attribute 'list' | |
[rtyper:WARNING] prebuilt instance <pypy.jit.backend.llsupport.gc.GcRefList instance at 0x00000001066a8840> has no attribute 'hashtable' | |
%%%%#%%%%%%%%%*** | |
[rtyper] specializing: 3600 / 35694 blocks (10%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%##########################%%%%%%%% | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_param_depth' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_keepalive_target_looktokens' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_arglocs' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_bootstrap_code' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_debug_checksum' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_frame_depth' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_direct_bootstrap_code' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_loop_code' | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%% | |
[rtyper] specializing: 5500 / 36228 blocks (15%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%####################### | |
[rtyper] specializing: 7400 / 36645 blocks (20%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%##########################%%%%%%%%%%%%%%%%%** | |
[rtyper] specializing: 9300 / 37083 blocks (25%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%% | |
[rtyper] specializing: 11200 / 37221 blocks (30%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%% | |
[rtyper] specializing: 13100 / 37373 blocks (35%) | |
%%%%#%%%%%%%%%***%%%%%%**%%% | |
[rtyper] specializing: 15000 / 37460 blocks (40%) | |
%%% | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_param_depth' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_keepalive_target_looktokens' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_arglocs' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_bootstrap_code' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_debug_checksum' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_frame_depth' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_direct_bootstrap_code' | |
[rtyper:WARNING] prebuilt instance <Loop -1, gen=0> has no attribute '_x86_loop_code' | |
%%%%#%%%%%%%%%***%%%%%%**%%% | |
[rtyper] specializing: 17000 / 37579 blocks (45%) | |
%%%%#%%%%%%%%%***%%%%%%** | |
[rtyper] specializing: 18900 / 37664 blocks (50%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%% | |
[rtyper] specializing: 20800 / 37781 blocks (55%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%% | |
[rtyper] specializing: 22800 / 37939 blocks (60%) | |
% | |
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.PropagateExceptionDescr object at 0x000000010475b7f8> has no attribute '_x86_current_depths' | |
[rtyper:WARNING] prebuilt instance <pypy.jit.metainterp.compile.PropagateExceptionDescr object at 0x000000010475b7f8> has no attribute '_x86_adr_jump_offset' | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%% | |
[rtyper] specializing: 24800 / 38090 blocks (65%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%% | |
[rtyper] specializing: 26800 / 38213 blocks (70%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%% | |
[rtyper] specializing: 28800 / 38376 blocks (75%) | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%% | |
[rtyper] specializing: 30900 / 38529 blocks (80%) | |
%%%%#%%%%%%%%%***%%%%%%**%% | |
[rtyper] specializing: 32900 / 38622 blocks (85%) | |
%%%%#%%%%%%%% | |
[rtyper] specializing: 34600 / 38648 blocks (89%) | |
%%%%#%%% | |
[rtyper] specializing: 36400 / 38676 blocks (94%) | |
% | |
[rtyper] specializing: 38300 / 38676 blocks (99%) | |
%% | |
[rtyper] -=- specialized 38074 more blocks -=- | |
%%%% | |
[rtyper] specializing: 38700 / 38721 blocks (99%) | |
[rtyper] -=- specialized 34 more blocks -=- | |
[rtyper] -=- specialized 0 more blocks -=- | |
[translation:info] the JIT compiler was generated | |
[translation:info] lltype back-end optimisations... | |
[backendopt:inlining] phase with threshold factor: 32.4 | |
[backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heuristic | |
%%%%#%%%%%%%%%***%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%##########################%%%%%%%%%%%%%%%%%*************++++++++++++++++****************+++++***%%#%%**+............. | |
%%%%#%%%%%%%%%%%%%%********%%%%%%%%%%%%%%%%%%%%%%%%%%%%###################%%%%%%%%%%%%%%%%%%%*************++++++++++++++++++++++++++++++++++++++**%%###%%*+............. | |
##########%###%%%%#*********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**************++++++++++++++++++++++++++++++++......+++****%%**%............. | |
############%%%%%%%***********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***************++++++++++++.................................+*%%+*%............ | |
############%%%%%%%%************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****************++++++++++++...................................+*%............... | |
############%%%%%%%%**************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*****************+++++++++++++..................................................... | |
##########%%%%%%%%%*******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************+++++++++++++....................................................... | |
%%%%#%%%%%%%%%%%%%************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********************++++++++++++++........................................................ | |
%%%%%%%%%%%%%%%**********************************%%%%%%%%%%%%%%%%%%%%***************************+++++++++++++++......................................................... | |
%%%%%%%%%%%%**********************************************************************************+++++++++++++++........................................................... | |
*******************************************************************************************+++++++++++++++++............................................................ | |
****************************************************************************************++++++++++++++++++.............................................................. | |
***************++********************************************************************+++++++++++++++++++................................................................ | |
**********+++++++++++***********************************************************++++++++++++++++++++++.................................................................. | |
++++++++++++++++++++++++++*************************************************+++++++++++++++++++++++++.................................................................... | |
+++++++++++++++++++++++++++++++++***********************************++++++++++++++++++++++++++++++...................................................................... | |
+++++++++++++++++++++++++++++++++++++++++++++++*******+++++++++++++++++++++++++++++++++++++++++......................................................................... | |
*********************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++............................................................................ | |
**************************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++............................................................................... | |
*****##***********************+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++............................................................................... | |
.......%**++++%%*%##%**************+++++++++........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%%#%%%%%%%%%%*********** | |
.......+****.++++******%%%%%%%%%****++++++.......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*%%###%%%***************** | |
.................++**%%%#######%%****++++....+++++++++++++++++++++++++++++++++++++++%+++++++++++++++++++++++++++++++++++++++++++++++++++++++***%%%%%%%****************** | |
.................++***%%%####%%%%****++++.+++++++++++++++++++++++++++++++++++++++++*%%+++++++++++++++++++++++++++++++++++++++++++++++******#**%%%%%%******************** | |
..................++****%%%%%%%*****+++++++++++++++++++++++++++++++++++++++++++++*%%%*++++++++++++++++++++++++++++++++++++++++******************%%%%******************** | |
...................++++***%%%#*%%%%%**++++++++++++++++++++#+++++++++++++++++++++*#++++++++++++++++++++++++++++++++++++++*************************%#%***%%%%#%%#********* | |
......................++++++**%%###%%**++++++*+++*+*****+**%*++***+++++++++++++++++#*++++++++++++++++++++++++++++++*****************************************%%###%%%**** | |
............................++*****#%##%**++**%%%*%###%%*%%%******%*******+++++***%%#%+++++++++++++++++++++++*************************************************%%%%#%%%#% | |
...........................+++++++*+++++++++++++**%%%%%%*%##%%%%%%%%%%%%******%%%%%%#%***+*******************************************************************%%%%######% | |
.........................+++++++++++++++++++++++++******%%%%%########%%%%%**%%%######%%%***************%*%**************************************************%%%%#######% | |
......................+++++++++++++++++++++++++++++****%%%%%#########%%%%%%*%%%##%#%%%%%************%%%******************************************************%%%%%%%%%%# | |
...................++++++++++++++++++++++++++++++++*****%%%%%#######%%####%%%%#%%%%%%%************************************************************************%%%%%%%%%% | |
.................++++++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%#%#%%#%%%%%%%%%%%%%%%%%%%#%%%%%%%***************************** | |
[backendopt:inlining] inlined 23364 callsites. | |
[backendopt:malloc] starting malloc removal | |
.................++++++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%#%#%%#%%%%%%%%%%%%%%%%%%%#%%%%%%%******************************************%%%%%%%%%%%%%%%## | |
..............++++++++++++++++++++++++++++++++++++++*****#*%%%%%%%%%%%%%%%%%%#####%%%%##%%%%%%%%%#%%##%%%%%%%%%%%%%%%**********#******************%#%%%%%%%%%#%##%%%#### | |
............+++++++++++++++++++++++++++++++++++++++++**********%%%%%%%%%%%%%%%%###########%%%%%%%%%##%%%#%%%%%%%%%%%%%%%%%%**%#****************%%%%%#%%%%%###%########## | |
..........++++++++++++++++++++++++++++++++++++++++++***************%%%%%%%####################%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%#%%************%%%%%%%%%%%%%%%%%########### | |
........++++++++++++++++++++++++++++++++++++++++++**************%%%%#%%#%#%#############################%%%%%###%%%%%%%%%%%%%%%%%%##%%*%#%%%#%%%%%%%%%%%%%%############# | |
.....+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%%%%%%###############################%%##%%%%%%%%%%%%%%%%%%%%%%%%####%#%#%%%%#%%%%%%%%############## | |
...++++ | |
[backendopt:malloc] removed 2850 simple mallocs in total | |
[backendopt:WARNING] constant-folding v1 = getfield(v0, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v1 = getfield(v2, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v1 = getfield(v2, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v4 = getfield(v3, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v4 = getfield(v5, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v4 = getfield(v5, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v7 = getfield(v6, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v7 = getfield(v8, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v10 = getfield(v9, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v10 = getfield(v11, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v13 = getfield(v12, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v13 = getfield(v14, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v13 = getfield(v14, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v16 = getfield(v15, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v16 = getfield(v17, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v16 = getfield(v17, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v19 = getfield(v18, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v19 = getfield(v20, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v22 = getfield(v21, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v22 = getfield(v23, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v22 = getfield(v23, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v25 = getfield(v24, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v25 = getfield(v26, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v25 = getfield(v26, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v1 = getfield(v2, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v4 = getfield(v5, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v7 = getfield(v8, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v10 = getfield(v11, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v13 = getfield(v14, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v16 = getfield(v17, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v19 = getfield(v20, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v22 = getfield(v23, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:WARNING] constant-folding v25 = getfield(v26, ('typeptr')): | |
[backendopt:WARNING] AttributeError: 'NoneType' object has no attribute '_getattr' | |
[backendopt:mergeifblocks] starting to merge if blocks | |
...+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%%%%%#%%####################################%%%%%%%%%%%%%%%%%%%%%%#%####%#%%%%%####%%%%%#### | |
[translation:info] inserting stack checks... | |
. | |
[rtyper] -=- specialized 4 more blocks -=- | |
[translation:info] inserted 176 stack checks. | |
[translation:info] Creating database for generating c source... | |
...+++++++++ | |
[rtyper] -=- specialized 25 more blocks -=- | |
...+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%%%%%#%%####################################%%%%%%%%%%%%%%%%%%%%%%#%####%#%%%%%####%%%%%############## | |
.+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%###%%%%%%########################## | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'old_objects_with_weakrefs' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'young_rawmalloced_objects' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'rawmalloced_total_size' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'young_objects_with_weakrefs' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gctypelayout.GCData object at 0x000000011eb11168> has no attribute 'root_stack_top' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gctypelayout.GCData object at 0x000000011eb11168> has no attribute 'root_stack_base' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_debug_pending' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_list_rpy' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg4' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg0' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg1' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg2' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_callback2_arg3' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'nursery_objects_shadows' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_count_rpy' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'tmpstack' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'next_major_collection_threshold' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'old_rawmalloced_objects' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'objects_to_trace' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'objects_with_finalizers' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute '_debug_seen' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'finalizer_lock_count' | |
[rtyper:WARNING] prebuilt instance <pypy.rpython.memory.gc.minimark.MiniMarkGC object at 0x000000011eb11ec0> has no attribute 'run_finalizers' | |
. | |
[rtyper] specializing: 38800 / 40031 blocks (96%) | |
.+++++++++++++++++++++++++++++++++++++++++++**************%% | |
[rtyper] specializing: 40100 / 40112 blocks (99%) | |
[rtyper] -=- specialized 1362 more blocks -=- | |
.+++++++++++++ | |
[rtyper] specializing: 40200 / 40337 blocks (99%) | |
[rtyper] -=- specialized 225 more blocks -=- | |
[backendopt:inlining] phase with threshold factor: 32.4 | |
[backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heuristic | |
.+++++++++++++++++++++++++++++++++++++++++++**************%%%%%%%###%%%%%%######################################%%%%%%#%%%%%%%%%#%%############%%%#####%################ | |
++++++++++++++++++++++++ | |
[backendopt:inlining] inlined 697 callsites. | |
[backendopt:malloc] starting malloc removal | |
+++++ | |
[backendopt:malloc] removed 28 simple mallocs in total | |
[backendopt:mergeifblocks] starting to merge if blocks | |
+++++++ | |
[rtyper] -=- specialized 15 more blocks -=- | |
+ | |
[c] 1000 nodes [ array: 218 framework rtti: 37 func: 240 group: 1 struct: 553 ] | |
[c] 2000 nodes [ array: 325 framework rtti: 56 func: 551 group: 1 struct: 1156 ] | |
+ | |
[c] 3000 nodes [ array: 461 framework rtti: 161 func: 882 group: 1 struct: 1733 ] | |
[c] 4000 nodes [ array: 560 framework rtti: 166 func: 1193 group: 1 struct: 2283 ] | |
[c] 5000 nodes [ array: 748 framework rtti: 170 func: 1699 group: 1 struct: 2703 ] | |
+++ | |
[rtyper] -=- specialized 44 more blocks -=- | |
[rtyper] -=- specialized 0 more blocks -=- | |
[backendopt:inlining] phase with threshold factor: 32.4 | |
[backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heuristic | |
+++ | |
[backendopt:inlining] inlined 4 callsites. | |
[backendopt:malloc] starting malloc removal | |
[backendopt:malloc] removed 0 simple mallocs in total | |
[backendopt:mergeifblocks] starting to merge if blocks | |
[c:database] GC transformer: finished helpers | |
[c:database] GC transformer: finished tables | |
[c] 6000 nodes [ array: 1034 framework rtti: 170 func: 1733 group: 1 struct: 3434 ] | |
[c] 7000 nodes [ array: 1162 framework rtti: 222 func: 1935 group: 1 struct: 3707 ] | |
[gctransform:info] assigned 619 typeids | |
[gctransform:info] added 12669 push/pop stack root instructions | |
[gctransform:info] inserted 612 write barrier calls | |
[gctransform:info] inserted 609 write_barrier_from_array calls | |
[gctransform:info] found 3 static roots | |
[c] 7164 nodes [ array: 1193 framework rtti: 238 func: 1976 group: 1 struct: 3756 ] | |
[c:database] Completed | |
[translation:info] database for generating C source was created | |
[translation:info] Generating c source... | |
[c:writing] structdef.h | |
[c:writing] forwarddecl.h | |
[c:writing] structimpl.c | |
[c:writing] nonfuncnodes.c | |
[c:writing] implement.c | |
[c:writing] implement_1.c | |
[c:writing] implement_2.c | |
[c:writing] implement_3.c | |
[c:writing] implement_4.c | |
[c:writing] implement_5.c | |
[c:writing] implement_6.c | |
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v19 = gc_gettypeptr_group(v20, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[c:writing] implement_7.c | |
[c:writing] implement_8.c | |
[backendopt:WARNING] constant-folding v1 = gc_gettypeptr_group(v2, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v1 = gc_gettypeptr_group(v2, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v4 = gc_gettypeptr_group(v5, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v4 = gc_gettypeptr_group(v5, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v7 = gc_gettypeptr_group(v8, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v16 = gc_gettypeptr_group(v17, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v10 = gc_gettypeptr_group(v11, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[backendopt:WARNING] constant-folding v10 = gc_gettypeptr_group(v11, (<* <pypy.rpython.lltyp...b48e0>>), (<ItemOffset <Struct ty...s }> 1>), ((<Struct header { tid ... 'tid'))): | |
[backendopt:WARNING] NullAddressError: offset from NULL address | |
[c:writing] implement_9.c | |
[translation:info] written: /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/testing_1.c | |
[translation:info] Compiling c source... | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/testing_1.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/testing_1.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/structimpl.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/structimpl.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/nonfuncnodes.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/nonfuncnodes.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_1.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_1.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_2.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_2.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_3.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_3.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_4.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_4.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_5.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_5.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_6.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_6.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_7.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_7.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_8.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_8.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_9.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_9.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_0.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_0.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_1.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_1.o | |
[platform:execute] gcc-4.0 -c -arch x86_64 -O3 -fomit-frame-pointer -mmacosx-version-min=10.4 -mdynamic-no-pic -msse2 -mfpmath=sse -DPYPY_CPU_HAS_STANDARD_PRECISION -I/Users/chris/Downloads/pypy/pypy/translator/c /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_2.c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_2.o | |
[platform:execute] gcc-4.0 /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/testing_1.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/structimpl.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/nonfuncnodes.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_1.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_2.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_3.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_4.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_5.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_6.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_7.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_8.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/implement_9.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_0.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_1.o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/module_cache/module_2.o -arch x86_64 -mmacosx-version-min=10.4 -Wl,-exported_symbols_list,/var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/dynamic-symbols-1 -lm -I/Users/chris/Downloads/pypy/pypy/translator/c -o /var/folders/C0/C0N0SHjwEOKxr+PGnBbawE+++TI/-Tmp-/usession-default-0/testing_1/example5-c | |
[translation:info] created: /Users/chris/Downloads/example5-c | |
[Timer] Timings: | |
[Timer] annotate --- 4.2 s | |
[Timer] rtype_lltype --- 11.8 s | |
[Timer] pyjitpl_lltype --- 338.3 s | |
[Timer] backendopt_lltype --- 109.7 s | |
[Timer] stackcheckinsertion_lltype --- 4.4 s | |
[Timer] database_c --- 101.4 s | |
[Timer] source_c --- 86.7 s | |
[Timer] compile_c --- 73.7 s | |
[Timer] ========================================== | |
[Timer] Total: --- 730.1 s |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
PyPy tutorial by Andrew Brown | |
example5.py - BF interpreter in RPython, translatable by PyPy, with JIT, and | |
with a get_printable_location function and pure function wrapper | |
for the dictionary lookup. | |
""" | |
import os | |
import sys | |
# So that you can still run this module under standard CPython, I add this | |
# import guard that creates a dummy class instead. | |
try: | |
from pypy.rlib.jit import JitDriver, purefunction | |
except ImportError: | |
class JitDriver(object): | |
def __init__(self,**kw): pass | |
def jit_merge_point(self,**kw): pass | |
def can_enter_jit(self,**kw): pass | |
def purefunction(f): return f | |
def get_location(pc, program, bracket_map): | |
return "%s_%s_%s" % ( | |
program[:pc], program[pc], program[pc+1:] | |
) | |
jitdriver = JitDriver(greens=['pc', 'program', 'bracket_map'], reds=['tape'], | |
get_printable_location=get_location) | |
@purefunction | |
def get_matching_bracket(bracket_map, pc): | |
return bracket_map[pc] | |
def mainloop(program, bracket_map): | |
pc = 0 | |
tape = Tape() | |
while pc < len(program): | |
jitdriver.jit_merge_point(pc=pc, tape=tape, program=program, | |
bracket_map=bracket_map) | |
code = program[pc] | |
if code == ">": | |
tape.advance() | |
elif code == "<": | |
tape.devance() | |
elif code == "+": | |
tape.inc() | |
elif code == "-": | |
tape.dec() | |
elif code == ".": | |
os.write(1, chr(tape.get())) | |
elif code == ",": | |
# read from stdin | |
tape.set(ord(os.read(0, 1)[0])) | |
elif code == "[" and tape.get() == 0: | |
# Skip forward to the matching ] | |
pc = get_matching_bracket(bracket_map, pc) | |
elif code == "]" and tape.get() != 0: | |
# Skip back to the matching [ | |
pc = get_matching_bracket(bracket_map, pc) | |
pc += 1 | |
class Tape(object): | |
def __init__(self): | |
self.thetape = [0] | |
self.position = 0 | |
def get(self): | |
return self.thetape[self.position] | |
def set(self, val): | |
self.thetape[self.position] = val | |
def inc(self): | |
self.thetape[self.position] += 1 | |
def dec(self): | |
self.thetape[self.position] -= 1 | |
def advance(self): | |
self.position += 1 | |
if len(self.thetape) <= self.position: | |
self.thetape.append(0) | |
def devance(self): | |
self.position -= 1 | |
def parse(program): | |
parsed = [] | |
bracket_map = {} | |
leftstack = [] | |
pc = 0 | |
for char in program: | |
if char in ('[', ']', '<', '>', '+', '-', ',', '.'): | |
parsed.append(char) | |
if char == '[': | |
leftstack.append(pc) | |
elif char == ']': | |
left = leftstack.pop() | |
right = pc | |
bracket_map[left] = right | |
bracket_map[right] = left | |
pc += 1 | |
return "".join(parsed), bracket_map | |
def run(fp): | |
program_contents = "" | |
while True: | |
read = os.read(fp, 4096) | |
if len(read) == 0: | |
break | |
program_contents += read | |
os.close(fp) | |
program, bm = parse(program_contents) | |
mainloop(program, bm) | |
def entry_point(argv): | |
try: | |
filename = argv[1] | |
except IndexError: | |
print "You must supply a filename" | |
return 1 | |
run(os.open(filename, os.O_RDONLY, 0777)) | |
return 0 | |
def target(*args): | |
return entry_point, None | |
def jitpolicy(driver): | |
from pypy.jit.codewriter.policy import JitPolicy | |
return JitPolicy() | |
if __name__ == "__main__": | |
entry_point(sys.argv) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
./example5-c mandel.b | |
AARPython traceback: | |
File "implement.c", line 27874, in maybe_compile_and_run__star_4 | |
File "implement.c", line 33559, in compile_and_run_once___pypy_jit_metainterp_jitdr | |
File "implement.c", line 36240, in Assembler386_setup_once | |
File "implement.c", line 41340, in Assembler386__build_failure_recovery | |
File "implement.c", line 49110, in Assembler386__call_footer | |
Fatal RPython error: AssertionError | |
Abort trap |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
A mandelbrot set fractal viewer in brainf*** written by Erik Bosman | |
+++++++++++++[->++>>>+++++>++>+<<<<<<]>>>>>++++++>--->>>>>>>>>>+++++++++++++++[[ | |
>>>>>>>>>]+[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-]>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+ | |
<<<<<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>>+>>>>>>>>>>>>>>>>>>>>>>>>>> | |
>+<<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+[>>>>>>[>>>>>>>[-]>>]<<<<<<<<<[<<<<<<<<<]>> | |
>>>>>[-]+<<<<<<++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<+++++++[-[->>> | |
>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[[-]>>>>>>[>>>>> | |
>>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>> | |
[>>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<< | |
<<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>+++++++++++++++[[ | |
>>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[ | |
>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[ | |
-<<+>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<< | |
<<[>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<< | |
[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>> | |
>>>>[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+ | |
<<<<<<[->>>[-<<<+>>>]<<<[->>>+>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>> | |
>>>>>>>]<<<<<<<<<[>>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<<]>>[->>>>>>>>>+<<<<<<<<<]<< | |
+>>>>>>>>]<<<<<<<<<[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<< | |
<]<+<<<<<<<<<]>>>>>>>>>[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>> | |
>>>>>>>>>>>>>>>>>>>>>>>]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>> | |
>>>>>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+>>>>>>>>>>>>>>>>>>>>>+<<<[<<<<<< | |
<<<]>>>>>>>>>[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<<<<<<<<<[<<<<< | |
<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-<<<+>>>]<<<[-> | |
>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<< | |
<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]<<<<<<<[->+>>>-<<<<]>>>>>>>>>+++++++++++++++++++ | |
+++++++>>[-<<<<+>>>>]<<<<[->>>>+<<[-]<<]>>[<<<<<<<+<[-<+>>>>+<<[-]]>[-<<[->+>>>- | |
<<<<]>>>]>>>>>>>>>>>>>[>>[-]>[-]>[-]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>>>>>>[>>>>> | |
[-<<<<+>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>[-<<<<<<<< | |
<+>>>>>>>>>]>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>>>>>>]+>[- | |
]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>+>>>>>>>>]<<< | |
<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<[->>[-<<+>>]< | |
<[->>+>+<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>[->>>> | |
>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[-]<->>> | |
[-<<<+>[<->-<<<<<<<+>>>>>>>]<[->+<]>>>]<<[->>+<<]<+<<<<<<<<<]>>>>>>>>>[>>>>>>[-< | |
<<<<+>>>>>]<<<<<[->>>>>+<<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>+>>>>>>>> | |
]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<[->>[-<<+ | |
>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[> | |
[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[- | |
]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>>>>> | |
[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | |
]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+> | |
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>++++++++ | |
+++++++[[>>>>>>>>>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>>>>>>>>[-<<<<<<<+ | |
>>>>>>>]<<<<<<<[->>>>>>>+<<<<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[ | |
-]>>>]<<<<<<<<<[<<<<<<<<<]>>>>+>[-<-<<<<+>>>>>]>[-<<<<<<[->>>>>+<++<<<<]>>>>>[-< | |
<<<<+>>>>>]<->+>]<[->+<]<<<<<[->>>>>+<<<<<]>>>>>>[-]<<<<<<+>>>>[-<<<<->>>>]+<<<< | |
[->>>>->>>>>[>>[-<<->>]+<<[->>->[-<<<+>>>]<<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-] | |
+>>>>>>[>>>>>>>>>]>+<]]+>>>[-<<<->>>]+<<<[->>>-<[-<<+>>]<<[->>+<<<<<<<<<<<[<<<<< | |
<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<< | |
[<<<<<<<<<]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>>>>>>>]<<<<< | |
<<<+<[>[->>>>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>>[->>>+<<<]<]>[->>>-<<<<<<<<< | |
<<<<<+>>>>>>>>>>>]<<]>[->>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>>+<<<]<< | |
<<<<<<<<<<]>>>>[-]<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>[-<->]<[->+<]>>>>>>>>]<<< | |
<<<<<+<[>[->>>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>[->>>>+<<<<]>]<[->>>>-<<<<<<< | |
<<<<<<<+>>>>>>>>>>]<]>>[->>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>]>]<[->>>>+<<<< | |
]<<<<<<<<<<<]>>>>>>+<<<<<<]]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>>>>>>>>>]<<<<<<<<< | |
[>[->>>>>+<<<<[->>>>-<<<<<<<<<<<<<<+>>>>>>>>>>>[->>>+<<<]<]>[->>>-<<<<<<<<<<<<<< | |
+>>>>>>>>>>>]<<]>[->>>>+<<<[->>>-<<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>>+<<<]<<<<<<< | |
<<<<<]]>[-]>>[-]>[-]>>>>>[>>[-]>[-]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-< | |
<<<+>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[ | |
[>>>>>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+ | |
[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->> | |
[-<<+>>]<<[->>+>+<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<< | |
<[>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[ | |
>[-]<->>>[-<<<+>[<->-<<<<<<<+>>>>>>>]<[->+<]>>>]<<[->>+<<]<+<<<<<<<<<]>>>>>>>>>[ | |
>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]> | |
>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>[-]>>>>+++++++++++++++[[>>>>>>>>>]<<<<<<<<<-<<<<< | |
<<<<[<<<<<<<<<]>>>>>>>>>-]+[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<< | |
<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[- | |
<<<+>>>]<<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>> | |
>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>>> | |
[-<<<->>>]<<<[->>>+<<<]>>>>>>>>]<<<<<<<<+<[>[->+>[-<-<<<<<<<<<<+>>>>>>>>>>>>[-<< | |
+>>]<]>[-<<-<<<<<<<<<<+>>>>>>>>>>>>]<<<]>>[-<+>>[-<<-<<<<<<<<<<+>>>>>>>>>>>>]<]> | |
[-<<+>>]<<<<<<<<<<<<<]]>>>>[-<<<<+>>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>> | |
>>>>>>]<<<<<<<<+<[>[->+>>[-<<-<<<<<<<<<<+>>>>>>>>>>>[-<+>]>]<[-<-<<<<<<<<<<+>>>> | |
>>>>>>>]<<]>>>[-<<+>[-<-<<<<<<<<<<+>>>>>>>>>>>]>]<[-<+>]<<<<<<<<<<<<]>>>>>+<<<<< | |
]>>>>>>>>>[>>>[-]>[-]>[-]>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>[-]>>>>>[>>>>>>>[-<<<<< | |
<+>>>>>>]<<<<<<[->>>>>>+<<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>+>[-<-<<<<+>>>> | |
>]>>[-<<<<<<<[->>>>>+<++<<<<]>>>>>[-<<<<<+>>>>>]<->+>>]<<[->>+<<]<<<<<[->>>>>+<< | |
<<<]+>>>>[-<<<<->>>>]+<<<<[->>>>->>>>>[>>>[-<<<->>>]+<<<[->>>-<[-<<+>>]<<[->>+<< | |
<<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>[-<<->>]+<<[->>->[-<<<+>>>]< | |
<<[->>>+<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]< | |
<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-<<<+>>>]<<<[->>>+>>>>>>[>+>[-<->]<[->+ | |
<]>>>>>>>>]<<<<<<<<+<[>[->>>>+<<[->>-<<<<<<<<<<<<<+>>>>>>>>>>[->>>+<<<]>]<[->>>- | |
<<<<<<<<<<<<<+>>>>>>>>>>]<]>>[->>+<<<[->>>-<<<<<<<<<<<<<+>>>>>>>>>>]>]<[->>>+<<< | |
]<<<<<<<<<<<]>>>>>[-]>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]]>>>>[-<<<<+> | |
>>>]<<<<[->>>>+>>>>>[>+>>[-<<->>]<<[->>+<<]>>>>>>>>]<<<<<<<<+<[>[->>>>+<<<[->>>- | |
<<<<<<<<<<<<<+>>>>>>>>>>>[->>+<<]<]>[->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<<]>[->>>+<<[ | |
->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>+<<]<<<<<<<<<<<<]]>>>>[-]<<<<]>>>>[-<<<<+>> | |
>>]<<<<[->>>>+>[-]>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+<<+<<<<<]>>>>>>>>>[>>>>>> | |
>>>]<<<<<<<<<[>[->>>>+<<<[->>>-<<<<<<<<<<<<<+>>>>>>>>>>>[->>+<<]<]>[->>-<<<<<<<< | |
<<<<<+>>>>>>>>>>>]<<]>[->>>+<<[->>-<<<<<<<<<<<<<+>>>>>>>>>>>]<]>[->>+<<]<<<<<<<< | |
<<<<]]>>>>>>>>>[>>[-]>[-]>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>[-]>[-]>>>>>[>>>>>[-<<<<+ | |
>>>>]<<<<[->>>>+<<<+<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[-<<<<<+>>>>> | |
]<<<<<[->>>>>+<<<+<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>> | |
>>>>>]+>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+[>+>> | |
>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>[-<<<<+>>>>]<<<<[->>>>+<<<<<[->>[-<<+ | |
>>]<<[->>+>>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[> | |
[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<]>[->>>>>>>>>+<<<<<<<<<]<+>>>>>>>>]<<<<<<<<<[>[- | |
]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+<<<<<<<<<]>>>>>>>>> | |
[>+>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>->>>>>[-<<<<<+>>>>>]<<<<<[->>>>>+<<<< | |
<<[->>>[-<<<+>>>]<<<[->>>+>+<<<<]+>>>>>>>>>]<<<<<<<<[<<<<<<<<<]]>>>>>>>>>[>>>>>> | |
>>>]<<<<<<<<<[>>[->>>>>>>>>+<<<<<<<<<]<<<<<<<<<<<]>>[->>>>>>>>>+<<<<<<<<<]<<+>>> | |
>>>>>]<<<<<<<<<[>[-]<->>>>[-<<<<+>[<->-<<<<<<+>>>>>>]<[->+<]>>>>]<<<[->>>+<<<]<+ | |
<<<<<<<<<]>>>>>>>>>[>>>>[-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>> | |
>>>>>>>>>>>>>>>>>>>]>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>+++++++++++++++[[>>>>>>>> | |
>]<<<<<<<<<-<<<<<<<<<[<<<<<<<<<]>>>>>>>>>-]+>>>>>>>>>>>>>>>>>>>>>+<<<[<<<<<<<<<] | |
>>>>>>>>>[>>>[-<<<->>>]+<<<[->>>->[-<<<<+>>>>]<<<<[->>>>+<<<<<<<<<<<<<[<<<<<<<<< | |
]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>[-<<<<->>>>]+<<<<[->>>>-<[-<<<+>>>]<<<[->>>+< | |
<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]> | |
>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>->>[-<<<<+>>>>]<<<<[->>>>+<<[-]<<]>>]<<+>>>>[-<<<< | |
->>>>]+<<<<[->>>>-<<<<<<.>>]>>>>[-<<<<<<<.>>>>>>>]<<<[-]>[-]>[-]>[-]>[-]>[-]>>>[ | |
>[-]>[-]>[-]>[-]>[-]>[-]>>>]<<<<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-]>>>>]<<<<<<<<< | |
[<<<<<<<<<]>+++++++++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>+>>>>>>>>>+<<<<<<<< | |
<<<<<<[<<<<<<<<<]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+[-]>>[>>>>>>>>>]<<<<< | |
<<<<[>>>>>>>[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<<<<<<[<<<<<<<<<]>>>>>>>[-]+>>>]<<<< | |
<<<<<<]]>>>>>>>[-<<<<<<<+>>>>>>>]<<<<<<<[->>>>>>>+>>[>+>>>>[-<<<<->>>>]<<<<[->>> | |
>+<<<<]>>>>>>>>]<<+<<<<<<<[>>>>>[->>+<<]<<<<<<<<<<<<<<]>>>>>>>>>[>>>>>>>>>]<<<<< | |
<<<<[>[-]<->>>>>>>[-<<<<<<<+>[<->-<<<+>>>]<[->+<]>>>>>>>]<<<<<<[->>>>>>+<<<<<<]< | |
+<<<<<<<<<]>>>>>>>-<<<<[-]+<<<]+>>>>>>>[-<<<<<<<->>>>>>>]+<<<<<<<[->>>>>>>->>[>> | |
>>>[->>+<<]>>>>]<<<<<<<<<[>[-]<->>>>>>>[-<<<<<<<+>[<->-<<<+>>>]<[->+<]>>>>>>>]<< | |
<<<<[->>>>>>+<<<<<<]<+<<<<<<<<<]>+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>+<<< | |
<<[<<<<<<<<<]>>>>>>>>>[>>>>>[-<<<<<->>>>>]+<<<<<[->>>>>->>[-<<<<<<<+>>>>>>>]<<<< | |
<<<[->>>>>>>+<<<<<<<<<<<<<<<<[<<<<<<<<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>>>>[-< | |
<<<<<<->>>>>>>]+<<<<<<<[->>>>>>>-<<[-<<<<<+>>>>>]<<<<<[->>>>>+<<<<<<<<<<<<<<[<<< | |
<<<<<<]>>>[-]+>>>>>>[>>>>>>>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<< | |
<<[<<<<<<<<<]>>>>[-]<<<+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>-<<<<<[<<<<<<< | |
<<]]>>>]<<<<.>>>>>>>>>>[>>>>>>[-]>>>]<<<<<<<<<[<<<<<<<<<]>++++++++++[-[->>>>>>>> | |
>+<<<<<<<<<]>>>>>>>>>]>>>>>+>>>>>>>>>+<<<<<<<<<<<<<<<[<<<<<<<<<]>>>>>>>>[-<<<<<< | |
<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+[-]>[>>>>>>>>>]<<<<<<<<<[>>>>>>>>[-<<<<<<<+>>>>>> | |
>]<<<<<<<[->>>>>>>+<<<<<<<<[<<<<<<<<<]>>>>>>>>[-]+>>]<<<<<<<<<<]]>>>>>>>>[-<<<<< | |
<<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+>[>+>>>>>[-<<<<<->>>>>]<<<<<[->>>>>+<<<<<]>>>>>> | |
>>]<+<<<<<<<<[>>>>>>[->>+<<]<<<<<<<<<<<<<<<]>>>>>>>>>[>>>>>>>>>]<<<<<<<<<[>[-]<- | |
>>>>>>>>[-<<<<<<<<+>[<->-<<+>>]<[->+<]>>>>>>>>]<<<<<<<[->>>>>>>+<<<<<<<]<+<<<<<< | |
<<<]>>>>>>>>-<<<<<[-]+<<<]+>>>>>>>>[-<<<<<<<<->>>>>>>>]+<<<<<<<<[->>>>>>>>->[>>> | |
>>>[->>+<<]>>>]<<<<<<<<<[>[-]<->>>>>>>>[-<<<<<<<<+>[<->-<<+>>]<[->+<]>>>>>>>>]<< | |
<<<<<[->>>>>>>+<<<<<<<]<+<<<<<<<<<]>+++++[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>> | |
+>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<[<<<<<<<<<]>>>>>>>>>[>>>>>>[-<<<<<<->>>>>>]+< | |
<<<<<[->>>>>>->>[-<<<<<<<<+>>>>>>>>]<<<<<<<<[->>>>>>>>+<<<<<<<<<<<<<<<<<[<<<<<<< | |
<<]>>>>[-]+>>>>>[>>>>>>>>>]>+<]]+>>>>>>>>[-<<<<<<<<->>>>>>>>]+<<<<<<<<[->>>>>>>> | |
-<<[-<<<<<<+>>>>>>]<<<<<<[->>>>>>+<<<<<<<<<<<<<<<[<<<<<<<<<]>>>[-]+>>>>>>[>>>>>> | |
>>>]>[-]+<]]+>[-<[>>>>>>>>>]<<<<<<<<]>>>>>>>>]<<<<<<<<<[<<<<<<<<<]>>>>[-]<<<++++ | |
+[-[->>>>>>>>>+<<<<<<<<<]>>>>>>>>>]>>>>>->>>>>>>>>>>>>>>>>>>>>>>>>>>-<<<<<<[<<<< | |
<<<<<]]>>>] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment